函数进阶_装饰器进阶2


# 控制装饰器,,在外面嵌套一个装饰器,加上FLAG
# def outer(flag):
# def timer(func):
# def inner(*args,**kwargs):
# if flag:
# print('''执行函数之前要做的''')
# re = func(*args,**kwargs)
# if flag:
# print('''执行函数之后要做的''')
# return re
# return inner
# return timer
#
# @outer(False)#timer = outer(False), func = timer(func)
# def func():
# print(111)
#
# func()


# 多个装饰器装饰一个函数

def wrapper1(func):
def inner():
print('wrapper1 ,before func')
func()
print('wrapper1 ,after func')
return inner

def wrapper2(func):
def inner():
print('wrapper2 ,before func')
func()
print('wrapper2 ,after func')
return inner

@wrapper2
@wrapper1
def f():
print('in f')

f()

#主要记录用户的登陆情况,计算这个函数的执行时间

猜你喜欢

转载自www.cnblogs.com/jly1/p/9592994.html