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