首頁(yè)技術(shù)文章正文

python類屬性和實(shí)例屬性分別是什么?

更新時(shí)間:2020-09-11 來(lái)源:黑馬程序員 瀏覽量:

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

簡(jiǎn)單的說(shuō),Python中類屬性就是給類對(duì)象中定義的屬性,通常用來(lái)記錄與這個(gè)類相關(guān)的特征。注意:類屬性不會(huì)用于記錄具體對(duì)象的特征。

下面通過(guò)案例演示:

案例需求:

·定義一個(gè)工具類

·每件工具都有自己的name

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

class Tool(object):

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

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

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


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

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


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


猜你喜歡:

Python類和實(shí)例詳解

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

如何理解python的面向?qū)ο笈c面向過(guò)程?

Python下載和安裝圖文教程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!