如何查看Python functools.partial對象內部封裝的原始函數?

如何查看Python functools.partial對象內部封裝的原始函數?

探秘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
喜歡就支持一下吧
點贊8 分享