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

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

關于類方法無法獲得任何實例變量,只能獲得類的引用

課程中說:“因為是在類上調用,而非實例上調用,因此類方法無法獲得任何實例變量,只能獲得類的引用?!边@句話怎么理解?下面是我的理解不知道對不對。

非實例上調用是不能p1.how_many()這樣調用嗎?

p1 = Person('Bob')中p1是實例變量,"無法獲得任何實例變量"是什么意思?

Person.how_many()是類的引用(類Person引用了how_many()方法這樣子理解嗎?)


正在回答

3 回答

  1. p1.how_many()是不能這樣調用的,因為how_many()是類方法,只能通過類上調用,比如說Person.how_many()
  2. https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
    建議你去這個網站學習
0 回復 有任何疑惑可以回復我~
#1

T松子 提問者

但是你看下面的截圖,是可以調用的
2019-02-01 回復 有任何疑惑可以回復我~
class?Person(object):
????__count?=?0

????def?__init__(self,?name):
????????self.name?=?name
????????Person.__count?+=?1

????@classmethod
????def?get_name(self):
????????return?self.name

????@classmethod
????def?how_many(cls):
????????return?cls.__count

p1?=?Person('Bob')

print(p1.get_name())#這句代碼報錯:AttributeError:?type?object?'Person'?has?no?attribute?'name'意思很明顯了,這個類方法獲取不到你創建的實力的屬性變量,比如name,birth啊
并不意味著你創建的實例無法調用類方法
print(p1.how_many())


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

https://img1.sycdn.imooc.com//5c53a70100012ebb08670634.jpg

這個截圖中p1是可以調用how_many()的

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

舉報

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

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

進入課程

關于類方法無法獲得任何實例變量,只能獲得類的引用

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

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

幫助反饋 APP下載

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

公眾號

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