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

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

為什么class內部的兩個方法都命名為score,然后本來自定義的屬性也有一個self.score,這樣看著挺亂啊

如果把@property下的方法命名為getscore,緊接著@后面自然就變成了@getscore.setter,然后再命名的方法為setscore,這樣在下面調用時就可以寫成,如:

Bob=Student('Bob',99)

Bob.setscore=66

print?(Bob.getscore)

這樣感覺看著更舒服,也是把方法通過裝飾器變為屬性了,否則都是score,score,很暈的感覺,這里是有什么特殊地方么,比如不讓通過函數名暴露啥的...求解

正在回答

1 回答

應該這么說吧,兩個score的區別是:(1)調用的裝飾器名稱不同(2)參數不同。

第一個score是獲取屬性,調用的@property裝飾器,里面肯定有做些處理的。第二個是用于設置屬性的score函數,調用的getscore.setter裝飾器。其實裝飾器就是個方法而已啦

最主要是兩個函數的參數不同.

當然你也可以用getscore,setscore來命名啊,不過按照p.score這種的,看上去代碼更簡潔更容易讀懂吧

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

舉報

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

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

進入課程

為什么class內部的兩個方法都命名為score,然后本來自定義的屬性也有一個self.score,這樣看著挺亂啊

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

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

幫助反饋 APP下載

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

公眾號

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