【发布时间】:2017-03-19 18:39:57
【问题描述】:
我有一个类,我希望能够像这样使用:
obj = MyClass(arg1, arg2)
if (obj is None):
# tell user to try again
else:
# give user options for continuing
对象创建的基本算法(在__init__ 和/或__new__,我不确定)应该是这样的:
retrieve database record from arg1 and arg2 search criteria
if a record is returned
setup instance variables
else
return None
有没有明确的pythonic方法来做到这一点?我已经阅读了一些建议引发异常的文章,但这似乎不对,因为这是预期的行为。我看到其他人建议使用__new__,但是我如何检查__new__ 中的数据库以查看记录是否有效,而无需同时检查__init__ 来设置实例变量?
【问题讨论】:
-
EAFP 是一种非常容易接受的 pythonic 方法。
标签: python object instantiation