类变量和全局变量的生命周期有什么区别?
Python类变量 vs 全局变量 — 生命周期区别核心一句话全局变量依附模块类变量依附类对象。谁的宿主活着变量就活着宿主被 GC 回收变量跟着销毁。一、全局变量全局变量定义在模块顶层保存在模块对象的__dict__。创建时机模块被第一次导入import的时候执行模块代码创建全局变量。存活期间模块一旦导入成功模块对象会一直驻留内存放到sys.modules缓存。 只要进程没结束模块就不会被回收全局变量一直存在。即使你不再使用模块里的函数模块对象依然在sys.modules全局变量保留。销毁时机正常情况程序进程退出时才销毁极少数场景手动从sys.modules删除模块引用 无任何其他引用才会 GC 回收模块全局变量随之释放实际开发极少这么做特点生命周期很长几乎贯穿整个程序运行期。二、类变量类变量写在class内部、方法之外保存在类对象的__dict__。创建时机执行class定义语句那一刻Python 会创建类对象同时生成类变量。class A: x 10 # 执行class这一行就创建类变量x存活期间只要类对象还有引用类变量就存在。 引用来源可以是类名本身A类的实例其他地方保存的类引用销毁时机当类对象所有引用全部消失GC 把类对象回收类变量跟着一起销毁。如果这个类一直被引用比如全局作用域定义的类类变量就和全局变量一样活到程序结束如果函数内部动态定义 class函数执行完没有外部引用类对象就会被 GC类变量直接释放。示例def create_class(): class Temp: val 99 return Temp() obj create_class() # 只要obj还在Temp类对象就存在Temp.val类变量存活 del obj # obj删除后如果没有任何地方引用Temp类类对象被GCval销毁三、关键差异点宿主不同全局变量宿主是模块对象模块一旦缓存进 sys.modules 很难回收。类变量宿主是类对象类对象满足无引用条件就可以 GC。生命周期灵活性全局变量一旦导入基本常驻内存很难主动释放。类变量可以随类对象销毁而释放。动态创建的类用完即可回收内存可以释放。定义位置带来的常见现象很多类写在模块顶层这时类对象本身就是全局的类变量也会活到程序结束看起来生命周期和全局变量一样。这是很多人容易混淆的点不是类变量天生短命是看类对象的引用是否还存在。实例删除不影响类变量就算所有实例全部 del只要类本身还在类变量依然存活。class A: x 1 a1 A() del a1 print(A.x) # 仍然存在类对象A还在四、对比表表格项目全局变量类变量归属宿主模块对象类对象创建时机模块第一次 import执行模块代码执行class定义语句时创建销毁条件模块从 sys.modules 移除 无引用一般进程结束销毁类对象全部引用消失GC 回收类对象类变量销毁是否可主动回收很难模块会被 sys.modules 缓存可以解除类的所有引用即可被 GC实例删除影响无关删除实例只要类还在类变量不变典型生命周期几乎贯穿整个程序可长可短顶层定义类则常驻动态类用完可回收五、简单总结模块顶层定义的全局变量程序启动导入后一直存活直到程序退出。类变量的生命周期绑定类对象类在模块顶层定义 → 类常驻类变量常驻动态创建局部类 → 引用消失mp.ma-xy.com/blog/9kLm2QpX7a.htmlmp.ma-xy.com/blog/Zx4Tn8Vr1B.htmlmp.ma-xy.com/blog/Qw7Yh3Ns5D.htmlmp.ma-xy.com/blog/Mc2Jv9Kp6E.htmlmp.ma-xy.com/blog/Rt8Bn4Xz0F.htmlmp.ma-xy.com/blog/Hg5Lp1Wq7G.htmlmp.ma-xy.com/blog/Uv3Dm6Yr2H.htmlmp.ma-xy.com/blog/Pa9Kc4Nt8J.htmlmp.ma-xy.com/blog/Se2Qx7Vb5K.htmlmp.ma-xy.com/blog/Fn6Wm1Zp3L.htmlmp.ma-xy.com/blog/Yd4Hr9Cv2M.htmlmp.ma-xy.com/blog/Jk7Tq3Bs8N.htmlmp.ma-xy.com/blog/Ol1Pm5Xw6P.htmlmp.ma-xy.com/blog/Bg8Nc2Vr4Q.htmlmp.ma-xy.com/blog/Xm5Kt7Yd1R.htmlmp.ma-xy.com/blog/Cv9Qp3Ln6S.htmlmp.ma-xy.com/blog/Zr2Wm8Hx4T.htmlmp.ma-xy.com/blog/Nk6Jd1Vp9U.htmlmp.ma-xy.com/blog/Lq4Yt7Bc2V.htmlmp.ma-xy.com/blog/Wp8Rm3Nx5W.htmlmp.ma-xy.com/blog/Td1Kv6Qs9X.htmlmp.ma-xy.com/blog/Hx5Pm2Zr7Y.htmlmp.ma-xy.com/blog/Gc9Bn4Wt1Z.htmlmp.ma-xy.com/blog/Vr3Lq8Jd6A.htmlmp.ma-xy.com/blog/Mp7Yx2Kc5B.htmlmp.ma-xy.com/blog/Ks4Wm9Nv3C.htmlmp.ma-xy.com/blog/Qn1Rt6Bp8D.htmlmp.ma-xy.com/blog/Dz5Jv2Xm7E.htmlmp.ma-xy.com/blog/Sb9Lq4Hr1F.htmlmp.ma-xy.com/blog/Yt3Pm8Kx6G.htmlmp.ma-xy.com/blog/Rc7Wn1Vd4H.htmlmp.ma-xy.com/blog/Bp2Qx9Lm5J.htmlmp.ma-xy.com/blog/Nv6Tr3Yc8K.htmlmp.ma-xy.com/blog/Lm1Jd7Wp2L.htmlmp.ma-xy.com/blog/Xq5Kv9Bn4M.htmlmp.ma-xy.com/blog/Ct8Rm2Hx7N.htmlmp.ma-xy.com/blog/Zp3Yq6Ld1P.htmlmp.ma-xy.com/blog/Gv9Wm4Nc5Q.htmlmp.ma-xy.com/blog/Hk2Jx7Rt8R.htmlmp.ma-xy.com/blog/Md6Pq1Bv3S.htmlmp.ma-xy.com/blog/Tn8Lm5Wx2T.htmlmp.ma-xy.com/blog/Qr4Yp9Kc7U.htmlmp.ma-xy.com/blog/Vx1Jv6Nd3V.htmlmp.ma-xy.com/blog/Kp7Wm2Ht9W.htmlmp.ma-xy.com/blog/Bc5Rq8Lx4X.htmlmp.ma-xy.com/blog/Nm9Yd3Pv1Y.htmlmp.ma-xy.com/blog/Lt2Kx7Bc6Z.htmlmp.ma-xy.com/blog/Xv8Qm4Nr5A.htmlmp.ma-xy.com/blog/Cp1Jd9Wt3B.htmlmp.ma-xy.com/blog/Zk6Lq2Yx8C.htmlmp.ma-xy.com/blog/Gr3Pm7Vc1D.htmlmp.ma-xy.com/blog/Hx9Bn5Kd4E.htmlmp.ma-xy.com/blog/Mv2Tq8Lm6F.htmlmp.ma-xy.com/blog/Tc7Yp1Rx3G.htmlmp.ma-xy.com/blog/Qm4Jv9Wd5H.htmlmp.ma-xy.com/blog/Vp8Km2Nx7J.htmlmp.ma-xy.com/blog/Kd1Lq6Bt9K.htmlmp.ma-xy.com/blog/Bx5Rm3Yc2L.htmlmp.ma-xy.com/blog/Nq9Pv7Hd4M.htmlmp.ma-xy.com/blog/Lm3Jx1Wt6N.htmlmp.ma-xy.com/blog/Xc8Qm5Bv2P.htmlmp.ma-xy.com/blog/Cv4Kd9Nr7Q.htmlmp.ma-xy.com/blog/Zp1Yq6Lx3R.htmlmp.ma-xy.com/blog/Gt7Wm2Vc9S.htmlmp.ma-xy.com/blog/Hk5Jv8Rd1T.htmlmp.ma-xy.com/blog/Mx9Pq3Bn6U.htmlmp.ma-xy.com/blog/Tm2Ld7Wv4V.htmlmp.ma-xy.com/blog/Qc6Yp1Kx8W.htmlmp.ma-xy.com/blog/Vr3Jm9Nt5X.htmlmp.ma-xy.com/blog/Kp8Qv4Bd2Y.htmlmp.ma-xy.com/blog/Bm1Lx6Wc7Z.htmlmp.ma-xy.com/blog/Nv5Rd9Yp3A.htmlmp.ma-xy.com/blog/Lq2Km7Jx8B.htmlmp.ma-xy.com/blog/Xt9Pm4Vc1C.htmlmp.ma-xy.com/blog/Cd3Qv8Bn6D.htmlmp.ma-xy.com/blog/Zx7Lp2Yr5E.htmlmp.ma-xy.com/blog/Gm1Jd6Wv9F.htmlmp.ma-xy.com/blog/Hv4Kq9Nx2G.htmlmp.ma-xy.com/blog/Mp8Rm3Bc7H.htmlmp.ma-xy.com/blog/Tq1Yv5Ld4J.htmlmp.ma-xy.com/blog/Qx6Jm2Wt9K.htmlmp.ma-xy.com/blog/Vc3Pq7Rn1L.htmlmp.ma-xy.com/blog/Km9Ld4Bv6M.htmlmp.ma-xy.com/blog/Bp2Xv8Yc3N.htmlmp.ma-xy.com/blog/Nr5Qm1Jx7P.htmlmp.ma-xy.com/blog/Lv8Kd3Wt2Q.htmlmp.ma-xy.com/blog/Xm4Pq9Bc6R.htmlmp.ma-xy.com/blog/Ct1Rv7Lx5S.htmlmp.ma-xy.com/blog/Zp8Jm2Yd4T.htmlmp.ma-xy.com/blog/Gq3Kv6Nx9U.htmlmp.ma-xy.com/blog/Hm7Ld1Wc5V.htmlmp.ma-xy.com/blog/Mv4Pq8Bt2W.htmlmp.ma-xy.com/blog/Tr9Ym3Jx6X.htmlmp.ma-xy.com/blog/Qc2Kv7Ld1Y.htmlmp.ma-xy.com/blog/Vp6Rm4Nc8Z.htmlmp.ma-xy.com/blog/Kx1Jd9Wv3A.htmlmp.ma-xy.com/blog/Bm5Qq2Yt7B.htmlmp.ma-xy.com/blog/Nc8Lm4Hx1C.htmlmp.ma-xy.com/blog/Lv3Pq9Rd6D.htmlmp.ma-xy.com/blog/Xt7Km2Bc5E.html类连同类变量一起被 GC 回收。如果你想我可以用代码配合gc模块演示看类对象什么时候被垃圾回收。

相关新闻

huggingface_hub 默认 Model Card 模板全解析:从 Jinja2 渲染到 Hub 发布实战

huggingface_hub 默认 Model Card 模板全解析:从 Jinja2 渲染到 Hub 发布实战

开发工具CLI机器学习 【免费下载链接】huggingface_hub The official CLI and Python client for the Hugging Face Hub. 项目地址: https://gitcode.com/gh_mirrors/hu/huggingface_hub 点击查看 免费下载 huggingface_hub 官方客户端在 templates/modelcard_temp…

2026/10/5 10:12:48 阅读更多 →
ESP32-S3环境监测实战:BME280与ENS160数据采集全解析

ESP32-S3环境监测实战:BME280与ENS160数据采集全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 10:11:48 阅读更多 →
FluidNC InputFile 128 字节边界数据丢失:根因分析、修复方案与诊断测试指南

FluidNC InputFile 128 字节边界数据丢失:根因分析、修复方案与诊断测试指南

嵌入式固件硬件开发智能硬件 【免费下载链接】FluidNC The next generation of motion control firmware 项目地址: https://gitcode.com/gh_mirrors/fl/FluidNC 点击查看 免费下载 导读 本文以 FluidNC 仓库中的问题诊断文档 INPUTFILE_FIX_SUMMARY.md 为核心骨架…

2026/10/5 10:11:47 阅读更多 →

最新新闻

.NET 6 WebApi JWT鉴权实战:从401调试到Token续签

.NET 6 WebApi JWT鉴权实战:从401调试到Token续签

简介:本资源是一套基于.NET 6平台构建Web API并集成JWT身份鉴权的完整实战源码,面向C#后端开发初学者及Web API安全实践者,解决现代API服务中用户认证与授权的核心问题。压缩包含68个文件,总大小1.43MB,涵盖11个C#业务…

2026/10/5 14:25:43 阅读更多 →
SpringBoot+Vue校园视频平台开发:从环境搭建到部署答辩全流程

SpringBoot+Vue校园视频平台开发:从环境搭建到部署答辩全流程

从 2021 年开始,每年带毕设那几个月我都会接触大量“校园视频平台”这类的题目,点名率和“校园二手交易平台”几乎不相上下。SpringBoot Vue 是当前计算机毕业设计里最稳的一对搭档,上手难度适中、资料多、答辩也不容易被问住。这篇就围绕“…

2026/10/5 14:25:43 阅读更多 →
真正的工程师,是能防患于未然的人:创业者的招人避雷指南与开发工程师的价值觉醒书

真正的工程师,是能防患于未然的人:创业者的招人避雷指南与开发工程师的价值觉醒书

创业公司招技术人才,别把“能写代码”当成“工程师”摘要:很多创业公司招技术人才时,容易把“能写代码”当成“工程师”,从而陷入“人月神话”“加班魔咒”“选错赛道”。真正的工程师会为质量、性能和技术路线负责,具…

2026/10/5 14:25:43 阅读更多 →
RAG精排与MMR去冗余:Cross-Encoder与llama.cpp GGUF实战

RAG精排与MMR去冗余:Cross-Encoder与llama.cpp GGUF实战

1. 为什么召回之后还需要一道“精排”工序很多人第一次搭问答系统时,都会经历这样一个阶段:向量库接好了,embedding 模型也选了,top-k 一调,感觉效果还行,于是就直接把召回结果丢给大模型去生成答案。结果上…

2026/10/5 14:25:43 阅读更多 →
ADMM多主体协同调度:EV用户演化+绿证碳交易融合模型

ADMM多主体协同调度:EV用户演化+绿证碳交易融合模型

简介:本资源是一篇面向智能电网与低碳能源系统研究者的学术论文复现资料,聚焦“双碳”目标下电动汽车用户演化与多主体协同优化问题,为从事能源管理、多主体博弈建模及分布式优化算法应用的科研人员与工程师提供完整技术支撑。资源包含1个PDF…

2026/10/5 14:24:43 阅读更多 →
Spring Boot拍卖网站系统核心实现与并发竞价控制实战

Spring Boot拍卖网站系统核心实现与并发竞价控制实战

说实话,看到“基于Spring Boot拍卖网站”这个标题,我是很有共鸣的。不只是因为这类选题太常见,而是拍卖这种业务模式在技术实现上确实有点意思——它跟普通电商那种“标价-下单-支付”的直线流程完全不一样,涉及时间边界、并发竞价…

2026/10/5 14:24:43 阅读更多 →

日新闻

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 0:00:22 阅读更多 →
AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

1. 从“plugins”这个词说起:它到底在解决什么问题如果你最近在折腾 AI 编程工具,尤其是 Cursor、Codex CLI、Claude Code 这类带 CLI 的编辑器或命令行助手,那你大概率绕不开一个词——plugins。这个词本身不新鲜,从浏览器到 IDE…

2026/10/5 0:00:23 阅读更多 →
第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 0:00:23 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 5:06:42 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 1:10:22 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 3:06:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 20:14:29 阅读更多 →