在python中__init__中返回None的错误表单

我正在修补一些课程,我遇到了一个情况,我想在它有机会再做任何事情之前切断__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__中间返回将简单地切断对象的初始化.它不会阻止创建对象,也不会以任何方式中断程序的流程.

点赞