#带参数的装饰器
#500个函数
import time
FLAGE = True
def timmer_out(flag):
def timmer(func):
def inner(*args,**kwargs):
if flag:
start = time.time()
ret = func(*args,**kwargs)
end = time.time()
print(end-start)
return ret
else:
ret = func(*args, **kwargs)
return ret
return inner
return timmer
# timmer = timmer_out(FLAGE) #timmer = timmer_out(FLAGE)
#wahaha = timmer(wahaha) #@timmer
@timmer_out(FLAGE)
def wahaha():
time.sleep(0.1)
print('wahahahahahaha') @timmer_out(FLAGE)
def erguotou():
time.sleep(0.1)
print('erguotoutoutou') wahaha()
erguotou()
#多个装饰器装饰一个函数
def wrapper1(func):
def inner1():
print('wrapper1 ,before func')
ret = func()
print('wrapper1 ,after func')
return ret
return inner1 def wrapper2(func):
def inner2():
print('wrapper2 ,before func')
ret = func()
print('wrapper2 ,after func')
return ret
return inner2 def wrapper3(func):
def inner3():
print('wrapper3 ,before func')
ret = func()
print('wrapper3 ,after func')
return ret
return inner3 @wrapper3
@wrapper2
@wrapper1
def f():
print('in f')
return '哈哈哈' print(f()) #记录用户的登录情况
#计算这个函数的执行时间

最新文章

  1. Redis系列(六)-SortedSets设计技巧
  2. JQuery中each()的使用方法说明
  3. 【目录】python
  4. VIM 中鼠标选择不选中行号
  5. ALV详解:Function ALV(一)
  6. c++时间处理
  7. Ehcache和MemCached比较分析
  8. 获取select值
  9. Oracle Goldengate工作原理
  10. C++Primer第5版学习笔记(二)
  11. javascript高级知识点——memoization
  12. 流式大数据计算实践(3)----高可用的Hadoop集群
  13. 三机互ping(自己总结)
  14. druid 连接Oracle时出现的错误
  15. Mac下Qt的环境搭建
  16. Zabbix-Agent在主动模式启动服务后,提示no active checks on server [139.219.xx.xx:10051]: host [139.219.xx.xx] not found
  17. sicily 1154. Easy sort (tree sort& merge sort)
  18. Python3 Tkinter-Menu
  19. HUST 1354 - Rubiks (DP)
  20. Installing xgboost and cmake, mingw64 and mingw

热门文章

  1. CentOS6.5内 MySQL5.7.19编译安装
  2. 动态Linq表达式生成
  3. 使用Jenkins遇到的问题
  4. Python:字符串格式化
  5. PHP is much better than you think
  6. 我的游戏学习日志3——三国志GBA
  7. 【Linux基础】linux下修改ls显示的时间格式
  8. rem实现自适应
  9. redis的过期时间和过期删除机制
  10. 003_python学习之 字符串前'r'的用法