【发布时间】:2014-06-16 19:47:06
【问题描述】:
在文件lib.py中我定义了一个函数类C和一个枚举类E,如下:
class C:
a = None
def meth(self, v):
if v == E.v1:
print("In C.meth().v1")
a = E.v1
if v == E.v2:
print("In C.meth().v2")
a = E.v2
from enum import Enum
class E(Enum):
print("In Enum")
v1 = 1
v2 = 2
然后,我将这两个类导入我的模块main.py 并使用枚举:
from lib import C
from lib import E
c = C()
c.meth(E.v1)
运行时,我得到以下输出:
In EnumIn C.meth().v1
现在,由于 Python 是一种解释型语言(至少在使用 IDLE 时),我预计在方法 meth 中引用枚举时会出错。由于没有错误,而且似乎运行正常,我想知道在同一模块中以及不同模块之间引用类的(排序)规则是什么?为什么没有错误?
【问题讨论】:
标签: python class python-3.x enums