标签:Python

共 128 篇文章

Python的元类metaclass与类的动态创建

Python的元类metaclass与类的动态创建 理解元类:类的“蓝图” 在Python中,我们日常接触的对象(Object)都是由类(Class)创建的。例如,int、str

# Python # 元类 # 动态创建类
2026-06-01 131 0

Python的descriptor协议与@property底层实现

Python的descriptor协议与@property底层实现 Python中的@property装饰器能让我们将方法调用伪装成属性访问,简化接口。但你是否好奇过,这优雅的语法

# Python # 描述符协议 # @property
2026-05-31 102 0

Python functools.lru_cache的缓存失效策略

Python functools.lrucache的缓存失效策略 functools.lrucache 是 Python 中一个强大且易于使用的缓存装饰器。它通过“最近最少使用”(

# Python # functools # lru_cache
2026-05-31 152 0

Python __slots__对内存占用的优化原理

Python slots 对内存占用的优化原理 在创建海量对象(例如百万级实例)时,你可能会发现程序占用的内存超乎预期。这往往是因为Python默认的每个实例都持有一份独立的属性字

# Python # __slots__ # 内存优化
2026-05-30 158 0

Python typing.Protocol的结构子类型化实践

Python typing.Protocol的结构子类型化实践 在Python中,传统继承(如class MyListlist)是一种常见的代码复用方式,但它也创建了强耦合。typ

# Python # typing.Protocol # 结构子类型化
2026-05-30 144 0

Python functools.lru_cache 的缓存淘汰与线程安全隐患分析

Python functools.lrucache 的缓存淘汰与线程安全隐患分析 functools.lrucache 是 Python 标准库中一个强大的缓存装饰器,它通过“最近

# Python # functools # lru_cache
2026-05-21 172 0

Python contextlib.suppress 为什么比手动 try-except 忽略异常更Pythonic

Python contextlib.suppress:为什么比手动 tryexcept 忽略异常更 Pythonic 在编写 Python 代码时,我们有时会遇到一些预期之中、但希

# Python # contextlib # suppress
2026-05-20 171 0

Python weakref 弱引用在缓存与观察者模式中的防泄漏机制

Python weakref 弱引用在缓存与观察者模式中的防泄漏机制 在Python中,对象的内存管理主要依赖于引用计数。当一个对象的引用计数降为0时,它就会被垃圾回收器(GC)回

# Python # weakref # 弱引用
2026-05-20 166 0

Python __init_subclass__ 钩子如何优雅替代元类实现子类约束

Python initsubclass 钩子如何优雅替代元类实现子类约束 在编写Python类时,你可能需要确保所有子类都遵守特定的规则,比如必须拥有某个属性或必须实现某个方法。传

# Python # __init_subclass__ # 元类
2026-05-20 154 0

Python heapq模块实现优先队列与Top-K问题

Python heapq模块实现优先队列与TopK问题 在处理数据时,我们常遇到两种典型需求:一是需要一个能自动排序并快速取出最值的数据结构(优先队列);二是从海量数据中快速找出前

# Python # heapq模块 # 优先队列
2026-05-19 192 0

Python __mro__方法解析顺序在多重继承中的应用

Python mro方法解析顺序在多重继承中的应用 理解并掌握 Python 的 mro 属性,是解决多重继承中最关键问题(即“钻石问题”)的核心。它直接决定了当你调用一个方法或访

# Python # __mro__ # 方法解析顺序
2026-05-19 173 0

Python typing模块常用类型注解的正确写法

Python typing模块常用类型注解的正确写法 类型注解为Python代码提供了清晰的“路标”,明确指出变量应是什么类型、函数期望接收什么参数以及会返回什么。typing模块

# Python # 类型注解 # typing模块
2026-05-19 176 0

Python装饰器为什么会丢失被装饰函数的元信息

Python装饰器为什么会丢失被装饰函数的元信息 在Python中,函数也是一个对象,它拥有许多元信息,例如函数名 name、文档字符串 doc 等。当你编写一个装饰器来“包装”一

# Python # 装饰器 # 元信息丢失
2026-05-16 156 0

Python weakref.proxy与weakref.ref的区别与使用场景

Python weakref.proxy与weakref.ref的区别与使用场景 Python 的内存管理依赖引用计数机制。当一个对象的引用计数归零时,垃圾回收器(GC)会将其回收

# Python # weakref # 内存管理
2026-05-16 180 0

Python weakref.finalize在对象销毁时执行清理回调

Python weakref.finalize在对象销毁时执行清理回调 weakref.finalize 是 Python 标准库中用于注册清理回调的工具。它允许你在对象被垃圾回收

# Python # weakref # finalize
2026-05-15 185 0

Python协程Asyncio中Task取消信号的传递与处理

Python协程Asyncio中Task取消信号的传递与处理 在Asyncio编程中,Task(任务)是协程的载体。当需要停止一个正在运行的协程时,就需要用到Task的取消机制。理

# Python # 协程 # Asyncio
2026-05-13 201 0

Python tomllib解析TOML配置文件的标准库支持

Python 3.11引入了tomllib,一个用于解析TOML配置文件的标准库。这意味着你无需安装任何第三方包即可读取TOML文件。本文将指导你如何使用tomllib来解析TOM

# Python # tomllib # TOML
2026-05-11 192 0

Python __subclasses__动态获取类的所有子类

Python subclasses 动态获取类的所有子类 subclasses 是 Python 的一个内置类方法,允许你在运行时动态地获取一个类的所有直接子类。这个功能在构建可扩

# Python # 类继承 # 内置方法
2026-05-11 178 0

Python sys.setrecursionlimit对递归深度的限制与风险

Python sys.setrecursionlimit对递归深度的限制与风险 当你在Python中使用递归函数时,可能会遇到一个常见的错误:RecursionError: max

# Python # 递归 # 递归深度
2026-05-10 187 0

Python sys.monitoring低开销代码监控替代sys.settrace

Python sys.monitoring低开销代码监控替代sys.settrace sys.settrace 是 Python 中用于调试和性能分析的传统方法,但它会显著降低程序

# Python # sys监控 # 低开销
2026-05-10 183 0