創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
十余年的武昌網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整武昌建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“武昌網(wǎng)站設(shè)計”,“武昌網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。什么是Python類屬性和實例屬性?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
類屬性、實例屬性
了解類基本的東西之后,下面看一下python中這幾個概念的區(qū)別:
在前面的例子中我們接觸到的就是實例屬性(對象屬性),類屬性就是類對象所擁有的屬性,它被所有類對象的實例對象所共有,在內(nèi)存中只存在一個副本,這個和C++中類的靜態(tài)成員變量有點(diǎn)類似。對于公有的類屬性,在類外可以通過類對象和實例對象訪問。
1、類屬性
class Person(object): name = "Tom" #公有的類屬性 __age = 12 #私有的類屬性 p = Person() print(p.name) #正確 print(Person.name) #正確 #print(p.__age) #錯誤,不能再類外通過實例變量訪問類的私有屬性 #print(Person.__age) #錯誤,不能再類外通過類對象訪問類的私有屬性
運(yùn)行結(jié)果為:
Tom Tom
2、實例屬性(對象屬性)
class Person(object): address = "廣州" def __init__(self): self.name = "Se7eN_HOU" self.age = 29 p = Person() p.age = 18 #實例屬性 print(p.name) #正確 print(p.address) #正確。實例對象可以訪問類屬性 print(p.age) #正確 print(Person.address) #正確 #print(Person.name) #錯誤,類不能訪問實例屬性 #print(Person.age) #錯誤,類不能訪問實例屬性
運(yùn)行結(jié)果為:
Se7eN_HOU 廣州 18 廣州
3、通過實例去修改類屬性
class Person(object): address = "廣州" #類屬性 p = Person() print(p.address) #正確 print(Person.address) #正確 print("-------分界線--------") p.address = "北京" print(p.address) print(Person.address) print("-------分界線--------") Person.address = "上海" print(p.address) print(Person.address)
運(yùn)行結(jié)果為:
廣州 廣州 -------分界線-------- 北京 廣州 -------分界線-------- 北京 上海
說明:
如果需要在類外修改類屬性,必須通過類對象去引用然后進(jìn)行修改。 如果通過實例對象去引用,會產(chǎn)生一個同名的實例屬性,這種方式修改的是實例屬性,不會影響到類屬性。 如果通過實例對象去引用該類的類的屬性,實例屬性其實會重新創(chuàng)建一個新的屬性。
看完上述內(nèi)容,你們掌握什么是Python類屬性和實例屬性的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!