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

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

關于@property的用法,如何理解把方法裝飾成屬性調用?

如何理解@property,能不能結合例子說明一下。

用裝飾器@property?把?get/set?方法“裝飾”成屬性調用?這句話怎么個理解,求大神們賜教。

正在回答

4 回答

其實廖老師是用get和set舉了個例子,也就是說在沒有使用property裝飾器之前是需要用到get和set方法的,使用property后就可以不用在定義get和set的方法了

@property的作用是將被裝飾的函數可以被當做屬性一樣調用

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

用def是在類里邊定義類的方法,而用def__init__是在類里邊定義類的屬性。

用def定義的類方法用實例名.方法名(x)的形式調用,而用def__init定義的類屬性用實例名.屬性名=x調用。

如果我想用調用類屬性的形式調用類方法呢?那就加個@property就可以了。實際上@property就是把類方法變成了一個類屬性。

1 回復 有任何疑惑可以回復我~
def?grade(self):
????????if?self.score>=80:
????????????return?'A'
????????if?self.score<60:
????????????return'C'
????????return?'B'

原理不知道,以下希望能幫到你

  1. 不加@property。那就是方法,用s.grade()調用,可得到正確返回值(CBA)

  2. 加@property。裝飾為屬性,用s.grade即可返回CBA

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

我也是剛學,我是這么理解的,@property這個裝飾器后,原來的get和set 就失效了,等于你重寫了get/set方法

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

舉報

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

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

進入課程

關于@property的用法,如何理解把方法裝飾成屬性調用?

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

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

幫助反饋 APP下載

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

公眾號

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