欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談python 中類屬性共享的問題

 更新時間:2019年07月02日 09:22:33   作者:Young丶  
今天小編就為大家分享一篇淺談python 中類屬性共享的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

感覺這種理解有問題,舉個例子來說。

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 的含義就不同了,它們的值也不同,很明顯它們的數(shù)據沒有共享。

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

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 "<stdin>", line 1, in <module>
NameError: name 'd' is not defined
>>> d1.name
'a'
>>> d2.name
'a'
>>> 

以上這篇淺談python 中類屬性共享的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python中的Function定義方法

    Python中的Function定義方法

    Python中,函數(shù)是可被重用的程序段。對于函數(shù)的定義,可以使用def關鍵字。
    2009-09-09
  • Python+OpenCV實現(xiàn)圖像融合的原理及代碼

    Python+OpenCV實現(xiàn)圖像融合的原理及代碼

    這篇文章主要介紹了Python+OpenCV實現(xiàn)圖像融合的原理及代碼,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-12-12
  • python用faker庫批量生成假數(shù)據

    python用faker庫批量生成假數(shù)據

    這篇文章主要介紹了python用faker庫批量生成假數(shù)據,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-03-03
  • pandas實現(xiàn)將日期轉換成timestamp

    pandas實現(xiàn)將日期轉換成timestamp

    今天小編就為大家分享一篇pandas實現(xiàn)將日期轉換成timestamp,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 用Python腳本來刪除指定容量以上的文件的教程

    用Python腳本來刪除指定容量以上的文件的教程

    這篇文章主要介紹了用Python腳本來刪除指定容量以上的文件的教程,是Python操作文件的一個簡單實踐,需要的朋友可以參考下
    2015-05-05
  • 基于OpenCV目標跟蹤實現(xiàn)人員計數(shù)器

    基于OpenCV目標跟蹤實現(xiàn)人員計數(shù)器

    這篇文章主要介紹了如何利用Python OpenCV這兩者來創(chuàng)建更準確的人員計數(shù)器,文中的示例代碼講解詳細,感興趣的小伙伴快來跟隨小編學習一下吧
    2022-03-03
  • PyCharm 2020 激活到 2100 年的教程

    PyCharm 2020 激活到 2100 年的教程

    這篇文章主要介紹了PyCharm 2020 激活到 2100 年,本文圖文并茂給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • 從DataFrame中提取出Series或DataFrame對象的方法

    從DataFrame中提取出Series或DataFrame對象的方法

    今天小編就為大家分享一篇從DataFrame中提取出Series或DataFrame對象的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python中一些不為人知的基礎技巧總結

    Python中一些不為人知的基礎技巧總結

    這篇文章主要給大家總結介紹了Python中一些不為人知的基礎技巧,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-05-05
  • python write無法寫入文件的解決方法

    python write無法寫入文件的解決方法

    今天小編就為大家分享一篇python write無法寫入文件的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01

最新評論