python中访问类和对象属性的符号

python中访问类和对象属性的符号,python,oop,python-2.7,python-3.x,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

在以下代码中

>>> 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'

);在使用符号fooo.a时,我们希望a是一个类/静态变量?我是对的还是其他原因?

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

y = fooo()
y.a = 5

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

基本上,是的。你不应该认为
fooo().a
本身就是一种符号;这是两个独立事物的组合。在第二个示例中,
fooo()
本身创建一个实例。然后
.a
访问其属性。
y = fooo()
y.a = 5