让我们从使用全局变量的基本代码开始:
def fun():
print(gvar)
gvar = 3
fun()
当然会在控制台中显示“ 3”。
然后,将我的函数“ fun”移动到模块“ mymod”中,然后执行以下操作:
from mymod import *
gvar=3
fun()
结果是NameError异常(gvar
未找到)
我该如何解决?我不得不提到,我需要访问名称并不总是相同的各种全局变量(上下文很复杂,因此我现在不对其进行描述,以解决我目前遇到的问题)
python具有的唯一全局变量是模块范围的。因此,根据您的情况,该变量gvar
在模块中不可见mymod
。
如果要gvar
在导入的模块中使用,请将gvar
作为参数传递给函数mymod
。如果gvar
属于mymod
,则在此处定义。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句