我有一个文件“screenDisplay”和“globalvars”在同一个目录中。globalvars有一个叫做“Gameismute”的bool。在screenDisplay的顶部我有from globalvars import *
。如果我在screenDisplay中使用的实例中没有使用“globalvars.gameismute”,那么我得到UnboundLocalError: local variable 'gameIsMuted' referenced before assignment
。如果我使用它,那么我得到NameError: name 'globalvars' is not defined
。我已经检查了拼写。我能做些什么来解决这个问题
如果要使用全局变量,请按如下方式导入它们:
或者(可能更好):
引用变量的方式随之改变:
文件:
globalvars.py
两个不同的用法示例:
文件globals_test1.py:
文件globals_test2.py:
请注意用法语法中的差异。如果代码使用
from blah import *
语法,则不需要限定符名称。但是对于简单的import blah
,使用前缀blah.var_name
如果您不知道使用哪一种,或者没有偏好,请使用后一种形式。这使得代码更容易理解,因为它更清楚变量的来源
相关问题 更多 >
编程相关推荐