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