如何像C一样在Python文件之间共享全局变量

问题描述 投票:-3回答:2

我有2个文件

#foo.py
 global x
 def foo():
   x = 8


#main.py
from conf import *

 if __name__ == "__main__":
 foo()

如何获取main.py文件中的X值,我在这里仅需使用2个文件现在,如果将x打印或存储到其他变量,则必须打印8

python extern
2个回答
0
投票

如果您在foo()内部将x声明为全局变量,则可以在main.py中进行类似操作以获取变量x,这意味着您将访问全局变量x,而不是局部变量x。

#foo.py
 x =10
def foo():
   x = 8
   print(" in foo x= " ,x)


#main.py
from conf import *
from foo import x, foo

if __name__ == "__main__":
   print(" x imported from foo.py  = ", x)
   foo()

输出

x imported from foo.py  =  10
in foo x=  8

0
投票

您必须正确使用global关键字

# foo.py
x = None

def foo():
    global x
    x = 8

#main.py
# this imports everything from foo in main
from foo import *

if __name__ == "__main__":
foo()
print(x)
© www.soinside.com 2019 - 2024. All rights reserved.