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
のインスタンスのNoneを返したい整数でない場合。
a = MyClass(arg='Text Argument')
しかしarg
は、結果の変数a
整数でない場合Noneを返す__init__
MyClass
コンストラクタはまだMyClass
のインスタンスである間も:
print a
<__main__.MyClass object at 0x0000000001FDEFD0>
変数a
がNone
かのまま確認するために、どのようにMyClass
には非整数の引数が与えられていますか?
明示的に 'None'を返すことは、デフォルトで起こることになるので、OK(または単に' return'自体)です。初期段階で '__init __()'メソッドを早期に終了することもできますが、インスタンスを作成するかどうかには影響しません。 – martineau
真実、それは多少曖昧に言われました。私は戻り値が何らかの違いを生むならば、あなたはまだそれをしてはいけないと思った* * – deceze
あなたが意味するものにかかわらず、私のポイントは、あなたが言っていることは正確ではないということでした。インスタンスが作成されるのを妨げないことを十分に知っている理由です。OPが達成したいと思うものではないようです。 – martineau