[英]Global variables in imported modules python
當全局變量都在一個腳本上時,事情就會順利進行。
def foo():
global x
x = 'bar'
goo()
def goo()
global x
print(x)
foo()
將按預期打印bar
。 但是,當我必須從另一個文件導入goo
時,它不起作用,例如
file1.py
from file2 import goo
def foo():
global x
x = 'bar'
goo()
foo()
file2.py
def goo()
global x
print(x)
導致NameError
。 x
如何像在第一種情況下一樣傳遞給導入的 function 而無需將其作為參數顯式傳遞?
你必須設置 <module_name>.<variable_name> = 'bar' 讓它像這樣工作:
import file2
def foo():
file2.x = 'bar'
file2.goo()
foo()
文件1是一樣的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.