真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

如何在python中實現類屬性共享-創(chuàng)新互聯

本篇文章給大家分享的是有關如何在python 中實現類屬性共享,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

公司專注于為企業(yè)提供成都做網站、網站制作、微信公眾號開發(fā)、商城網站定制開發(fā),成都小程序開發(fā),軟件按需開發(fā)網站等一站式互聯網企業(yè)服務。憑借多年豐富的經驗,我們會仔細了解各客戶的需求而做出多方面的分析、設計、整合,為客戶設計出具風格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯更提供一系列網站制作和網站推廣的服務。
class Dog(object): 
 
  name = 'dog' 
 
  def init(self): 
 
    self.age = 18
 
d1 = Dog()
 
d2 = Dog()

這里有兩個實例 d1,d2 吧。

d1.name # 輸出 dogd2.name # 輸出 dogd1.name = 'abc'
d1.name # 輸出 abcd2.name # 輸出 dogDog.name # 輸出 dog

原因是 d1.name 輸出 dog 不是因為這個實例共享了類屬性,而是因為這個實例沒有 dog 屬性,所以 python 查找了類屬性。但是一旦你修改了 d1.name 相當于給 d1 實例綁定了 name 屬性之后,d1.name 就與類屬性無關了。既然這樣就談不上實例之間共享類屬性了,因為只要一賦值,就相當于綁定了屬性,則上述 d1.name 的含義和 d2.name 的含義就不同了,它們的值也不同,很明顯它們的數據沒有共享。

但是要修改類屬性,應該用

Dog.name = 'new name'

而不應該是

dog1.name = 'new name'

因為實例屬性同名而覆蓋類屬性,的確是一個很容易忽視、出錯的地方。

>>> 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 "", line 1, in 
NameError: name 'd' is not defined
>>> d1.name
'a'
>>> d2.name
'a'
>>>
Python主要用來做什么

Python主要應用于:1、Web開發(fā);2、數據科學研究;3、網絡爬蟲;4、嵌入式應用開發(fā);5、游戲開發(fā);6、桌面應用開發(fā)。

以上就是如何在python 中實現類屬性共享,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯行業(yè)資訊頻道。


網頁標題:如何在python中實現類屬性共享-創(chuàng)新互聯
網站路徑:http://weahome.cn/article/ijpgp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部