2024-04-26 09:44:11 发布
网友
我肯定这是重复的,但我现在找不到。你知道吗
在这个例子中,为什么没有定义self?你知道吗
self
class State(Enum): MY_STATE = type(self)('foo', 'bar') def __init__(self, some, thing): self.some = some self.thing = thing
用State替换type(self)也会返回NameError,但对于State。你知道吗
State
type(self)
NameError
self没有定义,因为您在类变量中引用它,而不是实例变量。它类似于在另一种语言的static方法中使用this。对于State也是一样,在引用它时,类还没有定义,名称也不存在。你知道吗
static
this
为什么不这样提取另一个类:
from enum import Enum class MyClass: def __init__(self, some, thing): self.some = some self.thing = thing class State(Enum): MY_STATE = MyClass('foo', 'bar') print(State.MY_STATE == State.MY_STATE)
self
没有定义,因为您在类变量中引用它,而不是实例变量。它类似于在另一种语言的static
方法中使用this
。对于State
也是一样,在引用它时,类还没有定义,名称也不存在。你知道吗为什么不这样提取另一个类:
相关问题 更多 >
编程相关推荐