類變量緊接在類名后面定義,相當於java和c++的static變量
實例變量在__init__里定義,相當於java和c++的普通變量
在 Java 中,靜態變量 (在 Python 中叫類屬性) 和實例變量 (在 Python 中叫數據屬性) 兩者都是緊跟在類定義之后定義的 (一個有 static 關鍵字,一個沒有)。在 Python 中,只有類屬性可以定義在這里,數據屬性定義在 __init__ 方法中。 |
類屬性可以作為類級別的常量來使用 (這就是為什么我們在 MP3FileInfo 中使用它們),但是它們不是真正的常量。你也可以修改它們。
![]() |
|
在 Python 中沒有常量。如果你試圖努力的話什么都可以改變。這一點滿足 Python 的核心原則之一:壞的行為應該被克服而不是被取締。如果你真正想改變 None 的值,也可以做到,但當無法調試的時候別來找我。 |
>>> class test:
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://woodpecker.org.cn/diveintopython/object_oriented_framework/class_attributes.html