用于访问python中的类和对象属性的表示法

时间:2013-09-28 19:02:43

标签: python oop python-2.7 python-3.x

在以下代码中;

>>> 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()时,抛出fooo()类的对象并且它相当于做:

>>> m=fooo()
>>> m.a
[]

使用符号fooo.a时,我们期望a是一个类/静态变量?我是对的还是别的?

1 个答案:

答案 0 :(得分:0)

a是一个实例属性。可以使用fooo().a访问它。但请注意,这样做只会丢弃创建的fooo实例;一个更明智的例子是:

y = fooo()
y.a = 5

在创建类的实例之前,它不存在。是的,你是完全正确的。