【发布时间】:2014-04-08 13:48:57
【问题描述】:
我正在修补一些课程,我遇到了一种情况,我想在 __init__ 有机会做更多事情之前切断它。为此,我只需在要切断的块的末尾放置一个空的return 语句。例如:
class Example(object):
def __init__(self):
#lots and lots of code
if so_and_so:
return
在__init__内部返回是不是很糟糕,即使只是在这种情况下?
【问题讨论】:
-
您可能需要使用
__new__而不是__init__。__init__不是构造函数,它是初始化器 -
同意,如果你想要一个返回值,你应该使用 new
-
但是 OP 并没有尝试返回非 None 值。 OP只是想早点休息。
return没问题... -
你不能从 __init__() 中返回任何东西,只要在其中使用条件,如果匹配做初始化,否则什么都不做。
标签: python class coding-style initialization