以下是我的文件和输出。我只想得到func1()
后面的x
的值,作为20
。I have already referred to this answer。我想知道为什么这样不行?有必要用import globalVar
代替from globalVar import *
在球蛋白.py在
#globalVar.py
x=10
趣味1.py
^{pr2}$在主.py在
from fun1 import *
from globalVar import *
print("X before fun1=",x)
func1()
print("X after fun1=",x)
输出:
X before fun1= 10
X in fun1 20
X after fun1= 10
这不起作用的原因是 fun1()方法调用主.py不返回x ie 20的更新值。 这就是为什么更新的x的作用域只在fun1中,一旦执行结束,该值就会丢失&当您第三次打印x的值时,它只引用全局变量
你可以做些什么使它生效 1.fun1.py
2。球蛋白.py在
^{pr2}$3。主.py在
更新答案:
试试这个:
球蛋白.py:
fun1.py:
^{pr2}$主.py:
勾选这个,这将根据你的问题给你想要的输出。在
希望这对你有帮助!谢谢你!:)
注意:全局表字典是当前模块的字典(在函数内部,这是定义它的模块,而不是调用它的模块)
相关问题 更多 >
编程相关推荐