【发布时间】:2021-10-06 16:42:10
【问题描述】:
我想知道在 Python 中验证 __init__ 中的输入的最佳做法是什么。
我一般会在召唤物体之前验证它,但我认为这不是最好的选择。据我所知,一个类应该负责处理它的属性并识别它们是否适合使用。
例子:
让我们创建一个名为 Time 的类,它具有“小时”、“分钟”和“秒”作为参数(都是 int),并且需要立即将它们转换为通常的表示形式。 构造函数接收属性:10h - 75min - 70sec。 应在构造函数期间转换(?):11h - 16min - 10 sec.
Pythonic 的做法是什么?
【问题讨论】:
-
取决于您希望如何使用该类。您需要保留原始值吗?一种可能的解决方案是使用将即时执行转换的属性。
-
您能提供一些代码示例吗?不需要原始值。
标签: python oop constructor