news 2026/4/23 19:13:28

Python中的闭包

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python中的闭包

什么是闭包?

先给一个简单的定义:

闭包是嵌套函数的一种特殊形式,满足两个核心条件:

  1. 内层函数引用了外层函数的变量(而非全局变量);
  2. 外层函数返回了内层函数(而非执行内层函数)。

闭包的核心价值是:保留外层函数的变量环境,即使外层函数执行完毕,内层函数依然能访问到这些变量。

简单示例

defouter():print("这是外部函数")username="zhangsan"#局部变量definner():print("这是内部函数")print("username:",username)returninner res=outer()res()#inner()#运行结果这是外部函数 这是内部函数 username:zhangsan

闭包的核心应用

Python 装饰器本质就是闭包,比如实现一个 “计算函数执行时间” 的装饰器:

importtimedeftimer_decorator(func):# 外层函数接收被装饰的函数defwrapper(*args,**kwargs):# 内层函数封装额外逻辑start=time.time()result=func(*args,**kwargs)# 执行原函数end=time.time()print(f"函数{func.__name__}执行耗时:{end-start:.4f}秒")returnresultreturnwrapper# 使用装饰器@timer_decoratordeftest_func():time.sleep(0.5)test_func()# 输出:函数 test_func 执行耗时:0.5001 秒

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 12:30:53

HsMod插件实战手册:从零开始掌握炉石传说自定义功能

HsMod插件实战手册:从零开始掌握炉石传说自定义功能 【免费下载链接】HsMod Hearthstone Modify Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod HsMod是一款基于BepInEx框架开发的炉石传说功能增强插件,为玩家提供丰…

作者头像 李华
网站建设 2026/4/23 13:54:59

HsMod插件完整使用指南:炉石传说游戏体验全面提升方案

HsMod插件完整使用指南:炉石传说游戏体验全面提升方案 【免费下载链接】HsMod Hearthstone Modify Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod HsMod是一款基于BepInEx框架开发的炉石传说功能增强插件,为玩家提供…

作者头像 李华
网站建设 2026/4/23 12:32:48

提升用户体验:Qwen响应时间优化部署实战

提升用户体验:Qwen响应时间优化部署实战 1. 引言 在AI应用日益普及的今天,用户对交互体验的要求不断提高。响应速度作为衡量系统可用性的关键指标,直接影响用户的留存与满意度。尤其是在边缘设备或CPU环境下运行大语言模型(LLM&…

作者头像 李华
网站建设 2026/4/23 16:07:18

从需求到交付:工业控制PCB板生产厂家操作指南

从需求到交付:揭秘工业控制PCB制造的全流程实战指南你有没有遇到过这样的情况?项目紧、客户急,好不容易把电路设计搞定,结果交给PCB厂后却被告知“这个孔太小做不了”、“阻抗不匹配没法量产”、“板子翘曲焊不上BGA”……最后只能…

作者头像 李华
网站建设 2026/4/23 12:05:18

通义千问2.5-7B-Instruct商用合规部署:开源协议与镜像使用指南

通义千问2.5-7B-Instruct商用合规部署:开源协议与镜像使用指南 1. 模型特性与技术定位 通义千问 2.5-7B-Instruct 是阿里于 2024 年 9 月随 Qwen2.5 系列发布的 70 亿参数指令微调语言模型,定位于“中等体量、全能型、可商用”的高效推理模型。该模型在…

作者头像 李华
网站建设 2026/4/23 12:05:02

通义千问2.5长文本生成:生产环境部署详细步骤

通义千问2.5长文本生成:生产环境部署详细步骤 1. 引言 随着大语言模型在实际业务场景中的广泛应用,对长文本生成、结构化数据理解和指令遵循能力的要求日益提升。Qwen2.5 系列作为通义千问最新一代的语言模型,在知识覆盖广度、编程与数学推…

作者头像 李华