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.