課程
/后端開發
/Python
/Python3 進階教程(新版)
參考答案說,這樣實例變量在外部無法修改__count,但本來count不就無法修改嘛,那__就沒什么用了???不太懂..
2020-10-04
源自:Python3 進階教程(新版) 2-6
正在回答
兩種都沒法修改,但是加了__之后外部就沒法直接Animal.count獲取了,得def get_count(self)
私有屬性雖然沒法被直接修改,可以在類里面定義類方法,如get_count(),或者set_count()用來獲取和修改。保證數據的唯一性。
把代碼寫成下方的就能看出區別來了
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))
你打的是一個_吧,兩個_的時候是不能被外部調用的
幕布斯樂
舉報
學習函數式、模塊和面向對象編程,掌握Python高級程序設計
1 回答子類可以繼承父類的私有屬性和私有方法嗎
2 回答既然“通過實例是無法修改 類屬性的”, 那么為什么還需要注意“不要通過實例修改類屬性,以免引發錯誤”?
2 回答父類調用子類的屬性?????
5 回答`self.屬性`是起什么意思/作用啊?為什么要寫這一步?self和name、age同為屬性
1 回答子類能不能只繼承父類的部分屬性?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2022-05-24
兩種都沒法修改,但是加了__之后外部就沒法直接Animal.count獲取了,得def get_count(self)
2022-05-24
私有屬性雖然沒法被直接修改,可以在類里面定義類方法,如get_count(),或者set_count()用來獲取和修改。保證數據的唯一性。
2022-05-12
把代碼寫成下方的就能看出區別來了
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))
2022-03-22
你打的是一個_吧,兩個_的時候是不能被外部調用的
2020-10-17
兩種都沒法修改,但是加了__之后外部就沒法直接Animal.count獲取了,得def get_count(self)