在 Python 中檢索函數參數名稱
在 Python 中,函數參數通常使用佔位符變數來定義。雖然這些變數在函數定義中明確命名,但從外部檢查函數時可能無法輕鬆存取它們。
inspect.getfullargspec
inspect 模組提供了取得函數參數清單的便利方法。透過呼叫inspect.getfullargspec(function),其中function是目標函數,您可以檢索包含參數名稱的元組。
範例:
<code class="python">def a_method(arg1, arg2): pass print(inspect.getfullargspec(a_method)) # Output: (['arg1', 'arg2'], None, None, None)</code>
This範例將參數名稱(「arg1」和「arg2」)列印為元組。
inspect.signature (Python 3.3 )
自 Python 3.3 起,inspect.signature () 提供了一種更高級的方法來檢查函數簽名。它傳回一個代表函數參數的 Signature 對象,包括參數的類型和預設值。
範例:
<code class="python">def foo(a, b, c=4, *arglist, **keywords): pass print(inspect.signature(foo)) # Output: <Signature (a, b, c=4, *arglist, **keywords)></code>
注意:
某些可呼叫函數(例如內建函數)可能無法在所有Python 實作中進行自省。在這種情況下,使用inspect.getfullargspec()或inspect.signature()可能會導致ValueError。
以上是如何在 Python 中檢索函數參數名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!