【发布时间】:2018-02-21 09:56:40
【问题描述】:
当我在类代码块中使用任何类变量时,我会收到未定义的错误。我该如何解决?
例子
class A():
__hidden_number__ = 5
__no_hidden_number__ = A.__hidden_number__ + 4 # to cause error. why ?
谢谢。
【问题讨论】:
-
试试
__no_hidden_number__ = __hidden_number__ + 4 -
因为
A尚未定义。 -
@juanpa.arrivillaga 不。您在
A范围内。你指的是A.A。检查我的答案并测试 sn-p。 -
@Jean-FrançoisFabre 这听起来有误导性。
A有一个外部作用域。如果封闭的命名空间中已经有一个A,A.__hidden_number__将引用它。在类声明中,您当前声明的类的 name 不是解析层次结构的一部分。 -
@dhke:你是说我没有使用正确的词汇?可能的。你能帮忙吗?
标签: python