class a(object):
b = 'bbbb'
def __init__(self):
self.c = 'cccc'
Run Code Online (Sandbox Code Playgroud)
我认为他们是一样的; 有什么不同吗?
b是一个类变量,c而是一个实例变量.
>>> a.b
'bbbb'
>>> a.c
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'a' has no attribute 'c'
>>> a().b
'bbbb'
>>> a().c
'cccc'
Run Code Online (Sandbox Code Playgroud)
类的实例可能具有不同的实例变量值,但它们共享相同的类变量.