装饰器

装饰器#

# Decorator
def add_candles(cake_func):
    def insert_candles():
        return cake_func() + " candles"
    return insert_candles

def make_cake():
    return "cake"

gift_func = add_candles(make_cake)

print(make_cake())
print(gift_func())
cake
cake candles
# 下面使用装饰器的效果等同于上面代码块
def add_candles(cake_func):
    def insert_candles():
        return cake_func() + " candles"
    return insert_candles

@add_candles
def make_cake():
    return "cake"

print(make_cake())
cake candles