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

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

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

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

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

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

案例需求:

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

·每件工具都有自己的name

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

class Tool(object):

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

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

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


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

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


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


猜你喜歡:

Python類(lèi)和實(shí)例詳解

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

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

Python下載和安裝圖文教程

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