iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何在Python函数执行前后增加额外的行为
  • 265
分享到

如何在Python函数执行前后增加额外的行为

函数如何在Python 2022-06-04 18:06:01 265人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

首先来看一个小程序,这个是计量所花费时间的程序,以下是以往的解决示例 from functools import wraps, partial from time import time def ti

首先来看一个小程序,这个是计量所花费时间的程序,以下是以往的解决示例


from functools import wraps, partial
from time import time

def timing(func=None, frequencies=1):
 if func is None:
  # print("+None")
  return partial(timing, frequencies=frequencies)
 # else:
  # print("-None")

 @wraps(func)
 def _wrapper(*args, **kwargs):
  start_time = time()
  for t in range(frequencies):
   result = func(*args, **kwargs)
  end_time = time()
  print('运行花费时间:{:.6f}s。'.fORMat(end_time-start_time))
  return result

 return _wrapper


@timing
def run():
 l = []
 for i in range(5000000):
  l.extend([i])
 return len(l)

运行如下:


In [4]: run()
运行花费时间:2.383398s。
Out[4]: 5000000

(喜欢刨根问底的可以去掉注释,并思考预计会有什么样的输出)。

今天无意间看到了python的上下文管理器(Context Manager),发现也非常不错,其实这跟with语句是息息相关的,竟然以前一直未在意。


from time import time

def run2():
 l = []
 for i in range(5000000):
  l.extend([i])
 return len(l)

class ElapsedTime():
 def __enter__(self):
  self.start_time = time()
  return self

 def __exit__(self, exception_type, exception_value, traceback):
  self.end_time = time()
  print('运行花费时间:{:.6f}s。'.format(self.end_time - self.start_time))

with ElapsedTime():
 run2()

总结

初略看了一点官方文档,上下文管理还是有点多内容的。Python发展到现在,其实不简单了。说简单,只是你自己不够与时俱进,掌握的都是老式三板斧而已。所以,知识需要不断更新,才能弥补自己的盲点,以上就是本文的全部内容,希望能大家的学习或者工作带来一定的帮助。

--结束END--

本文标题: 如何在Python函数执行前后增加额外的行为

本文链接: https://www.lsjlt.com/news/14116.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • jQuery如何在页面加载后执行函数?
    ...
    99+
    2024-04-02
  • vue如何执行外部函数
    在vue中执行外部函数的方法:1.新建text.js文件,并定义函数;2.创建vue.js项目;3.使用import方法引入text.js文件;4.使用methods方法执行text.js文件中的函数;具体步骤如下:首先,新建一个text....
    99+
    2024-04-02
  • jquery如何在最后增加一行信息
    这篇文章给大家分享的是有关jquery如何在最后增加一行信息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 jquery在最后增加一行信息的方法:1、...
    99+
    2024-04-02
  • python函数嵌套如何执行
    在python中执行嵌套函数的方法执行不带参数的嵌套函数def outer_func():x=1def inner_func():result=x+1print(result)return inner_funcf1=outer_func()...
    99+
    2024-04-02
  • python如何结束执行函数
    在python中使用return语句结束执行函数,具体方法如下:>>> def fun():print 'ok'>>> res=fun()ok>>> type(res)>>> res==NoneTrue>>> def func():prin...
    99+
    2024-04-02
  • 如何使用php内置函数来增加程序的执行速度?
    随着网络应用程序的复杂性增加,程序的执行速度成为了一个非常重要的考量指标。而PHP作为一种广泛应用的服务器端脚本语言,对于提升程序的执行速度尤为关键。本文将介绍一些使用PHP内置函数来增加程序执行速度的技巧,并提供具体的代码示例。使用字符串...
    99+
    2023-10-21
    缓存 (Cache) 优化 (Optimize) 并行 (Parallel)
  • python如何周期性执行函数
    在python中使用sched模块实现周期性执行函数,具体方法如下:import time,sched,os #初始化sched模块的scheduler类s = sched.scheduler(time.time,time.sleep)de...
    99+
    2024-04-02
  • 如何在javascript中停止执行函数
    本篇文章给大家分享的是有关如何在javascript中停止执行函数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在javascript中如果要终止一个函数的用return即可,...
    99+
    2023-06-14
  • python如何在程序退出前执行代码
    这篇文章主要为大家展示了“python如何在程序退出前执行代码”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何在程序退出前执行代码”这篇文章吧。在程序退出前执行代码的技巧使用 at...
    99+
    2023-06-27
  • Python如何控制函数执行顺序
    在Python中使用del关键字控制函数的执行顺序,具体方法如下:def foo():print ('in the foo')bar()def bar():print ('in the bar')foo()...
    99+
    2024-04-02
  • php如何实现几秒后执行一个函数
    本篇内容介绍了“php如何实现几秒后执行一个函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实现方法:1、使用“sleep(延迟秒数)”语...
    99+
    2023-06-30
  • PHP函数是如何在服务器端执行的?
    php函数在服务器端执行流程:解析请求,确定页面包含php代码;启动php解释器,加载和解析脚本;编译指令成opcode;执行opcode,生成响应;发送响应回浏览器。 PHP 函数的...
    99+
    2024-04-19
    php 服务器端执行 表单提交
  • 如何在SQLite中执行聚合函数操作
    在SQLite中执行聚合函数操作非常简单,只需使用SQL语句即可。 例如,如果您想计算某个表中某列的平均值,可以使用如下语句: SE...
    99+
    2024-03-14
    SQLite
  • python如何在程序退出之前执行代码的提示
    小编给大家分享一下python如何在程序退出之前执行代码的提示,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在程序退出之前执行代码的提示使用内置模块atexit,...
    99+
    2023-06-27
  • golang函数如何控制goroutine的执行?
    go 函数控制 goroutine 执行有以下方式:runtime.goexit():强制终止当前 goroutine。sync.waitgroup: 等待一组 goroutines 完...
    99+
    2024-05-04
    golang
  • 如何在Oracle中执行数据加密和解密
    在Oracle中执行数据加密和解密可以通过使用Oracle Advanced Security Option来实现。下面是一个简单的...
    99+
    2024-04-09
    Oracle
  • 如何解决Jquery $.ajax函数外的一段代码的执行顺序
    本篇内容主要讲解“如何解决Jquery $.ajax函数外的一段代码的执行顺序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决Jquery $.ajax函...
    99+
    2024-04-02
  • udp的recvfrom函数不执行如何解决
    有几种可能的原因导致`recvfrom`函数没有执行:1. 没有接收到任何数据包:确保你的程序可以接收到UDP数据包。你可以使用网络...
    99+
    2023-08-24
    recvfrom udp
  • 如何跟踪 PHP 函数的执行顺序?
    要跟踪 php 函数的执行顺序:安装并配置 xdebug 扩展。在要跟踪的函数上附加 @ 符号。查看在指定的输出目录中生成的 trace.xdebug 文件,其中包含函数调用顺序、参数和...
    99+
    2024-04-17
    php 跟踪函数执行顺序
  • 如何提高 PHP 函数的执行速度
    优化 php 函数执行速度有以下四种方法:1. 避免不必要的循环;2. 缓存昂贵的计算;3. 使用原生函数;4. 使用类型提示。实战中,通过对 calculatetaxrate 函数进行...
    99+
    2024-04-23
    php 运行效率
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作