用途:按 Luciano Ramalho《Fluent Python》的风格编写地道 Python 代码,核心是掌握 Python 数据模型,让自定义对象与语言语法和内置功能自然协作。
主要能力:涵盖特殊方法(init、repr、str、iter、eq、hash、abs、bool、add、mul、rmul 等)的实践原则;鸭子类型与面向协议编程;可变与不可变设计;描述符(@property、@classmethod、@staticmethod 背后的机制);迭代器与生成器;上下文管理器(类式与 contextlib.contextmanager);dataclass、命名元组与 Protocol 结构化子类型。
使用方式:编写代码时实现 repr 便于调试、实现 str 面向用户显示;对象合适时实现 iter;用 @property 做计算属性;区分 getattr 与 getattribute;实例多且吃内存的类用 slots;自定义集合优先继承 collections.abc;数据类用 @dataclass(Python 3.7+);协议类用于结构化子类型(Python 3.8+)。
限制与禁忌:repr 应可复制重建对象;不混淆 str 与 repr;同时实现 hash 与 eq;可变对象不可哈希;非必要不覆盖 getattribute。资料未提供安装命令、收费、平台或效果信息。