PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Python
Re: [問題] Django 的 @property
作者:
Hsins
(翔)
2020-02-03 02:59:50
這件事情要從物件導向先開始說起。
在物件導向程式設計(Object-Oriented Programming)的理念下,我們將原本在
程序式程式設計(Procedural Programming) 中的變數和函數對應到物件的屬性
與方法,宣告類別作為實例物件的基礎,以此達到封裝(Encapsulation)、繼承
(Inhertitance)和多型(polymorphism)這三大物件導向的特性。 這裡暫且不
提其他內容,先聊聊封裝這件事:
作者: Philethan (PE)
2020-02-03 09:59:00
@
[email protected]
未看先推!!這讓我想起,我好像有在 python docs(?) 看到其實"取值"(點操作)並不是直接取,而是會先檢查有沒有定義__get__ 與 __set__,有的話那就用(就是property),沒有的話就直接取,找它的 class member所以,若在 def is_overdue(self) 前加上 @property那麼就可以更 pythonic,把 is_overdue() 函數看成一種變數,應該是這意思囉?感謝大大教學~~雖然總覺得這種"把函數看成變數"的背後機制,似乎跟剛才提的"先檢查有沒有定義__get__與__set__"不太一樣哦哦我在 python docs 看到了!The @property decorator turns the .... method intoa "getter" for a read-only attribute with the samename.
https://i.imgur.com/qmFqRvQ.png
https://reurl.cc/drNxOz
作者:
cuteSquirrel
(松鼠)
2020-02-03 21:46:00
push
作者:
Ryspon
(Ry)
2020-02-06 02:16:00
推個
作者: AugustusHsu
2020-02-21 18:02:00
推個~
繼續閱讀
[問題] telegram 上的python 台灣社群
kevin1987tw
[問題] 請問Sourcetree的安裝
jijuan
[問題] anaconda裡面的NoBaseEnvironmentError
tiramisu0225
[問題] anacoda 呼叫 scrapy
spong
[問題] Selenium開啟Chrome時錯誤
Nunapig60kg
[問題] 看不懂習題的語意
a9202507
[問題] Openpyxl copy一整列問題
yimean
[問題] if__name__=='name'問題
yimean
[問題] web端接收檔案如何處理
macang
[問題] 該怎麼做只要有新的八卦版爆卦就LINE自己
qazwsx99876
Links
booklink
Contact Us: admin [ a t ] ucptt.com