2017-03-31 10 views
0

これはなぜ起こっているのか、少し苦労しています。 これまでPythonについて読んだことは、基本クラスの初期化子を派生クラスが明示的に呼び出す必要があることです。 Thisは私の理解を裏付けるソースの1つです。しかし、次の例は私をバッフルします基本クラス__init__は派生クラスから自動的に呼び出されます

class foo(object) : 
    def __init__(self,par): 
    print "Inside foo constructor" 

class bar(foo): 
    status_code = 302 

b = bar(23) 

上記の場合、派生クラスには初期化子がありません。基本クラスのイニシャライザが呼び出される理由は、派生クラスによって継承されているためです。

+0

'' '...その派生クラスに継承されています.'''?はい。 – wwii

答えて

2

派生クラスの__init__を定義した場合にのみ、基本クラスの__init__を明示的に呼び出す必要があると思います。それ以外の場合は、自動的に呼び出されます。これは実際にあなたがリンクしている答えが言うものです。

関連する問題