Python 函數語言程式設計 -- functools 模組
阿新 • • 發佈:2018-12-13
– Start functools 模組為 higher-order 函式服務,什麼是higher-order 函式?其實類似於裝飾器,higher-order 函式返回一個函式。
functools.cmp_to_key
將 Python 2 的比較函式轉換為 Python 3 的 key 函式。
@functools.lru_cache
如果一個函式非常耗時,同時,同樣的引數總是得到同樣的結果,我們其實可以把結果快取起來,這樣第二次呼叫就特別快了。如果你有這樣的函式,使用這個裝飾器即可。
@functools.total_ordering
在《Python 面向物件程式設計2》中,我們介紹瞭如何重寫比較操作方法,其實我們不需要重寫全部的方法,有些本身就是互斥的,我們只需要實現 __ eq__和下面任意一個就可以了,其餘的這個裝飾器會幫我們實現。
__gt__ # 大於
__ge__ # 大於等於
__lt__ # 小於
__le__ # 小於等於
functools.partial
functools.partialmethod
functools.reduce
@functools.singledispatch
functools.update_wrapper
@functools.wraps
– 更多參見: – 聲 明:轉載請註明出處 – Last Updated on 2018-10-06 – Written by ShangBo on 2018-10-06 – End