【发布时间】:2017-10-17 10:11:18
【问题描述】:
我确定这是重复的,但我目前无法找到它。
在这个例子中,为什么没有定义self?
class State(Enum):
MY_STATE = type(self)('foo', 'bar')
def __init__(self, some, thing):
self.some = some
self.thing = thing
将type(self) 替换为State 也会返回NameError,但对于State。
【问题讨论】:
-
self指的是实例。为什么要在class body中定义呢?它仅在方法内部可用,并且仅当您将第一个参数命名为self时才可用。 -
你到底想要代码做什么?
-
@MenglongLi 为
Enum的成员添加参数 -
为什么需要给枚举成员加参数?你到底想做什么?
-
投票结束,因为答案意味着我无法删除。我陷入了一个只需要后退一步的 XY 问题。谢谢大家的时间!
标签: python python-3.x enums python-3.6