Co to jest słowo kluczowe global w Pythonie?

W języku Python, słowo kluczowe global pełni ważną rolę w zarządzaniu zasięgiem zmiennych. Umożliwia ono modyfikowanie zmiennych zdefiniowanych na poziomie globalnym wewnątrz funkcji. Bez global, zmienne przypisane wewnątrz funkcji są domyślnie traktowane jako lokalne. Przeanalizujmy działanie global na konkretnym przykładzie.

Przykład kodu z wyjaśnieniami

# Zmienna globalna zdefiniowana na poziomie głównym programu
global_number = 5

def update_global_number():
    # Użycie słowa kluczowego global
    global global_number
    # Modyfikacja zmiennej globalnej wewnątrz funkcji
    global_number = 10
    print("Zaktualizowana liczba w funkcji:", global_number)

# Wywołanie funkcji, aby zaktualizować global_number
update_global_number()

# Sprawdzenie wartości zmiennej globalnej po wywołaniu funkcji
print("Zaktualizowana liczba poza funkcją:", global_number)

def local_scope_example():
    # Próba modyfikacji zmiennej globalnej bez użycia global
    # Tworzy zmienną lokalną o tej samej nazwie
    global_number = 20
    print("Liczba w lokalnym zakresie funkcji:", global_number)

# Demonstracja, że modyfikacja w lokalnym zakresie nie wpłynęła
# na zmienną globalną
local_scope_example()
print("Liczba globalna po próbie modyfikacji lokalnej:", global_number)

Omówienie

W powyższym przykładzie, na początku zdefiniowana jest zmienna global_number na poziomie globalnym programu. Funkcja update_global_number używa słowa kluczowego global do zadeklarowania, że chce modyfikować zmienną global_number zdefiniowaną na poziomie globalnym, a następnie zmienia jej wartość.

Warto zwrócić uwagę, że modyfikacja zmiennych globalnych wewnątrz funkcji bez użycia global skutkowałaby stworzeniem nowej zmiennej lokalnej o tej samej nazwie, co pokazano w funkcji local_scope_example. Mimo przypisania global_number = 20 wewnątrz funkcji, zmiana ta nie wpłynęła na wartość zmiennej globalnej.

Podsumowanie

Słowo kluczowe global w Pythonie jest potężnym narzędziem umożliwiającym modyfikację zmiennych globalnych bezpośrednio z poziomu funkcji. Należy jednak używać go z rozwagą, ponieważ nadmierna manipulacja zmiennymi globalnymi może prowadzić do kodu, który jest trudny do zrozumienia i utrzymania.

Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs Python od podstaw w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.

Scroll to Top