装饰器:包装
原来有一个函数,函数的功能是有限的,但是要求:不改变原来函数的情况下,能够使函数功能变得更强。
原则:开放、封闭原则。开放是指对原函数的功能可以更强;封闭是指不能改变原函数。
#定义装饰器
def decorator(func):
print('--------->1')
def wrapper():
#调用原函数
func()
print('包装上漂亮的包装纸')
print('系上漂亮的蝴蝶结')
print('--------->2')
return wrapper
@decorator#1.将gift作为参数传给decorator的func参数 2.执行了decorator 3.将返回值扔出,给gift赋值
def gift():
print("买了一个毛绒玩具")
print('-------->3')
gift()
--------->1
--------->2
-------->3
买了一个毛绒玩具
包装上漂亮的包装纸
系上漂亮的蝴蝶结