# 控制装饰器,,在外面嵌套一个装饰器,加上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()
#主要记录用户的登陆情况,计算这个函数的执行时间