最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談python 中類屬性共享的問(wèn)題

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

感覺(jué)這種理解有問(wèn)題,舉個(gè)例子來(lái)說(shuō)。

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í)例沒(méi)有 dog 屬性,所以 python 查找了類屬性。但是一旦你修改了 d1.name 相當(dāng)于給 d1 實(shí)例綁定了 name 屬性之后,d1.name 就與類屬性無(wú)關(guān)了。既然這樣就談不上實(shí)例之間共享類屬性了,因?yàn)橹灰毁x值,就相當(dāng)于綁定了屬性,則上述 d1.name 的含義和 d2.name 的含義就不同了,它們的值也不同,很明顯它們的數(shù)據(jù)沒(méi)有共享。

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

相關(guān)文章

  • 給Python中的MySQLdb模塊添加超時(shí)功能的教程

    給Python中的MySQLdb模塊添加超時(shí)功能的教程

    這篇文章主要介紹了給Python中的MySQLdb模塊添加超時(shí)功能的教程,timeout功能在服務(wù)器的運(yùn)維當(dāng)中非常有用,需要的朋友可以參考下
    2015-05-05
  • 深入探討Pandas數(shù)據(jù)清洗與高效分析

    深入探討Pandas數(shù)據(jù)清洗與高效分析

    這篇文章主要介紹了深入探討Pandas數(shù)據(jù)清洗與高效分析,Pandas 是 Python 中最強(qiáng)大的數(shù)據(jù)處理庫(kù)之一,廣泛應(yīng)用于數(shù)據(jù)分析、統(tǒng)計(jì)建模和科學(xué)計(jì)算領(lǐng)域,本文將深入探討 Pandas 的高階用法,包括數(shù)據(jù)清洗、高效的數(shù)據(jù)操作以及與機(jī)器學(xué)習(xí)結(jié)合的應(yīng)用
    2021-10-10
  • Python綁定方法與非綁定方法詳解

    Python綁定方法與非綁定方法詳解

    這篇文章主要為大家詳細(xì) 介紹了Python綁定方法與非綁定方法的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Pandas中如何對(duì)DataFrame列名進(jìn)行重命名

    Pandas中如何對(duì)DataFrame列名進(jìn)行重命名

    在做數(shù)據(jù)挖掘的時(shí)候,想改一個(gè)DataFrame的column名稱,所以就查了一下,下面這篇文章主要給大家介紹了關(guān)于Pandas中如何對(duì)DataFrame列名進(jìn)行重命名的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Python運(yùn)算符&=使用實(shí)例探究

    Python運(yùn)算符&=使用實(shí)例探究

    這篇文章主要為大家介紹了Python運(yùn)算符&=使用實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • python打印n位數(shù)“水仙花數(shù)”(實(shí)例代碼)

    python打印n位數(shù)“水仙花數(shù)”(實(shí)例代碼)

    這篇文章主要介紹了python打印n位數(shù)“水仙花數(shù)”,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 一文帶你深入理解Python的`functools.lru_cache`裝飾器

    一文帶你深入理解Python的`functools.lru_cache`裝飾器

    Python中的functools.lru_cache裝飾器是一個(gè)非常有用的裝飾器,它可以幫助我們優(yōu)化遞歸函數(shù),避免重復(fù)計(jì)算已經(jīng)計(jì)算過(guò)的值,在這篇文章中,我們將探討?functools.lru_cache?的工作原理以及如何使用它,感興趣的朋友跟著小編一起來(lái)學(xué)習(xí)吧
    2023-07-07
  • 機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之knn算法pandas

    機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之knn算法pandas

    這篇文章主要為大家詳細(xì)介紹了機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之knn算法pandas,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 最新評(píng)論

    定安县| 武安市| 白城市| 武义县| 科尔| 庆阳市| 准格尔旗| 巨野县| 上虞市| 科尔| 汕头市| 昌黎县| 安义县| 铁岭市| 渑池县| 沧源| 龙山县| 芷江| 连云港市| 锦州市| 长岛县| 类乌齐县| 平原县| 富阳市| 太康县| 宝丰县| 盐津县| 沧州市| 华池县| 兴安县| 永修县| 灵璧县| 如东县| 天镇县| 丹巴县| 阳江市| 光泽县| 永新县| 金寨县| 宣化县| 厦门市|