本篇文章給大家分享的是有關(guān)如何在python 中實(shí)現(xiàn)類屬性共享,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
公司專注于為企業(yè)提供成都做網(wǎng)站、網(wǎng)站制作、微信公眾號(hào)開發(fā)、商城網(wǎng)站定制開發(fā),成都小程序開發(fā),軟件按需開發(fā)網(wǎng)站等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。class Dog(object): name = 'dog' def init(self): self.age = 18 d1 = Dog() d2 = Dog()
這里有兩個(gè)實(shí)例 d1,d2 吧。
d1.name # 輸出 dogd2.name # 輸出 dogd1.name = 'abc' d1.name # 輸出 abcd2.name # 輸出 dogDog.name # 輸出 dog
原因是 d1.name 輸出 dog 不是因?yàn)檫@個(gè)實(shí)例共享了類屬性,而是因?yàn)檫@個(gè)實(shí)例沒有 dog 屬性,所以 python 查找了類屬性。但是一旦你修改了 d1.name 相當(dāng)于給 d1 實(shí)例綁定了 name 屬性之后,d1.name 就與類屬性無關(guān)了。既然這樣就談不上實(shí)例之間共享類屬性了,因?yàn)橹灰毁x值,就相當(dāng)于綁定了屬性,則上述 d1.name 的含義和 d2.name 的含義就不同了,它們的值也不同,很明顯它們的數(shù)據(jù)沒有共享。
但是要修改類屬性,應(yīng)該用
Dog.name = 'new name'
而不應(yīng)該是
dog1.name = 'new name'
因?yàn)閷?shí)例屬性同名而覆蓋類屬性,的確是一個(gè)很容易忽視、出錯(cuò)的地方。
>>> class Dog(): ... name = "dog" ... >>> d1 = Dog() >>> d1.name 'dog' >>> d2 = Dog() >>> d2.name 'dog' >>> Dog.name 'dog' >>> Dog.name = "a" >>> d.name Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'd' is not defined >>> d1.name 'a' >>> d2.name 'a' >>>Python主要用來做什么
Python主要應(yīng)用于:1、Web開發(fā);2、數(shù)據(jù)科學(xué)研究;3、網(wǎng)絡(luò)爬蟲;4、嵌入式應(yīng)用開發(fā);5、游戲開發(fā);6、桌面應(yīng)用開發(fā)。
以上就是如何在python 中實(shí)現(xiàn)類屬性共享,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁(yè)題目:如何在python中實(shí)現(xiàn)類屬性共享-創(chuàng)新互聯(lián)
本文URL:http://bm7419.com/article18/ijpgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站維護(hù)、網(wǎng)站改版、企業(yè)網(wǎng)站制作、域名注冊(cè)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容