标签:Python

共 128 篇文章

Python弱引用Weakref实现LRU缓存的内存回收机制

Python弱引用Weakref实现LRU缓存的内存回收机制 1. 理解引用计数与内存泄漏 Python 使用引用计数机制来管理内存。当一个对象的引用计数降为 0 时,垃圾回收器会

# Python # 弱引用 # LRU缓存
2026-04-24 168 0

Python concurrent.futures.as_completed按完成顺序获取结果

Python concurrent.futures.ascompleted按完成顺序获取结果 在并发编程中,处理批量任务(如网络请求、文件读写或复杂计算)时,通常会遇到两个核心需求

# Python # 并发编程 # 多线程
2026-04-24 188 0

Python pickle协议版本对序列化兼容性的影响

Python pickle协议版本对序列化兼容性的影响 Python 的 pickle 模块虽然方便,但在跨版本或跨环境传输数据时,经常因为协议版本不匹配导致 Unpickling

# Python # Pickle # 序列化
2026-04-24 159 0

Python __all__变量控制模块导出的作用

Python all变量控制模块导出的作用 编写 Python 模块时,默认情况下所有的公有变量和函数都会被 from module import 语句导入。这通常会导致命名空间污

# Python # __all__ # 模块导出
2026-04-24 151 0

Python contextlib.contextmanager简化上下文管理器的写法

Python contextlib.contextmanager简化上下文管理器的写法 编写 Python 代码时,经常需要管理资源(如文件句柄、数据库连接、锁等),确保在使用完毕

# Python # 上下文管理器 # 装饰器
2026-04-23 171 0

Python abc模块定义抽象基类强制子类实现方法

Python abc模块定义抽象基类强制子类实现方法 Python 的 abc 模块提供了一种机制,用于定义抽象基类。这就像是一个强制性的合同:父类规定某些方法必须存在,但自己不负

# Python # abc模块 # 抽象基类
2026-04-23 165 0

Python import循环导入ImportError的排查与解决

Python import循环导入ImportError的排查与解决 Python 程序在启动时,如果遇到 ImportError: cannot import name 'X'

# Python # 循环导入 # 导入错误
2026-04-22 264 0

Python asyncio与多线程的性能对比:IO密集场景实测

Python asyncio与多线程的性能对比:IO密集场景实测 在处理网络爬虫、数据库查询或API请求等IO密集型任务时,CPU大部分时间都在等待IO操作完成。为了提升效率,Py

# Python # Asyncio # 多线程
2026-04-21 193 0

Python多线程为什么比单线程还慢?GIL锁的影响实测

Python多线程为什么比单线程还慢?GIL锁的影响实测 Python 全局解释器锁(GIL)是导致多线程在 CPU 密集型任务中性能不如单线程的核心原因。在多核 CPU 时代,这

# Python # 多线程 # GIL锁
2026-04-21 161 0

Python __slots__属性对类内存占用与属性访问的影响

Python 默认的类实例机制通过字典 dict 存储属性,虽然灵活,但会消耗大量内存。在需要创建成千上万个实例的场景下(如游戏角色、传感器数据点),这种内存开销会变得难以承受。使

# Python # 内存优化 # slots
2026-04-19 177 0

Python sys.getsizeof测量对象内存占用的准确性分析

Python sys.getsizeof测量对象内存占用的准确性分析 直接使用 sys.getsizeof 测量容器对象(如列表、字典)时,往往会得到一个远小于预期的数值。这是因为

# Python # 内存管理 # 内存占用
2026-04-19 179 0

Python 包管理:pip 命令与 requirements.txt

Python 包管理:pip 命令与 requirements.txt 打开终端或命令行工具,输入以下命令检查 pip 是否已安装。 bash pip version 如果显示版本

# Python # 包管理 # pip
2026-04-18 232 0

Python 缓存装饰器:functools.lru_cache 的应用

Python 缓存装饰器:functools.lrucache 的应用 在 Python 开发中,重复计算是导致程序运行缓慢的常见原因之一。如果函数的输入参数相同,且返回结果固定,

# Python # 缓存 # 装饰器
2026-04-18 192 0

Python 生成器表达式:内存高效的迭代器

当需要在代码中处理数百万条数据时,直接创建一个巨大的列表往往会耗尽计算机内存。Python 生成器表达式提供了一种不占用大量内存即可遍历数据的方法。它就像是一个按需生产数据的“工厂

# Python # 生成器 # 生成器表达式
2026-04-18 170 0

Python 常用库:NumPy 数组基本操作

Python 常用库:NumPy 数组基本操作 NumPy(Numerical Python)是 Python 科学计算的基础库,它提供了高性能的多维数组对象以及相关工具。掌握 N

# NumPy # Python # 数组操作
2026-04-17 187 0

Python 线程池:concurrent.futures.ThreadPoolExecutor

Python 线程池:concurrent.futures.ThreadPoolExecutor 在处理 I/O 密集型任务(如网络请求、文件读写)时,为了提高程序运行效率,我们需

# Python # 多线程 # 线程池
2026-04-17 251 0

Python 文件操作:with open() 上下文管理器

Python 文件操作:with open 上下文管理器 处理文件是编程中最常见的任务之一,但在 Python 中直接使用 open 和 close 往往埋藏着隐患。如果程序在读取

# Python # 文件操作 # 上下文管理器
2026-04-16 217 0

Python 虚拟环境:venv 与 pipenv 对比

Python 虚拟环境:venv 与 pipenv 对比 安装 Python 虚拟环境是每个 Python 开发者的必备技能。虚拟环境能将项目依赖隔离,避免版本冲突,使项目保持整洁

# Python # 虚拟环境 # venv
2026-04-14 156 0

Python 依赖问题:ModuleNotFoundError 模块找不到的解决

Python 依赖问题:ModuleNotFoundError 模块找不到的解决 当 Python 代码抛出 ModuleNotFoundError: No module name

# Python # 依赖管理 # ModuleNotFoundError
2026-04-14 900 0

Python 高级特性:装饰器的原理与自定义实现

装饰器本质上是一个 Python 函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能。装饰器的返回值也是一个函数对象。利用 Python 函数作为一等对象的特性,我们

# Python # 装饰器 # 闭包
2026-04-13 209 0