MyClass
下面定義的接受單個參數arg
。如何在聲明類實例時返回None
class MyClass(object):
def __init__(self, arg):
super(MyClass, self).__init__()
if not isinstance(arg, int):
return None
else:
self.arg = arg
如果傳入的參數arg
不是整數,我想返回,而不是MyClass
實例無。
a = MyClass(arg='Text Argument')
但即使MyClass
構造時arg
不是整數所產生的變量a
__init__
返回無尚的MyClass
一個實例:
print a
<__main__.MyClass object at 0x0000000001FDEFD0>
如何確保變量a
仍然None
如果MyClass
被賦予非整數參數?
顯式返回'None'確定(或者僅僅是'return'),因爲默認情況下會發生這種情況。我想盡早退出'__init __()'方法,但是這樣做不會影響實例是否被創建 - 可能只是初始狀態。 – martineau
的確如此,這措辭有些含糊。我的意思是*如果返回值有任何區別,你仍然不應該這樣做* – deceze
無論你的意思是什麼,我的觀點是你所說的不準確:不僅是可能的,還有可能這是完全知道它不會阻止創建實例的原因。這似乎並不是OP希望完成的。 – martineau