首頁  >  文章  >  後端開發  >  如何在 Python 中檢索函數參數名稱?

如何在 Python 中檢索函數參數名稱?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-03 15:19:02477瀏覽

How to Retrieve Function Parameter Names in Python?

在 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn