Zakres zmiennej globalnej Pythona
Próbuję zadeklarować niektóre zmienne globalne w niektórych funkcjach i zaimportować plik z tymi funkcjami do innego. Jednak stwierdzam, że uruchomienie funkcji w drugim pliku nie spowoduje utworzenia zmiennej globalnej. Próbowałem utworzyć inną zmienną o tej samej nazwie, ale kiedy wydrukuję zmienną, wypisuje ona wartość drugiego pliku, a nie wartość globalną
globals.py
def default():
global value
value = 1
main.py
from globals import *
value = 0
def main():
default()
print value
if __name__=='__main__':
main()
to wydrukuje 0. jeśli nie mamvalue = 0
w głównym programie wystąpi błąd (wartość niezdefiniowana).
Jeśli zadeklarujęvalue
wglobals.py
poza funkcją,main.py
przyjmie wartość globalnąvalue
, zamiast ustawionej wartościdefault()
Jaki jest właściwy sposóbvalue
być zmienną globalną w Pythonie?