1. 程式人生 > >Python 函數語言程式設計 -- functools 模組

Python 函數語言程式設計 -- functools 模組

– 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