当Python函数位于装饰器中时,可以通过使用inspect
模块中的signature
函数来获取该函数的参数名称。
inspect.signature
函数返回一个Signature
对象,该对象包含了函数的参数信息。可以通过parameters
属性来获取参数列表,然后遍历参数列表获取每个参数的名称。
以下是一个示例代码:
import inspect
def decorator(func):
def wrapper(*args, **kwargs):
# 获取函数参数名称
sig = inspect.signature(func)
parameters = sig.parameters
param_names = [name for name in parameters.keys()]
print("函数参数名称:", param_names)
# 执行被装饰的函数
return func(*args, **kwargs)
return wrapper
@decorator
def my_function(arg1, arg2):
pass
my_function("value1", "value2")
输出结果为:
函数参数名称: ['arg1', 'arg2']
在这个例子中,my_function
函数被decorator
装饰器修饰,当调用my_function
函数时,装饰器会打印出函数的参数名称。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云