在不改变函数的结构的基础,我们给函数加新的功能,用是函数装饰器,如果要给函数传递参数,那么应该怎么做呢

@timer
def test2(name,age):
  time.sleep(3)
  print('name: %s age: %s' % (name, age))

test2('dongye',33)

def timer(func): #是test2函数,高阶函数
  def deco(*args,**kwargs): 
    start_time=time.time()
    func(*args,**kwargs)
    stop_time = time.time()
    print('the func run time is %s' % (stop_time-start_time))
  return deco #返回deco函数的内存地址

文章来自 http://www.96net.com.cn

最新文章

  1. 攻城狮在路上(陆)-- hadoop单机环境搭建(一)
  2. AJAX - onreadystatechange
  3. linux 命令free -m 命令结果分析
  4. 【BZOJ3631】松树的新家 树链剖分
  5. Windows 8.1 去掉库的方法
  6. google svn 服务器使用(免费SVN服务器)
  7. BJOI2015 Day3
  8. linux crontab定时执行
  9. Android Studio导入项目
  10. 雅居乐在核心产品 "决策"
  11. CAS 之 Hello World(二)
  12. Python_eval()
  13. (Python)PO设计模式
  14. VMware ESXi 6.5 安装
  15. MySQL基础配置之mysql的默认字符编码的设置(my.ini设置字符编码) - 转载
  16. pt-online-schema-change 测试使用-包含生成测试数据
  17. Axiom3D:Ogre中Mesh网格分解成点线面。
  18. BIOS设置找不到设置U盘启动
  19. 神奇的照片修复术,这才是 PS 的正确打开方式!
  20. Educational Codeforces Round 55 (Rated for Div. 2) Solution

热门文章

  1. C# 很久以前几个常用类
  2. Android检测WIFI连接、提示框延时消失
  3. sip/sdp/rtp/rtcp/rtsp间的关系
  4. C++模板声明与实现分开--由此想到的编译,链接原理
  5. UltraISO(软碟通) 制作U盘启动盘
  6. 像计算机科学家一样思考python-第4章 案例研究:接口设计
  7. format和urlencode的使用对比
  8. java日期处理的一些例子使用...
  9. 阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第2节 TCP协议_4_TCP通信的服务器端代码实现
  10. ES6标准入门 第二章:块级作用域 以及 let和const命令