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

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

這個__改私有屬性看起來也沒用呀,就count本來就是類屬性不可被實例屬性更改的?

參考答案說,這樣實例變量在外部無法修改__count,但本來count不就無法修改嘛,那__就沒什么用了???不太懂..

正在回答

5 回答

兩種都沒法修改,但是加了__之后外部就沒法直接Animal.count獲取了,得def get_count(self)


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

私有屬性雖然沒法被直接修改,可以在類里面定義類方法,如get_count(),或者set_count()用來獲取和修改。保證數據的唯一性。

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

把代碼寫成下方的就能看出區別來了


class Animal(object):

? ? __count = 0

? ? def __init__(self,name):

? ? ? ? Animal.__count = Animal.__count + 1

? ? ? ? self.name = name

? ? ? ? print('內部:{}'.format(Animal.__count))

p1 = Animal('Cat')

p2 = Animal('Dog')

print('外部:{}'.format(Animal.__count))


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

你打的是一個_吧,兩個_的時候是不能被外部調用的

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

兩種都沒法修改,但是加了__之后外部就沒法直接Animal.count獲取了,得def get_count(self)

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

幕布斯樂

兩個_是無法被外部獲取的
2022-03-22 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這個__改私有屬性看起來也沒用呀,就count本來就是類屬性不可被實例屬性更改的?

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

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

幫助反饋 APP下載

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

公眾號

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