【发布时间】:2012-03-15 14:28:20
【问题描述】:
我想创建一个知道不基于输入参数实例化的类。举个简单的例子,如果我想创建一个对象,该对象只有在其输入参数之一 > 1 时才能存在,那么
foo = new_object(0.1)
应该将None返回到foo而不是对象。
我觉得它是一种创建对象的优雅方式,因为这意味着我不需要类外的代码来决定是否创建它
有没有办法做到这一点,或者同样有用,这是不好的做法,为什么?
【问题讨论】:
-
提高
ValueError将是 Pythonic 解决方案。 -
引发异常是通常的路线,但不是唯一的路线。还有其他 Pythonic 解决方案。
-
但是如果你想返回初始化失败原因的具体信息,你可以例外吗
标签: python class object initialization