统计函数运行时间的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系统)。 注意,有两个插件࿰…...
教学资料档案管理系统
本系统构建 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…...
基于Agenst框架构建AI智能体:从核心原理到工程实践
1. 项目概述:一个AI驱动的智能体框架最近在探索AI应用落地的过程中,我反复思考一个问题:如何让一个大型语言模型(LLM)从一个“聪明的聊天伙伴”,变成一个能真正独立、可靠地完成复杂任务的“智能员工”&…...
STM32F103C8T6驱动WS2812B全彩灯带:手把手教你用PWM+DMA实现呼吸灯和彩虹渐变(附完整代码)
STM32F103C8T6驱动WS2812B全彩灯带:从硬件连接到动态光效的完整实现指南 在智能家居装饰、创意灯光艺术和电子DIY项目中,WS2812B全彩LED灯带因其丰富的色彩表现和简单的单线控制方式而广受欢迎。本文将深入探讨如何利用STM32F103C8T6微控制器的PWM和DMA功…...
Unity AudioSource播放控制全攻略:从Play到UnPause,新手避坑指南
Unity AudioSource播放控制全攻略:从Play到UnPause,新手避坑指南 在游戏开发中,音频控制是营造沉浸式体验的关键要素之一。Unity的AudioSource组件提供了丰富的音频控制功能,但对于刚接触Unity的新手来说,Play、Stop、…...
linux学习进展 线程同步——条件变量
在前面的学习中,我们掌握了互斥锁和读写锁,它们主要解决线程间的资源竞争问题,保证临界区的独占或共享访问。但在实际开发中,我们常会遇到这样的场景:线程需要等待某个“条件满足”后才能执行(比如消费者等…...
保姆级教程:在Ubuntu 24.04上搞定AOSP源码下载与编译(附国内镜像加速)
零基础玩转AOSP:Ubuntu 24.04环境下的源码编译实战指南 1. 环境准备与系统配置 在开始AOSP源码编译之前,确保你的Ubuntu 24.04系统满足以下硬件要求: 存储空间:至少250GB可用空间(源码下载约80GB,编译后占用…...
别再只画ROC了!用R语言全面评估你的预测模型:区分度、校准度与临床实用性
别再只画ROC了!用R语言全面评估你的预测模型:区分度、校准度与临床实用性 在数据科学和临床研究的交叉领域,预测模型的评估往往被简化为ROC曲线和AUC值的单一维度。这种"唯AUC论"的评估方式,就像仅用一把尺子测量三维物…...
AI编程助手PUA技能:用绩效改进计划激发代码助手高能动性
1. 项目概述:当AI遇上“绩效改进计划”,一个让代码助手不再轻易放弃的底层技能如果你用过Claude Code、Cursor或者GitHub Copilot这类AI编程助手,大概率经历过这样的挫败感:你让它修复一个复杂的Bug,它尝试了两三次&am…...
WebGL加速方案解析!Anything to RealCharacters如何实现图片流式传输与渐进渲染
WebGL加速方案解析!Anything to RealCharacters如何实现图片流式传输与渐进渲染 1. 传统图片渲染的瓶颈与挑战 当使用Anything to RealCharacters引擎将2.5D图像转换为写实真人照片时,用户最常遇到的痛点就是生成后的预览等待时间。虽然我们的引擎基于…...
青龙面板依赖终极解决方案:3分钟告别“Module Not Found“错误
青龙面板依赖终极解决方案:3分钟告别"Module Not Found"错误 【免费下载链接】QLDependency 青龙面板全依赖一键安装脚本 / Qinglong Pannel Dependency Install Scripts. 项目地址: https://gitcode.com/gh_mirrors/ql/QLDependency 你是否曾经在…...
Janus-Pro-7B JavaScript调用全攻略:浏览器端与Node.js端集成
Janus-Pro-7B JavaScript调用全攻略:浏览器端与Node.js端集成 最近有不少朋友在问,那个能看懂图片还能聊天的Janus-Pro-7B模型,能不能用JavaScript来调用?毕竟现在很多应用都是跑在浏览器或者Node.js环境里的。 答案是肯定的&am…...
