首頁技術文章正文

python類屬性和實例屬性分別是什么?

更新時間:2020-09-11 來源:黑馬程序員 瀏覽量:

實例屬性即同一個類的不同實例,其值是互不關聯(lián)的,也不會互相影響的,定義時使用“self.屬性名”,調用時也使用“self.屬性名”。
類屬性則是同一個類的所有實例所共有的,直接在類體中獨立定義,引用時要使用“類名.類變量名”形式來引用,只要是某個實例對其進行修改,就會影響其他的所有這個類的實例。

簡單的說,Python中類屬性就是給類對象中定義的屬性,通常用來記錄與這個類相關的特征。注意:類屬性不會用于記錄具體對象的特征。

下面通過案例演示:

案例需求:

·定義一個工具類

·每件工具都有自己的name

·需求 —— 知道使用這個類,創(chuàng)建了多少個工具對象?

class Tool(object):

    # 使用賦值語句,定義類屬性,記錄創(chuàng)建工具對象的總數(shù)
    count = 0

    def __init__(self, name):
        self.name = name

        # 針對類屬性做一個計數(shù)+1
        Tool.count += 1


# 創(chuàng)建工具對象
tool1 = Tool("斧頭")
tool2 = Tool("榔頭")
tool3 = Tool("鐵鍬")

# 知道使用 Tool 類到底創(chuàng)建了多少個對象?
print("現(xiàn)在創(chuàng)建了 %d 個工具" % Tool.count)


以上我們介紹了,什么是Python中的類屬性和實例屬性。簡單的說,類屬性就是給類對象中定義的屬性,通常用來記錄與這個類相關的特征,而實例屬性同一個類下面具體實例的屬性,實例屬性的值和同類下其他實例的屬性值互不關聯(lián)。


猜你喜歡:

Python類和實例詳解

Python轉換數(shù)據(jù)類型的函數(shù)有哪些?

如何理解python的面向對象與面向過程?

Python下載和安裝圖文教程

分享到:
在線咨詢 我要報名
和我們在線交談!