【发布时间】:2013-10-04 22:09:20
【问题描述】:
在下面的代码中;
>>> class fooo():
def __init__(self):
self.a=[]
>>> fooo().a
[]
>>> fooo.a
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
fooo.a
AttributeError: class fooo has no attribute 'a'
我对用于访问变量“a”的符号 fooo().a 和 fooo.a 有点困惑。是不是每当我们使用 fooo().aa 时抛出 foo() 类的对象并且它相当于这样做:
>>> m=fooo()
>>> m.a
[]
;在使用符号 fooo.a 时,我们期望 a 是一个类/静态变量?我是对的还是其他原因?
【问题讨论】:
-
基本上,是的。您不应该将
fooo().a本身视为一种符号;它是两个独立事物的组合。正如在您的第二个示例中,fooo()自己创建了一个实例。然后.a访问它的属性。
标签: python oop python-2.7 python-3.x