W Pythonie zmienne globalne mogą być użyteczne do przechowywania danych, które powinny być dostępne w wielu modułach. Udostępnianie zmiennych globalnych między modułami może być nieco mylące dla początkujących programistów. W tym artykule pokażemy, jak skutecznie zarządzać zmiennymi globalnymi i udostępniać je między różnymi modułami Pythona.
Przykład: Udostępnianie zmiennej globalnej
Załóżmy, że chcemy mieć zmienną globalną dostępną w kilku modułach, która przechowuje nazwę aplikacji. Stworzymy moduł config.py
, który będzie przechowywać nasze zmienne globalne, a następnie udostępnimy te zmienne innym modułom.
Moduł config.py
# Moduł config.py zawiera zmienne globalne
app_name = "SuperApp"
Moduł main.py
# Importujemy moduł config, aby uzyskać dostęp do zmiennych globalnych
import config
def print_app_name():
# Wyświetlamy wartość zmiennej globalnej app_name
print("Nazwa aplikacji:", config.app_name)
if __name__ == "__main__":
print_app_name() # Wywołanie funkcji wyświetlającej nazwę aplikacji
Moduł module1.py
# Ten moduł również importuje config, aby skorzystać ze zmiennej globalnej
import config
def change_app_name(new_name):
# Zmieniamy wartość zmiennej globalnej
config.app_name = new_name
# Zmieniamy nazwę aplikacji na "AmazingApp"
change_app_name("AmazingApp")
Aby zademonstrować działanie, uruchom najpierw module1.py
, który zmieni wartość zmiennej globalnej app_name
, a następnie main.py
, aby zobaczyć, czy zmiana została prawidłowo odzwierciedlona.
Podsumowanie
Udostępnianie zmiennych globalnych między modułami w Pythonie jest prostym procesem, który wymaga jedynie zdefiniowania tych zmiennych w osobnym module, a następnie importowania tego modułu w miejscach, gdzie chcemy tych zmiennych używać. Dzięki temu podejściu, zmiany wartości zmiennych globalnych są widoczne we wszystkich modułach, które te zmienne importują. Jest to szczególnie przydatne w większych projektach, gdzie konieczne jest zarządzanie konfiguracją aplikacji lub współdzielenie danych między różnymi częściami programu.
Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Python w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.