我注意到python不会让你添加一个类的实例作为类定义的静态成员。自己类型的python静态字段
>>> class Foo:
... A = Foo()
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in Foo
NameError: name 'Foo' is not defined
但以下两种工作:
>>> class Foo:
... pass
...
>>> class Foo:
... A = Foo()
...
>>> Foo.A
<__main__.Foo instance at 0x100854440>
或
>>> class Foo:
... pass
...
>>> Foo.A = Foo()
>>>
>>> Foo.A
<__main__.Foo instance at 0x105843440>
我无法找到任何启发的代码示例或解释。为什么python以不同的方式处理第一个案例? A在以后两个案例中的每一个案例中都有哪些?