标签:Python

共 128 篇文章

Python concurrent.futures.ProcessPoolExecutor的进程复用机制

Python concurrent.futures.ProcessPoolExecutor的进程复用机制 利用多进程进行并行计算时,频繁地创建和销毁进程会消耗大量系统资源,导致程序

# Python # 多进程 # 进程池
2026-04-30 158 0

Python contextlib.suppress忽略特定异常的简洁写法

Python contextlib.suppress忽略特定异常的简洁写法 在编写 Python 代码时,经常会遇到“预计可能发生错误,但发生时并不需要处理,只需默默跳过”的场景。

# Python # 异常处理 # 上下文管理器
2026-04-29 191 0

Python __dict__与__slots__在属性存储上的内存差异

Python dict与slots在属性存储上的内存差异 Python 作为一门动态语言,其灵活性允许我们在运行时随意给对象添加属性。这种便利性背后,是 Python 默认为每个对

# Python # __dict__ # __slots__
2026-04-29 155 0

Python __init__和__new__的区别:什么时候需要重写__new__

Python 中 init 和 new 的区别常常让初学者感到困惑。简单来说,new 负责对象的创建(构造),而 init 负责对象的初始化。理解这两者的分工是掌握 Python

# Python # 面向对象 # __init__
2026-04-29 157 0

Python weakref.WeakKeyDictionary在缓存键对象回收时的行为

Python weakref.WeakKeyDictionary在缓存键对象回收时的行为 1. WeakKeyDictionary基本概念 创建 weakref.WeakKeyDi

# Python # 弱引用 # 缓存
2026-04-29 179 0

Python ExceptionGroup与except*处理多个并发异常

Python ExceptionGroup与except处理多个并发异常 在编写涉及并发任务(如 asyncio)或批量处理的程序时,一个经典的痛点是:当多个任务同时失败时,程序只

# Python # 异常处理 # ExceptionGroup
2026-04-29 171 0

Python inspect模块动态获取函数签名与参数默认值

Python inspect模块动态获取函数签名与参数默认值 Python 内置的 inspect 模块能够让我们在程序运行时“偷看”函数的内部结构,无需手动查阅源代码。这在编写装

# Python # inspect模块 # 函数签名
2026-04-29 171 0

Python列表和元组的内存占用差异:为什么元组更省内存

Python列表和元组的内存占用差异:为什么元组更省内存 Python 中的列表和元组在功能上非常相似,都用于存储数据的有序集合。然而,在底层内存管理上,两者存在本质区别。元组通常

# Python # 列表 # 元组
2026-04-29 189 0

Python asyncio.Event在协程间事件通知的用法

asyncio.Event 是 Python asyncio 库中用于协程间简单通信的同步原语。它的作用类似于一个线程安全的标志位,允许一个或多个协程等待某个事件发生,直到另一个协

# Python # asyncio # 协程
2026-04-29 191 0

Python __slots__为什么能减少内存占用并加速属性访问

Python 默认的对象创建方式虽然灵活,但在处理数百万甚至上亿个小对象时,会消耗巨大的内存资源并拖慢运行速度。这是由于 Python 默认为每个对象分配了一个字典来存储属性。通过

# Python # 内存优化 # 性能优化
2026-04-28 174 0

Python logging模块的Logger层级传播与Handler配置

Python logging模块的Logger层级传播与Handler配置 Python标准库中的 logging 模块是一个功能强大的日志系统,但很多开发者在使用时常遇到日志重复

# Python # logging模块 # 日志系统
2026-04-27 155 0

Python __repr__与__str__方法在调试信息中的区别

Python repr与str方法在调试信息中的区别 在 Python 调试过程中,直接打印自定义对象往往只能看到内存地址(如 <main.Point object at 0x7f

# Python # __str__ # __repr__
2026-04-27 128 0

Redis List实现简单消息队列的BRPOP阻塞读取

Redis List 是构建轻量级消息队列的极佳数据结构,其中的 BRPOP 命令提供了“阻塞式读取”的能力。相比于轮询,这种方式能极大降低 CPU 消耗。以下将直接演示如何利用这

# Redis # 消息队列 # BRPOP
2026-04-27 165 0

Python __del__方法在循环引用时的调用时机问题

Python del方法在循环引用时的调用时机问题 在 Python 开发中,许多开发者习惯使用 del 方法(析构函数)来释放资源或记录对象销毁日志。然而,当对象之间存在“循环引

# Python # __del__ # 循环引用
2026-04-27 187 0

Python collections.Counter实现词频统计与Top-K查询

Python collections.Counter实现词频统计与TopK查询 统计文本中单词出现的频率(词频统计)并找出出现次数最多的前几个词(TopK查询),是数据处理和自然语

# Python # Counter # 词频统计
2026-04-26 192 0

Python collections.deque与list在队列操作中的性能对比

Python collections.deque与list在队列操作中的性能对比 在Python中,处理数据序列时,list 是最常用的数据结构。然而,当涉及到队列操作——即先进先

# Python # collections.deque # list
2026-04-26 196 0

Python itertools.tee将一个迭代器拆分为多个独立迭代器

Python itertools.tee将一个迭代器拆分为多个独立迭代器 Python 中的迭代器是一次性资源,一旦遍历结束,就无法重新开始。这导致在需要多次遍历同一数据流,或在不

# Python # itertools # 迭代器
2026-04-25 166 0

Python asyncio.gather的return_exceptions异常处理模式

Python asyncio.gather的returnexceptions异常处理模式 asyncio.gather 是 Python 并发编程中用于批量运行协程的常用工具。默认

# Python # asyncio # 并发编程
2026-04-25 193 0

Python match-case模式匹配在复杂数据解构中的应用

Python matchcase模式匹配在复杂数据解构中的应用 检查当前环境使用的 Python 版本,确保版本号不低于 3.10。matchcase 语法是该版本引入的新特性,低

# Python # 模式匹配 # 数据解构
2026-04-25 135 0

Python深拷贝和浅拷贝的区别:为什么修改副本影响了原始数据

Python深拷贝和浅拷贝的区别:为什么修改副本影响了原始数据 理解Python中深拷贝和浅拷贝的区别对于避免编程中的常见陷阱至关重要。当你修改了一个变量副本却发现原始数据也被改变

# Python # 深拷贝 # 浅拷贝
2026-04-24 134 0