在 Python 函數中檢索參數名稱
在 Python 中,內省函數的參數可用於多種目的。一個常見的問題是如何以程式設計方式取得給定函數的參數名稱清單。
內建 Python 方法
inspect 模組提供了全面的自省功能Python 對象,包括函數。然而,經常用於檢索參數資訊的inspect.getargspec()和inspect.signature()方法在Python 3.10及更高版本中已被棄用。
使用函數元資料的替代方法
幸運的是,還有一種利用底層函數元資料的替代方法:
<code class="python">def list_parameter_names(func): """Returns a list of parameter names for a given function.""" # Get the function's code object. code = func.__code__ # The co_varnames attribute contains a tuple of parameter names. return code.co_varnames</code>
此程式碼片段定義了一個可重複使用函數list_parameter_names(),它接受一個函數作為其參數並傳回一個其參數名稱列表。
使用範例
下列範例示範如何使用list_parameter_names() 函式:
<code class="python">def my_function(a, b, c): ... parameter_names = list_parameter_names(my_function) print(parameter_names) # Output: ['a', 'b', 'c']</code>
其他注意事項:
其他注意事項其他注意事項其他注意事項其他注意事項其他注意事項>請注意,此方法依賴函數的程式碼對象,該對像是無法修改的不可變對象。這表示函數建立後對其參數清單的任何變更都不會反映在透過此方法取得的參數名稱中。以上是如何取得 Python 函數的參數名稱清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!