2012-03-08 9 views
0

すべてのサブクラスで必要となるパラメータを渡すために親コンストラクタを使用できるかどうかを知りたいと思います。だから、例えば:親コンストラクタから共通のパラメータを取得できますか?

Class A(): 
    def __init__(a,b): 
    ...do some stuff... 

Class B(A): 
    def __init__(c,d): 
    ...do some stuff needing a and b... 

Class C(A): 
    def __init__(e,f,g): 
    ...do some stuff needing a and b... 

基本的に私のサブクラスのそれぞれがしたいとしているいくつかのパラメータと特定されているいくつかの他があります。私は、aのすべてのサブクラスの定義にbを追加する必要はありません。私はこれをPythonで行うことができる方法はありますか?

b=B(a=1,b=2,c=3,d=4)  

サブクラス定義にaとbを含めることなく:私は見てみたいと思い何

は、呼び出す機能です。

多くの感謝!

答えて

3
# Python 3, but the idea is the same in 2 

class A: 
    def __init__(self, a, b): 
     # ... 

class B(A): 
    def __init__(self, c, d, *args, **kwargs): 
     super().__init__(*args, **kwargs) 

class C(A): 
    def __init__(self, e, f, g, *args, **kwargs): 
     super().__init__(*args, **kwargs) 
関連する問題