Python 类变量和实例变量
类变量紧接在类名后面定义,相当于java和c++的static变量
实例变量在__init__()方法中定义,相当于java和c++的普通变量
在 Java 中,静态变量 (在 Python 中叫类属性) 和实例变量 (在 Python 中叫数据属性) 两者都是紧跟在类定义之后定义的 ;在 Python 中,只有类属性可以定义在这里,数据属性定义在 __init__ 方法中。
类属性可以作为类级别的常量来使用 (这就是为什么我们在 MP3FileInfo 中使用它们),但是它们不是真正的常量。你也可以修改它们。
在 Python 中没有常量。如果你试图努力的话什么都可以改变。这一点满足 Python 的核心原则之一:坏的行为应该被克服而不是被取缔。如果你真正想改变 None 的值,也可以做到,但当无法调试的时候别来找我。
>>> class test(object): count = 0 # 类变量 def __init__(self, c): self.count = c # 实例变量 self.__class__.count = self.__class__.count + 1 >>> a = test(3) >>> a.count 3 >>> test.count 1 >>> b = test(-1) >>> b.count -1 >>> test.count 2 >>>
参考了: http://www.cnblogs.com/youxin/archive/2013/05/17/3083468.html