当前位置: 首页 > news >正文

统计函数运行时间的python脚本

        这是一个统计函数运行时间的实用脚本,其中用到了函数的嵌套、链式传输参数,以及修饰器。

import time# 定义一个装饰器timer,用于计算被装饰函数的运行时间
def timer(func):print("执行了timer")def wrapper(*args, **kwargs):start = time.time()out = func(*args, **kwargs)end = time.time()print("耗时", end - start)return outreturn wrapper# 使用timer装饰器装饰函数
@timer
def func1(n):print("执行了func1")for i in range(n):i += 1return ix = func1(10000000)  # 由于使用了装饰器,自动调用被装饰的函数
# @timer 是装饰器语法,等价于 func1 = timer(func1)。
print("func1输出=",x)# 不使用装饰器直接调用函数
def func2(n):print("执行了func2")for i in range(n):i += 1return i
x = timer(func2)(10000000)   # 通过链式调用,传递参数
print("func2输出=",x)# 输出结果:
"""
执行了timer
执行了func1
耗时 0.4021315574645996
func1输出= 10000000
执行了timer
执行了func2
耗时 0.3547825813293457
func2输出= 10000000
"""

相关文章:

统计函数运行时间的python脚本

这是一个统计函数运行时间的实用脚本,其中用到了函数的嵌套、链式传输参数,以及修饰器。 import time# 定义一个装饰器timer,用于计算被装饰函数的运行时间 def timer(func):print("执行了timer")def wrapper(*args, **kwargs):st…...

大模型WebUI:Gradio全解11——使用transformers.agents构建Gradio UI(3)

大模型WebUI:Gradio全解11——使用transformers.agents构建Gradio UI(3) 前言本篇摘要11. 使用transformers.agents构建Gradio UI11.3 创建和使用工具Tools11.3.1 默认工具箱与load_tool11.3.2 创建新工具11.3.3 管理代理的工具箱toolbox11.3…...

spring boot知识点5

1.如何你有俩套配置环境,运行时如何选择 如果有俩套配置环境,则需要三个yml application.yml 用于配置你用那个配置环境 application-dev.yml 用于开发配置环境 application-prod.yml 用于发布配置环境 spring:profiles:active: prod # 指定当前激…...

【C++】面向对象的三大特性

面向对象编程三大核心特性:封装、继承和多态。 1. 封装 封装指的是将数据和操作这些数据的方法绑定在一起,形成一个对象,并且隐藏对象的内部实现细节,只暴露必要的接口。封装的目的是保护数据,确保外部代码不能直接访…...

Docker构建时,设定默认进入的工作目录的方法

在 Docker 中,你可以通过不同的方式来设定容器默认进入的目录,以下针对不同场景分别介绍具体方法: 1. 使用 Dockerfile 设定工作目录 如果你是通过构建镜像的方式来运行容器,那么可以在 Dockerfile 中使用 WORKDIR 指令来设置容器启动时的默认工作目录。以下是具体步骤:…...

DeepSeek等大模型功能集成到WPS中的详细步骤

记录下将**DeepSeek功能集成到WPS中**的步骤,以备忘。 1. 下载并安装OfficeAI插件 访问OfficeAI插件下载地址:https://www.office-ai.cn/,下载插件(目前只支持windows系统)。 注意,有两个插件&#xff0…...

教学资料档案管理系统

本系统构建 JAVA 体系的后端系统,围绕以安全,可靠,高速,健壮,易于扩展为目标的方向进行开发,在阿里等开源库的基础上实现提供教学资料档案的管理系统的后端接口的微服务架构系统。 功能包含:系…...

linux core分析---TLS读取异常

文章目录 TLS概念core 线程调用栈查看堆栈: bt查看所有线程堆栈:core分析:锁分析代码修改:thread8 f 4 (第四层堆栈) jcallback.c:186**thread10 f4 SynStack.cpp:1175tl_send_message 加锁修改tls_table1 socket_tab加锁保护2 增加tls_table 中buse的使用3 tls_tl_read_mes…...

SpringBoot 排除一些包的注入

文章目录 需求一、使用 ComponentScan 需求 在系统迭代的过程中,有一些 Controller 大批量的不再使用,或者有一些接口我们不想再提供给外界 一、使用 ComponentScan SpringBootApplication(scanBasePackages "com.zrb.excludeSomePkg") Comp…...

PHP Composer:高效项目依赖管理工具详解

PHP Composer:高效项目依赖管理工具详解 引言 随着Web开发领域的不断扩展,项目的复杂性也在逐渐增加。为了提高开发效率,减少重复劳动,依赖管理工具应运而生。其中,PHP的Composer成为了开发者们的首选。本文将详细介绍PHP Composer的功能、使用方法以及在实际开发中的应…...

第四届图像、信号处理与模式识别国际学术会议(ISPP 2025)

重要信息 大会官网:www.icispp.com 大会时间:2025年3月28日-30日 大会地点:南京 简介 由河海大学和江苏大学联合主办的第四届图像、信号处理与模式识别(ISPP 2025) 将于2025年3月28日-30日在中国南京举行。主要围绕图像信号处…...

【设计模式精讲】创建型模式之工厂方法模式(简单工厂、工厂方法)

文章目录 第四章 创建型模式4.2 工厂方法模式4.2.1 需求: 模拟发放奖品业务4.2.2 原始开发方式4.2.3 简单工厂模式4.2.3.1 简单工厂模式介绍4.2.3.2 简单工厂原理4.2.3.3 简单工厂模式重构代码4.2.3.4 简单工厂模式总结 4.2.4 工厂方法模式4.2.4.1 工厂方法模式介绍4.2.4.2 工厂…...

python:多重继承、MRO(方法解析顺序)

在 Python 中,当类存在多重继承时,方法的调用顺序由 方法解析顺序(Method Resolution Order, MRO) 决定。 Python 使用 C3线性化算法 来确定类的继承顺序(MRO),其核心规则是: 子类优…...

Oracle RAC数据库单节点轮流重启

0、sqlplus / as sysdba 备份参数文件 create pfile/home/oracle/pfile.ora from spfile; 备份控制文件 Alter database backup controlfile to trace; 1、关闭两节点的监听; 2、操作系统层面kill掉所有LOCALNO的所有进程,即:连接会话。 p…...

电脑想安装 Windows 11 需要开启 TPM 2.0 怎么办?

尽管 TPM 2.0 已经内置在许多新电脑中,但很多人并不知道如何激活这一功能,甚至完全忽略了它的存在。其实,只需简单的几步操作,你就能开启这项强大的安全特性,为你的数字生活增添一层坚固的防护屏障。无论你是普通用户还…...

Vue 3 中如何注册全局自定义组件:一个 SVG 图标的例子

Vue 3 中如何注册全局自定义组件:一个 SVG 图标的例子 嘿,小伙伴们!今天我们来聊一下在 Vue 3 中如何注册一个全局的自定义组件。我知道有时候我们想要重复使用某些组件,比如说 SVG 图标,但不想在每个地方都重新定义。…...

SpringBoot+Vue3-学习笔记

1、SpringBoot特性 ①起步依赖,所有需要的依赖全部配置在一起 ②自动配置:遵循约定大约配置的原则,在boot程序启动后,一些bean对象会自动注入到ioc容器,不需要手动声明,简化开发 ③内嵌的Tomcat、Jetty(无…...

银河麒麟系统安装mysql5.7【亲测可行】

一、安装环境 cpu:I5-10代; 主板:华硕; OS:银河麒麟V10(SP1)未激活 架构:Linux 5.10.0-9-generic x86_64 GNU/Linux mysql版本:mysql-5.7.34-linux-glibc2.12-x86_64.ta…...

为什么WP建站更适合于谷歌SEO优化?

在当今数字时代,建立一个网站似乎变得容易,但要构建一个真正能够带来流量和订单的网站却并非易事。特别是在谷歌SEO优化方面,不同的建站程序在SEO支持方面的效果差异显著。对于希望提升搜索引擎表现的用户来说,WordPress无疑是最佳…...

ue----git局域网内部署裸仓库,别的机器进行访问

最近由于经常迁移项目到另一台机器上进行部署更新一点就要整个迁移 弄得麻烦了 就在网上学了一下这个方式 首先我们在想要建立裸仓库的电脑上找到一个文件夹放置我们的裸仓库 在此点击鼠标右键选择 open git bash here 输入命令 创裸仓库 git init --bare gitTestName.git…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

ES6从入门到精通:前言

ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

【Oracle APEX开发小技巧12】

有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...