6
class SomeClass:
SOME_CONST = "hello"
SOME_OTHER_CONST = SomeClass.SOME_CONST + " world"
这不起作用。参照另一类变量定义中的类变量
NameError: name 'SomeClass' is not defined
有没有什么办法可以引用类内的类?
class SomeClass:
SOME_CONST = "hello"
SOME_OTHER_CONST = SomeClass.SOME_CONST + " world"
这不起作用。参照另一类变量定义中的类变量
NameError: name 'SomeClass' is not defined
有没有什么办法可以引用类内的类?
你不需要在类名
class SomeClass:
SOME_CONST = "hello"
SOME_OTHER_CONST = SOME_CONST + " world"
@AramKocharyan PHP需要引用该类来访问类变量,因为它具有更为标准的类概念。在python中,虚拟机进入本地作用域,并执行'class'语句下的所有代码,就像它是一个函数一样。然后它将结果名称空间转换为类。所以你可以用Python做这件事,因为它已经在同一个名字空间。 – aaronasterling 2012-04-06 05:34:57
是否有你需要的类名什么特别的原因,或者你只是需要访问其他类的属性?您将它视为同一范围内的另一个变量,例如'SOME_OTHER_CONST = SOME_CONST' – Darthfett 2012-04-06 05:22:06
前几天有人问这个问题。最简洁的答案是不。长答案有时使用元类或其他东西。请参阅[这里](http://stackoverflow.com/questions/9987018/why-does-self-outside-a-functions-parameters-give-a-not-defined-error/9987102#9987102)了解为什么。 – aaronasterling 2012-04-06 05:22:39