from __future__ import annotations:作用、用法与 Python 3.14 变化
from __future__ import annotations 到底有什么用?本文讲清前向引用、字符串化标注、TYPE_CHECKING、get_type_hints 常见坑,以及 Python 3.14 延迟求值后的保留与删除策略。
Python
from __future__ import annotations 到底有什么用?本文讲清前向引用、字符串化标注、TYPE_CHECKING、get_type_hints 常见坑,以及 Python 3.14 延迟求值后的保留与删除策略。
Python 没有 interface 关键字,但可通过鸭子类型、ABC、typing.Protocol 和 NotImplementedError 定义接口。本文结合可运行示例,对比检查机制与选型,并说明 Protocol 从 Python 3.8、内置泛型从 3.9 开始等版本边界。
Python 类型标注不会自动校验运行时数据,却能配合 mypy 在执行前发现参数、返回值和 None 等问题。本文从版本兼容、常用语法、Any 与 object、运行时校验到项目落地完整讲清。
Python 的 Lock 与 RLock 都能保护多线程共享数据,关键区别在于同一线程能否重复获取同一把锁。本文用可运行示例讲清重入机制、递归计数、死锁边界与实际选型。
面向只学过 class 和 __init__() 的新手,从 dataclass 的作用讲起,逐步解释 __repr__()、__eq__()、field、default_factory、kw_only、slots、frozen、match_args 与常用辅助函数。