装饰器的使用

2022-09-17

装饰器的使用实例——获得计时函数所用时间:

 1 import time
 2 # 定义装饰器函数
 3 def decorator(fun):
 4     def inner():
 5         # 获得开始时间
 6         start = time.time()
 7         # 执行计时函数
 8         fun()
 9         # 执行计时函数之后所用的时间
10         end = time.time()
11         # 计时所用的时间
12         timing = end - start
13         print("计时消耗的时间为:",timing)
14     return inner
15 
16 @decorator
17 def work():
18     for i in range(10000):
19         print(i)
20 
21 # 调用函数
22 work()

切记:

  在定义已有函数,而且添加装饰器后,要调用函数,要不然运行代码时,无结果。

运行结果:

  前面是0-9999,一行一个数字,最后面是一个运行时间。

注意点:

  使用time函数时,要将time函数所在的模块导入,使用“import”。time函数表示的含义是:从当前时间到1970年1月1号0时0分1秒的时间间隔。因此,想要获得计时函数所用时间,需要得到未运行的时间间隔和已运行的时间间隔,之后两者相减,才是最终要用的结果。

 

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:装饰器的使用 - Python技术站

(0)
上一篇 2023年4月2日 下午4:58
下一篇 2023年4月2日

相关文章

  • 使用多个装饰器

    2022-09-18 多个装饰器使用的实例: 1 # 定义一个装饰器 2 def make_p(func): 3 print(“执行装饰器make_p”) 4 5 def inner(): 6 # 对已有函数增加新的功能 7 result = “<p>” + func() + “</p>” 8 # 和已有函数保持一致,如果已有函数有返…

    2023年4月2日
    00
  • 学习笔记——Django项目中的请求

    2022-10-03 url中的位置参数  位置参数存放的位置   是子应用中的自定义的“urls.py”文件中的路由中。 位置参数的设置:   如果位置参数很多,那么在自定义中的路由文件中可以使用正则表达式。位置参数就是在浏览器搜索中对应的关键词时,能够跳转到相应的界面。界面内容的设置是在子应用的“views.py”页面中。 子应用中的“urls.py”文…

    Python开发 2023年4月2日
    00
  • 运行的第一个Django

    2022-09-24 创建了一个Django项目后,进行测试,输入指令: python manage.py runserver 出现了如下问题:      我还想着,Django模块通过安装“pip install django”导入了好几遍,尝试了几次都是这样。后来发现,是虚拟环境中没有Django模块的文件夹。之后,将之前下载解压的Django文件夹放入…

    2023年4月2日
    00
  • 学习笔记——Django项目中的请求与响应

    2022-10-01 ALLOWED_HOSTS “ALLOWED_HOSTS”的含义:   它是指允许放在“ALLOWED_HOSTS”的主机进行访问后端 “ALLOWED_HOSTS”的说明:   它一般默认是“127.0.0.1”,如果添加上其他的主机的话,其他主机也可访问此项目的view,但是此时,需要手动将”127.0.0.1″加入到“ALLOWE…

    Python开发 2023年4月2日
    00
  • 闭包第2天

    2022-09-10 闭包的使用实例 1 def config_name(name): 2 def inner(msg): 3 print(name + “:” + msg) 4 5 print(id(inner)) 6 return inner 7 8 A = config_name(“A”) 9 B = config_name(“B”) 10 A (“有…

    2023年4月2日
    00
  • 学习笔记——Django项目中新增数据、修改数据

    2022-09-30 新增数据 方式一: 进入虚拟环境,进入shell工具环境中(“python manage.py shell”),插入数据。在插入数据之前,可以先将要插入的内容写在“views.py”中,,这样做的目的是先写在此处会有代码提示,较为方便。之后将内容放到shell工具中。 首先,先要导入某个表,使用的是ORM模式,因此导入的是一个子应用中的…

    Python开发 2023年4月2日
    00
  • 类装饰器

    2022-09-18  类装饰器的定义:   使用一个类作为一个装饰器,在类里面对已有函数添加其他功能。 类装饰器使用的一个实例: 1 class MyDecorator(object): 2 def __init__(self,func): 3 self.__func = func 4 5 def __call__(self, *args, **kwarg…

    2023年4月2日
    00
  • 创建一个Django项目总结

    2022-09-25  首先,要安装好虚拟环境,之后要切换到虚拟环境中,使用的命令 workon 创建好的虚拟环境的名称 之后,创建一个Django项目使用的命令: django-admin startproject 项目名称 进入到该项目的目录下,创建一个子应用,使用的命令: python manage.py startapp 要创建的子应用的名称 其中 …

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部