Python 作為一種廣泛使用的編程語言在實際開發中有很多應用場景,其中獲取函數的參數名也是一個常見的需求。本文將介紹如何在 Python 中獲取函數的參數名。
def get_args(func): import inspect signature = inspect.signature(func) args = [] for param in signature.parameters.values(): if param.kind == param.VAR_KEYWORD or param.kind == param.VAR_POSITIONAL: continue args.append(param.name) return args
代碼部分使用了 Python 自帶的 inspect 模塊。這個模塊提供了許多用于解析 Python 對象的函數,如模塊、類、實例、函數等等。通過 inspect.signature 函數,可以獲取到函數簽名的信息,包括參數名、默認值、類型注解等。
接下來,遍歷參數列表,將參數名添加到列表中。需要注意的是,這個方法不能處理 *args 和 **kwargs 這兩種不定長參數,因此需要用 param.kind 區分這兩種參數類型,如果參數類型是不定長參數,則跳過。
這個方法可以用于在日志輸出中記錄函數調用時的參數名,或者在測試時判斷函數的參數是否正確。
上一篇python 時間轉數字
下一篇python 時間轉秒數