Python 黑魔法 --- 描述器(descriptor)
生活随笔
收集整理的這篇文章主要介紹了
Python 黑魔法 --- 描述器(descriptor)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python 黑魔法—描述器(descriptor)
Python黑魔法,前面已經介紹了兩個魔法,裝飾器和迭代器,通常還有個生成器。生成器固然也是一個很優雅的魔法。生成器更像是函數的行為。而連接類行為和函數行為的時候,還有一個描述器魔法,也稱之為描述符。
我們不止一次說過,Python的優雅,很大程度在于如何設計成優雅的API。黑魔法則是一大利器?;蛘哒fPython的優雅很大程度上是建立在這些魔法巧技基礎上。
何謂描述器
當定義迭代器的時候,描述是實現迭代協議的對象,即實現__iter__方法的對象。同理,所謂描述器,即實現了描述符協議,即__get__, __set__, 和 __delete__方法的對象。
單看定義,還是比較抽象的。talk is cheap??创a吧:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | class WebFramework(object): def __init__(self, name='Flask'): self.name = name
def __get__(self, instance, owner): |
總結
以上是生活随笔為你收集整理的Python 黑魔法 --- 描述器(descriptor)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python递归深度报错--Runtim
- 下一篇: Pandas: 如何将一列中的文本拆分为