如何使用装饰器


1、如何将代码进行简化

def bird():
    print('我是小鸟')
    print('我会飞')


def plane():
    print('我是飞机')
    print('我会飞')


def superman():
    print('我是超人')
    print('我会飞')


bird()
plane()
superman()

2、利用闭包实现装饰器的功能

def fly(obj):
    def wrapper():
        obj()
        print('我会飞')

    return wrapper


def bird():
    print('我是小鸟')


def plane():
    print('我是飞机')


def superman():
    print('我是超人')


fly(bird)()
fly(plane)()
fly(superman)()

3、将装饰器切入到需要的位置

def fly(obj):
    def wrapper():
        obj()
        print('我会飞')

    return wrapper


@fly
def bird():
    print('我是小鸟')


@fly
def plane():
    print('我是飞机')


@fly
def superman():
    print('我是超人')


bird()
plane()
superman()

results matching ""

    No results matching ""