亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

p1.count = p1.count + 1 為什么不能修改類屬性的值

class Person(object):

? ? count = 0

? ? def __init__(self):

? ? ? ? Person.count = Person.count + 1


p1 = Person()

p1.count = p1.count + 1

print p1.count

p2 = Person()

print Person.count

p3 = Person()

print Person.count

執行的結果是?

2

2

3

p1.count = p1.count + 1 為啥這個表達式不能在其他的實例創建的時候產生作用,Person.count =Person.count + 1? 如果換成這個就可以


正在回答

2 回答

不能通過實例屬性去修改類屬性的值,只能通過類屬性來修改

0 回復 有任何疑惑可以回復我~

count是類屬性,要改變類屬性得用“Person.count”,“p1.count”改變的只是實例p1的屬性,而是實例屬性的優先級比類屬性高,我是這么理解的。

2 回復 有任何疑惑可以回復我~
#1

人間世支離疏

就是這么一回事
2019-11-28 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
python進階
  • 參與學習       255563    人
  • 解答問題       3038    個

學習函數式、模塊和面向對象編程,掌握Python高級程序設計

進入課程

p1.count = p1.count + 1 為什么不能修改類屬性的值

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號