Python的類變量和實例變量


類變量緊接在類名后面定義,相當於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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM