在python文件之间传递常量时出现“名称未定义错误”

时间:2019-05-23 10:31:24

标签: python

我有一个constants.py文件,其中我声明了一些常量值,但是将它们导入到另一个文件似乎只允许我引用其中一个。

在constants.py文件中,我声明了:

GREEN = (0, 255, 0)
FACT = 1
SCREEN_SIZE = (300,300)

在game.py文件中,我包含了导入语句:

from constants import *

在代码中包含以下语句会导致“名称未定义”错误:

print(FACT) - doesn't work
print(SCREEN_SIZE) - works fine
print(GREEN) - doesn't work

我不明白为什么一个可行,而其他却不可行,希望有人能帮忙-肯定会很简单!

我尝试了不同的导入方式,但是还没有解决这个问题:

import constants
from constants import *

1 个答案:

答案 0 :(得分:0)

像这样导入整个constants.py:

import constants

然后通过在库名前添加前缀来引用这些值:

print(constants.FACT) - works fine
print(constants.SCREEN_SIZE) - works fine
print(constants.GREEN) - works fine

这使其他读者更容易找到常量的定义位置,因为每个引用处都有提示。