python里函数装饰器怎么使用

这篇文章将为大家详细讲解有关python里函数装饰器怎么使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1、函数方式(通用装饰器,不带参数)

def outer(fun):
    def inner(*args, **kwargs):
        print('实例化类前')
        result = fun(*args, **kwargs)
        print('实例化类后')
        return result
    return inner
 
@outer      # 装饰器使用
class A:
    def __init__(self, a):
        print('实例化类{}'.format(a))
A(1)

2、函数方式(通用装饰器,带参数)

def outer2(arg):
    def outer(fun):
        def inner(*args, **kwargs):
            print('使用参数{}'.format(arg))
            print('实例化类前')
            result = fun(*args, **kwargs)
            print('实例化类后')
            return result
        return inner
    return outer
 
@outer2(1)      # 装饰器使用
class A:
    def __init__(self, a):
        print('实例化类{}'.format(a))
A(2)

关于python里函数装饰器怎么使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。