首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

函数装饰器封装后,如何获取函数的原始名称?

函数装饰器是Python中一种用于修改、扩展或包装函数的技术。在装饰器封装后,获取函数的原始名称可以通过使用functools.wraps装饰器来实现。

functools.wraps是Python标准库中的一个装饰器,它用于将被装饰函数的元信息(如函数名、参数列表、文档字符串等)复制到装饰器函数中,从而保留原始函数的属性。

下面是一个示例代码,展示了如何使用functools.wraps装饰器获取函数的原始名称:

代码语言:python
复制
import functools

def decorator(func):
    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        print("Original function name:", func.__name__)
        return func(*args, **kwargs)
    return wrapper

@decorator
def my_function():
    pass

my_function()

在上述代码中,decorator是一个装饰器函数,它使用functools.wraps装饰器来封装被装饰函数my_function。在wrapper函数中,我们可以通过func.__name__来获取原始函数的名称,并打印输出。

运行上述代码,输出结果为:

代码语言:txt
复制
Original function name: my_function

通过这种方式,我们可以在装饰器中获取函数的原始名称,并进行相应的处理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券