0

使うたびに何を継承するかをクラスに伝えたい。

これが例です

class widget(var):
    def __init__(self,var):
        #I really have no idea

bob=widget(wx.ComboBox) #I want the class to inheirit from wx.ComboBox
steve=widget(wx.ListBox) #I want the class to inheirit from wx.ComboBox

「どうしてそんなことをしたいの?」などの質問はしないでください。

4

2 に答える 2

4

必要な基本クラスからサブクラス化するたびに、異なるクラスを作成する必要があります。これは、クラスをオンザフライで作成する関数を使用して簡単に行うことができます。

def widget(var):
   class Widget(var):
       pass
   return Widget()
于 2012-08-11T12:53:13.567 に答える
0

うまくいけば、これはあなたを助けるでしょう:

class A:
    v = 'a'

class B:
    v = 'b'

def C(x):
    class C(x): pass
    return C
x = A
print C(x).v

UPD注:まだ読んでいない場合は、 Pythonデコレータを見てください。

于 2012-08-11T13:05:05.347 に答える