濮阳杆衣贸易有限公司

主頁 > 知識庫 > python3中類的重點與難點:類屬性和實例屬性的區(qū)別說明

python3中類的重點與難點:類屬性和實例屬性的區(qū)別說明

熱門標簽:北京電銷外呼系統(tǒng)加盟 朝陽手機外呼系統(tǒng) 地圖標注面積 所得系統(tǒng)電梯怎樣主板設置外呼 儋州電話機器人 佛山400電話辦理 小蘇云呼電話機器人 北瀚ai電銷機器人官網(wǎng)手機版 市場上的電銷機器人

先看圖理解:

類屬性就相當與全局變量,實例對象共有的屬性,實例對象的屬性為實例對象自己私有。

類屬性就是類對象(Tool)所擁有的屬性,它被所有類對象的實例對象(實例方法)所共有,在內(nèi)存中只存在一個副本,這個和C++中類的靜態(tài)成員變量有點類似。對于公有的類屬性,在類外可以通過類對象和實例對象訪問

類屬性

class People(object):
    name = 'Tom'  #公有的類屬性
    __age = 12     #私有的類屬性
 
p = People() 
print(p.name)           #正確
print(People.name)      #正確
print(p.__age)            #錯誤,不能在類外通過實例對象訪問私有的類屬性
print(People.__age)        #錯誤,不能在類外通過類對象訪問私有的類屬性

實例屬性(對象屬性)

class People(object):
    address = '山東' #類屬性
    def __init__(self):
        self.name = 'xiaowang' #實例屬性
        self.age = 20 #實例屬性
 
p = People()
p.age =12 #實例屬性
print(p.address) #正確
print(p.name)    #正確
print(p.age)     #正確
 
print(People.address) #正確
print(People.name)    #錯誤
print(People.age)     #錯誤

通過實例(對象)去修改類屬性

class People(object):
    country = 'china' #類屬性
print(People.country)
p = People()
print(p.country)
p.country = 'japan' 
print(p.country)      #實例屬性會屏蔽掉同名的類屬性
print(People.country)
del p.country    #刪除實例屬性
print(p.country)

總結(jié)

如果需要在類外修改類屬性,必須通過類對象去引用然后進行修改。如果通過實例對象去引用,會產(chǎn)生一個同名的實例屬性,這種方式修改的是實例屬性,不會影響到類屬性,并且之后如果通過實例對象去引用該名稱的屬性,實例屬性會強制屏蔽掉類屬性,即引用的是實例屬性,除非刪除了該實例屬性。

Python:類屬性和實例屬性總結(jié)

#類屬性:類對象所擁有的的屬性,它被所有類對象的實例對象共有,類對象和實例對象可以訪問
#實例屬性:實例對象所擁有的屬性,只能通過實例對象訪問
class Student:
    name='李明'  #類屬性
    def __init__(self,age):
        self.age=age  #實例屬性
        pass
    pass
Student.name='鄧超'   #通過類對象去修改類屬性  因為name屬于類屬性
print('-----------李明的數(shù)據(jù)------------------')
lm=Student(18)   #實例化對象,并傳入?yún)?shù)
print(lm.age)    #通過實例對象去訪問實例屬性
print(lm.name) #通過實例對象去訪問類屬性
# lm.name='華晨宇'  #不能通過實例對象對類屬性進行修改
print(lm.name)
print('--------------張三的數(shù)據(jù)--------------')
zs=Student(20)
print(zs.age)
print(zs.name)
print('------------通過類對象Student去訪問name----------------')
print(Student.name)
# print(Student.age)   注:不能通過類對象去訪問實例屬性

運行結(jié)果

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Python類屬性與實例屬性用法分析
  • Python 類屬性與實例屬性,類對象與實例對象用法分析
  • Python類和實例的屬性機制原理詳解

標簽:龍巖 定西 金融催收 江蘇 商丘 云南 寧夏 酒泉

巨人網(wǎng)絡通訊聲明:本文標題《python3中類的重點與難點:類屬性和實例屬性的區(qū)別說明》,本文關(guān)鍵詞  python3,中類,的,重點,與,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python3中類的重點與難點:類屬性和實例屬性的區(qū)別說明》相關(guān)的同類信息!
  • 本頁收集關(guān)于python3中類的重點與難點:類屬性和實例屬性的區(qū)別說明的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    鲜城| 锦州市| 新安县| 淮滨县| 保山市| 喜德县| 南丹县| 潢川县| 太仓市| 驻马店市| 缙云县| 分宜县| 乌拉特前旗| 琼结县| 罗江县| 乡宁县| 尖扎县| 安多县| 融水| 广丰县| 易门县| 武宁县| 高安市| 页游| 萍乡市| 石屏县| 台中市| 玛纳斯县| 长子县| 新乐市| 西林县| 会理县| 伊吾县| 桓仁| 长丰县| 泸水县| 华容县| 济源市| 库伦旗| 大兴区| 平阳县|