装饰器:
1.装饰器会在函数运行到@装饰器时直接开始装饰,而不是调用函数后装饰
2.装饰器可以在不改变原代码的情况下对函数进行功能的增加
# 装饰器1
def func(func):
def call_func(*args, **kwargs):
# 被装饰的函数
func(*args, **kwargs)
print('维持生命还需要娱乐活动!')
print('维持生命还需要锻炼身体!')
return call_func
# 装饰器2
def func1(func):
def call_func(*args, **kwargs):
# 被装饰的函数
func(*args, **kwargs)
print('玩了最终幻想!')
print('玩了火焰纹章!')
return call_func
# 给函数加上装饰器1
@func
def live():
print('维持生命需要喝水!')
print('维持生命需要吃饭!')
# 给函数加上装饰器2
@func1
def play():
print('玩了穿越火线!')
print('玩了英雄联盟!')
def main():
print('创建了一个角色!')
live()
play()
if __name__ == '__main__':
main()
运行结果