python類屬性和實例屬性


1. 類屬性與實例屬性基本認識

實例屬性是一個類的實例所特有的,這意味着對於兩個不同的實例,實例屬性經常是不同的。

類屬性是類所特有的,所有實例共享這個類屬性,類屬性經常定義在類的開頭,方法的外面。

如下圖所示,類屬性既可以通過實例調用,也可以直接通過類名調用,如果要改變類屬性,必須通過類名.類屬性的方式:

2. 類屬性的一個用途舉例

查看如下代碼,假如類屬性counter代表機器人的個數,每增加或刪除一個機器人都可以方便的對總的機器人數進行修改:

class C: 

    counter = 0
    
    def __init__(self): 
        type(self).counter += 1

    def __del__(self):
        type(self).counter -= 1

if __name__ == "__main__":
    x = C()
    print("Number of instances: : " + str(C.counter))
    y = C()
    print("Number of instances: : " + str(C.counter))
    del x
    print("Number of instances: : " + str(C.counter))
    del y
    print("Number of instances: : " + str(C.counter))
返回值如下:
Number of instances: : 1 Number of instances: : 2 Number of instances: : 1 Number of instances: : 0

注意在上述代碼中出現了type(self),這個就等於類C。

參考鏈接:

[1] https://www.python-course.eu/python3_class_and_instance_attributes.php

[2] https://dzone.com/articles/python-class-attributes-vs-instance-attributes


免責聲明!

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



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