下面这段代码中的hello()函数使用装饰器,直接调用hello时,会用装饰器中的print_timewrapper函数覆盖掉原有的函数,因此实现的功能就是先执行函数,然后打印函数执行的时间

import timedef print_time(func):def wrapper(*args, **kw):start = time.time()func(*args, **kw)end = time.time()print(func.__name__, ':', str(end - start))return wrapper@print_time
def hello(a):print('I am hello :', a)if __name__ == '__main__':hello(1234)

输出结果是:

I am hello : 1234
hello : 2.3126602172851562e-05

python装饰器记录每一个函数的执行时间相关推荐

  1. Python 装饰器记录总结 (终极版)

    Python 装饰器记录总结 (终极版) 原文链接:http://magicroc.com/2017/04/10/Python装饰器记录总结/ 装饰器是一个函数,一个用来包装函数的函数,装饰器在函数申 ...

  2. Python装饰器是什么?使用Python装饰器实现计算程序(函数)运行时间的功能

    Python装饰器是什么?使用Python装饰器实现计算程序(函数)运行时间的功能 目录

  3. python装饰器与闭包_Python:函数装饰器和闭包

    摘自<流畅的python> 7.1 装饰器基础知识 装饰器是可调用的对象,其参数是另一个函数(被装饰的函数). 装饰器可能会处理被装饰的函数,然后把它返回,或者将其替换成另一个函数或可调用 ...

  4. Python装饰器、内置函数之金兰契友

    装饰器:装饰器的实质就是一个闭包,而闭包又是嵌套函数的一种.所以也可以理解装饰器是一种特殊的函数. 因为程序一般都遵守开放封闭原则,软件在设计初期不可能把所有情况都想到,所以一般软件都支持功能上的扩展 ...

  5. python装饰器 稀里糊涂_万恶之源 - Python装饰器及内置函数

    装饰器 听名字应该知道这是一个装饰的东西,我们今天就来讲解一下装饰器,有的铁子们应该听说,有的没有听说过.没有关系我告诉你们这是一个很神奇的东西 这个有多神奇呢? 我们先来复习一下闭包 def fun ...

  6. Python|装饰器|执行时间|递归|动态属性|静态方法和类|继承和多态|isinstance类型判断|溢出|“魔法”方法|语言基础50课:学习记录(6)-函数的高级应用、面向对象编程、进阶及应用

    文章目录 系列目录 原项目地址: 第16课:函数的高级应用 装饰器(记录执行时间的例子) 递归调用 简单的总结 第17课:面向对象编程入门 类和对象 定义类 创建和使用对象 初始化方法 打印对象 面向 ...

  7. Python 装饰器 函数

    Python装饰器学习(九步入门):http://www.cnblogs.com/rhcad/archive/2011/12/21/2295507.html 浅谈Python装饰器:https://b ...

  8. python装饰器函数-Python函数装饰器指南

    Python 具有强大的功能和富有表现力的语法.我最喜欢的装饰之一.在设计模式的上下文中,装饰器动态更改方法或类功能,而不必直接使用子类.当您需要扩展功能,但不想修改原函数时,这是理想的选择.我们可以 ...

  9. python装饰器-Python @函数装饰器及用法(超级详细)

    前面章节中,我们已经讲解了 Python 内置的 3 种函数装饰器,分别是 @staticmethod.@classmethod 和 @property,其中 staticmethod().class ...

最新文章

  1. QOS的qmtoken 1
  2. vue-router路由基础
  3. l3fwd 是什么_服务器DPDK l3fwd性能测试
  4. Ubuntu 安装软件的三种方式
  5. LeetCode Populating Next Right Pointers in Each Node II(dfs)
  6. 一文了解 ng-template, ng-content, ng-container, 和 *ngTemplateOutlet的区别
  7. 谷歌浏览器如何将繁体字设置成中文?
  8. python qt5 增加文本框_Python用PyQt5制作弹出式输入框,Qt图形界面编程之QInputDialog...
  9. java servlet 开发_Java之基于Servlet的Web开发简介
  10. java关键字与解释_5.Java基础知识-注释和关键字
  11. 关于Bitmapimage图片保存(png格式)
  12. python2000个5除以84的余数_python中负数除法的求商和取余的问题
  13. FreeRTOS中的 ’上下文切换‘ 含义
  14. http代表的是什么?http代表的是什么意思
  15. 测试面试题集锦(六)| 软素质篇与反问面试官篇(附答案)
  16. Spring Boot概述与入门特点配置方式注入方式yim配置文件与多文件配置Spring Boot自动配置原理lombok应用
  17. 网通相中中国联通GSM网络 联通暂无意租售
  18. 2018年下半年系统集成项目管理工程师下午案例分析真题
  19. C语言的文件读写操作
  20. 仿大众点评——秒杀系统部分02

热门文章

  1. UE4 在游戏中使用Slate
  2. Grand Central Dispatch(GCD)
  3. Page cache和Buffer cache
  4. Vue SSR(Vue2 + Koa2 + Webpack4)配置指南
  5. 管道符和作业控制 shell变量 环境变量配置文件
  6. Android TextView 带背景的文字垂直方向显示(ems属性)
  7. yii2.0 错误处理
  8. 网站地图sitemap.xml的格式
  9. 用lsof恢复已删除的文件
  10. 总结C++中取成员函数地址的几种方法