在Python中處理函數時,可以很方便地取得它們的參數名稱。假設我們有一個名為 a_method 的函數,定義為:
<code class="python">def a_method(arg1, arg2): pass</code>
要以字串元組的形式檢索參數名稱,我們可以利用檢查模組。
<code class="python">import inspect inspect.getfullargspec(a_method)</code>
這將傳回一個包含參數名稱的元組:('arg1', 'arg2')。
檢查模組提供了對可呼叫物件的更多見解。例如,如果函數具有預設參數或接受可變長度參數,則 getfullargspec 函數也會傳回有關這些參數的資訊。
例如,以下函數具有預設參數和可變長度參數:
<code class="python">def foo(a, b, c=4, *arglist, **keywords): pass</code>
inspect.getfullargspec 會產生:
<code class="python">(['a', 'b', 'c'], 'arglist', 'keywords', (4,))</code>
這個元組表示c 的預設值為4,arglist 用於可變長度位置參數,關鍵字用於變數- length 關鍵字參數。
在 Python 3.3 及更高版本中,inspect.signature 函數可用於取得可呼叫物件的呼叫簽名,包括參數名稱。對於範例函數 foo:
<code class="python">inspect.signature(foo)</code>
這將傳回一個 Signature 對象,提供有關函數簽名的詳細資訊。
以上是如何取得Python函數的參數名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!