首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

流畅的 Python 第二版(GPT 重译)(三)

如果是这种情况,您可以提供一个 __post_init__ 方法。当存在该方法时,@dataclass 将在生成的 __init__ 中添加代码,以调用 __post_init__ 作为最后一步。...__post_init__ 的常见用例是验证和基于其他字段计算字段值。我们将学习一个简单的示例,该示例使用 __post_init__ 来实现这两个目的。...创建数据类的层次结构通常不是一个好主意,但在这里,它帮助我们缩短了 示例 5-17 的长度,侧重于 handle 字段声明和 __post_init__ 验证。 示例 5-17 展示了实现方式。...dataclass class C: i: int j: int = None database: InitVar[DatabaseType] = None def __post_init...但是,database 将是生成的 __init__ 将接受的参数之一,并且也将传递给 __post_init__。如果您编写该方法,必须在方法签名中添加相应的参数,如示例 5-18 中所示。

6100
领券