详细内容或原文请订阅后点击阅览
None
编写高效的 Python 数据类可以减少样板代码,同时保持代码整洁。本文将教您如何操作。
来源:KDnuggets简介
标准 Python 对象将属性存储在实例字典中。除非您手动实现散列,否则它们不可散列,并且默认情况下它们会比较所有属性。此默认行为是合理的,但对于创建许多实例或需要对象作为缓存键的应用程序来说并未优化。
数据类通过配置而不是自定义代码来解决这些限制。您可以使用参数来更改实例的行为方式以及它们使用的内存量。字段级设置还允许您从比较中排除属性、定义可变值的安全默认值或控制初始化的工作方式。
本文重点介绍在不增加复杂性的情况下提高效率和可维护性的关键数据类功能。
您可以在 GitHub 上找到代码。
1. 冻结数据类以实现可散列性和安全性
使数据类不可变提供了可散列性。这允许您使用实例作为字典键或将它们存储在集合中,如下所示:
从数据类导入数据类
@dataclass(冻结=真)
类缓存键:
用户 ID:int
资源类型:str
时间戳:整数
