探秘python functools.partial對象:如何查看其內部原始函數?
在Python中,使用functools.partial創建部分應用函數后,我們常常想知道它內部究竟保存了什么信息,特別是原始函數。本文將詳細講解如何查看functools.partial對象內部的原始函數。
我們先來看一個例子,通過functools.partial將multiply函數的部分參數固定,生成一個新的可調用對象partial_function。雖然type(partial_function)能確認其類型為functools.partial,但并不能直接顯示其原始函數。
那么,如何查看partial_function的原始函數呢?答案是訪問其func屬性。
立即學習“Python免費學習筆記(深入)”;
functools.partial對象具有三個只讀屬性:func、args和keywords。其中,func屬性存儲了被修飾的原始可調用對象(函數或其他可調用對象);args屬性存儲預設的位置參數;keywords屬性存儲預設的關鍵字參數。
因此,要查看partial_function的原始函數,只需訪問partial_function.func即可。這將直接返回原始的multiply函數。
以下代碼示例:
import functools def multiply(x, y): return x * y partial_function = functools.partial(multiply, y=2) print(partial_function.func) # 輸出:<function multiply at 0x...> (地址會因運行環境而異)
print(partial_function.func)將打印multiply函數的引用,清晰地顯示了partial_function所修飾的函數,從而讓我們了解functools.partial對象內部結構以及其封裝的原始函數。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END