Skip to main content
 首页 » 编程设计

python之在 __init__() 中不创建对象的最佳方法是什么

2025年05月04日14飞鱼

有时,在一个类中,我想要 __init__,当传递给它时,例如错误的参数,不实例化对象。一个解决方案可能是引发异常(哪个?)。还有其他想法吗?

请您参考如下方法:

引发异常。构造函数与其调用者有契约。它 promise 从有效输入创建一个有效对象。如果它不能这样做,例如因为它的输入无效,它应该引发异常以指示它的失败。

如果 __init__() 成功退出,即没有引发异常,这意味着根据定义,对象已成功构造和初始化。

关于如何做到这一点的人为示例:

class Bacon: 
    def __init__(self, deliciousness=1000): 
        if deliciousness < 100: 
            raise InvalidArgumentException('Bacon is always delicous') 
 
        self.deliciousness = deliciousness