函数定义
函数定义本身会显示参数列表,例如:
def my_func(a, b, c=1, *args, kwargs):
pass
使用`inspect`模块
Python的`inspect`模块提供了`getfullargspec`函数来获取函数的参数信息。例如:
import inspect
def my_func(a, b, c=1, *args, kwargs):
pass
argspec = inspect.getfullargspec(my_func)
print("Positional arguments:", argspec.args)
print("Keyword-only arguments:", argspec.kwonlyargs)
print("Default values:", argspec.defaults)
print("Variable positional arguments (*args):", argspec.varargs)
print("Variable keyword arguments (kwargs):", argspec.varkw)
使用`help()`函数
Python内置的`help()`函数可以显示函数的文档字符串,其中通常包含了参数的信息。例如:
help(sorted)
使用`inspect.signature`
`inspect.signature`函数可以获取函数的签名对象,然后通过遍历其`parameters`属性来查看参数信息。例如:
import inspect
def my_function(arg1, arg2, *, kwarg1="default", kwarg2="default"):
pass
sig = inspect.signature(my_function)
for name, param in sig.parameters.items():
print(f"Parameter: {name}")
print(f"Default value: {param.default}")
print(f"Annotation: {param.annotation}")
print(f"Kind: {param.kind}")
print(f"Required: {param.default == param.empty}")
print()
以上方法可以帮助你了解函数的参数类型、默认值、是否可变等信息