# coding=utf-8
#装饰器是一个函数,其主要用途是包装另一个函数或类,修改或增强被包装对象的行为,
def dec1(func):
# print("1111")
def one():
print("2222")
func()
print("3333")
return one
def dec2(func):
# print("aaaa")
def two():
print("bbbb")
func()
print("cccc")
return two
#@dec1
#@dec2
def test():
print("test test")
test=dec2(test) #待包装函数test对象传递给装饰器dec2,返回函数对象two
test=dec1(test) #函数对象two传递给装饰器dec1,返回函数对象one
test() #实际执行函数one,one中的func为two,two中的func为test函数
'''
def dec2_(func):
# print("aaaa")
# def two():
print("bbbb")
func()
print("cccc")
# return two
#@dec2
def test_():
print("test test")
#test=dec2(test)
dec2_(test_)
'''
2222
bbbb
test test
cccc
3333