一个Python GC的小Bug

news/2025/2/4 20:39:57/文章来源:https://www.cnblogs.com/somata/p/18698452

这个代码是在看了“码农高天”的视频照模仿的。虽然 GC 能完成大部分内存管理的工作,但是基于性能计数器的GC确实存在小 Bug,这一点还是需要通过delgc.collect手动管理。

from typing import Optionalclass Object:def __init__(self, name: str) -> None:self.obj: Optional[Object] = Noneself.name: str = namedef __del__(self):print(f"{self.name} is deleted")def main():A = Object("A")B = Object("B")A.obj = BB.obj = A   # 循环计数引用if __name__ == "__main__":main()print("end")

main 函数执行完成后,可以看到两个声明的变量,A和B并没有像想象中那样,在main函数执行完成后删除,而是在程序退出时才被删除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/878711.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2月做题记录

还有一个月。2月做题记录✩ trick ✯ 会大部分,要\(tj\)提示 ✬ 会小部分/完全没想到,看了\(tj\)才会 ◈ 脑电波 ✡ 有某一算法的神秘通用性质 ⊗ 待补目录2月做题记录字符串CF1827CCF1913FP10716P11150 ✩✯树[NOI2021] 轻重边做法1 ✩做法2做法3 ✡《简单树剖练习题》[QOJ9…

第六节 特征提取和无监督学习

没有标签y依旧提取出特征你的模型朝着哪个方向压缩特征,由你的标签来定自监督学习:从x中提取一部分作为自己的标签y,然后用x预测y 在自监督学习中,需要根据数据的特点设计一些自监督任务,这些任务通常基于数据的一些内在属性或关系来构建。例如,在图像数据中,可以设计图像…

产线MES 和 车间MES的区别与联系

制造执行系统(MES)在现代制造业中扮演着至关重要的角色,它连接着企业的计划层与生产现场,推动生产效率提升和质量管控强化。本文将深入探讨产线级MES和车间级MES的区别与联系,帮助读者更好地理解这两种MES系统如何协同工作,共同提升企业的生产管理水平。制造执行系统(ME…

CF995

A link如果选择这一天做题可以让差增加(即我这一天的题数大于他下一天的题数),则选;否则不选。 特殊的,另一个人地\(n+1\)天我们钦定他做了\(0\)道题。点击查看代码 #include<bits/stdc++.h>using namespace std;int n; int a[105],b[105];void qwq(){cin >> …

【qt】1个导航栏实现

//设定可增加按钮最大数量 void setBtnCountMax(int maxCount); const int btnCountMax() const;//设定背景颜色 void setBackGround(QColor bgcolor=QColor("black")); //设定按钮最小宽度 void setButtonMinWidth(int w); //设定内边距 void setPaddings(int left,…

09. Shell脚本

一、什么是ShellShell 是操作系统中的一个 命令行解释器,主要功能是接收用户命令,然后将这些命令传递给操作系统内核去执行。 Shell 是用户与操作系统内核之间的接口,它允许用户通过命令行或脚本来与操作系统进行交互。同时,Shell 也是一种脚本语言,允许用户编写一系列命令…

Maven安装、配置以及Idea使用本地Maven仓库

Maven的安装和配置 Maven是Java项目常用的依赖管理和构建工具,项目使用Maven的一个特点就是包含一个pom.xml文件。实际上,Idea在安装时会集成一个Maven,这里不使用这个集成的,而是记录一下如何在机器上单独安装并配置好。 首先,需要安装好jdk。然后,到搜索引擎上搜索Mave…

DeepSeek逆天,核心是 知识蒸馏(Knowledge Distillation, KD),一项 AI 领域的关键技术

本文原文链接 文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 …

Java初学者笔记-12、前端开发基础

未完待续 Web 三个组成部分:HTML:负责网页的结构(页面元素和内容)。 CSS:负责网页的表现(页面元素的外观、位置等页面样式,如:颜色、大小等)。 Javascript:负责网页的行为(交互效果)。高级技术:基于JS封装而来的高级框架——vue。 基于vue的桌面端组件库——Eleme…

Java笔记-13、Web后端基础 Maven

Maven是一款用于管理和构建Java项目的工具,是apache旗下的一个开源项目。基于项目对象模型(POM),通过一小段描述信息管理项目构建。依赖管理:方便快捷地管理项目依赖的资源(jar包)。 项目构建:标准化的跨平台自动化项目构建方式。Maven面板中Lifecycle中的compile用于编译…

直流有刷电机.

一、基础知识回顾 1.1 电路定律 1.1.1 基尔霍夫电流定律 在集总参数电路中的任一节点处,所有支路电流的代数和在任何时刻恒等于零,即\(\sum i=0\)。 对于正弦稳态交流电路,其相量形式为\(\sum {\dot I}=0\)。 其中,当支路电路的参考方向为流入、流出节点时,支路电流分别取…

用C# GDI编写粒子效果

C#语言能不能画一动画呢?闲来无事,特过一把编程瘾。一共写了6个例子特效动画,界面如下,程序在文末供下载。拿一个粒子效果“鼓泡泡效果”的类讲解,其他类似:using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D; usi…