亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談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 相當(dāng)于給 d1 實例綁定了 name 屬性之后,d1.name 就與類屬性無關(guān)了。既然這樣就談不上實例之間共享類屬性了,因為只要一賦值,就相當(dāng)于綁定了屬性,則上述 d1.name 的含義和 d2.name 的含義就不同了,它們的值也不同,很明顯它們的數(shù)據(jù)沒有共享。

但是要修改類屬性,應(yīng)該用

Dog.name = 'new name'

而不應(yīng)該是

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 中類屬性共享的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中的Function定義方法

    Python中的Function定義方法

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

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

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

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

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

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

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

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

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

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

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

    PyCharm 2020 激活到 2100 年的教程

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

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

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

    Python中一些不為人知的基礎(chǔ)技巧總結(jié)

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

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

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

最新評論