我正在修补一些课程,我遇到了一个情况,我想在它有机会再做任何事情之前切断__init__.为此,我只是在我想要切断的块的末尾放置一个null return语句.例如:
class Example(object):
def __init__(self):
#lots and lots of code
if so_and_so:
return
回到__init__里面是不好的形式,即使它只是在这种情况下?
最佳答案 对于任何函数,不仅__init__,使用普通返回等同于返回None,如果不在函数中使用return,则无论如何都会隐式返回None.
因此,在__init__中使用return非常好.
(上面规则的例外是生成器函数,在其中你只能使用return而不返回None,所以这些在生成器函数中不相同).
在__init__中间返回将简单地切断对象的初始化.它不会阻止创建对象,也不会以任何方式中断程序的流程.