For any function, not only __init__
, using plain return
is equivalent to returning None
, and if you don't use return
in a function, None
is implicitly returned anyway.
Therefor, it is perfectly fine to use return
inside __init__
.
(The exception to the rule above is generator functions, inside which you may only use return
and not return None
, so these are not equivalent inside generator functions).
Returning in the middle of __init__
will simply cut off object's initialization. It will not prevent the object from being created, nor interrupt program's flow in any way.