我有一个实用程序模块,该模块定义了一些可以重复使用的函数,并且还添加了一些常量。我在导入这些常量时遇到了麻烦...

假设我在A类中工作,并且我的常量中有一个类也称为A

from Utils.Constants import A as DistinctA
class A(object):
    .... Implementation ....
    some_var = DistinctA.SOME_CONSTANT

class Utils(object):
  class Constants(object):
    class A(object):
      SOME_CONSTANT = "Constant"


我可能使它像Java一样,所以如果这样,只需用尺子大喊/打我的指关节即可。

当我尝试导入该类时,出现错误,提示没有名为常量的模块。这个python新手缺少什么?

最佳答案

“ from”之后的标识符必须指向模块;您不能参考课程。尽管我没有资格说出您的嵌套类是否为“ pythonic”,但我从未见过如此做过。我更倾向于创建一个包含A类的constants.py模块。然后,您可以这样做:

from constants import A as DistinctA


如果您确实希望这些常量存在于utils中,则可以将utils打包:

utils/
utils/__init__.py
utils/constants.py


然后,您可以执行以下操作:

from utils.constants import A as DistinctA

关于python - Python导入问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4556060/

10-13 02:07