0
加入它,我有這樣一個類:通行證所需位置參數的超類沒有子類的構造函數
class C1:
def __init__(self, arg1, kwarg1=1, kwarg2=2):
...
現在我想創建一個C2
,只是改變C1
的kwarg1
和kwarg2
默認值。這是某種functools.partial
,但類。
我能做到這樣說:
class C2(C1):
def __init__(self, arg1, kwarg1=3, kwarg2=4):
super().__init(arg1, kwarg1=kwarg1, kwarg2=kwarg2)
但我不喜歡,我需要通過arg1
到C2
構造函數,然後通過它,因爲它是C1
與super().__init(arg1, ...)
。
我想要做這樣的事情:
class C2(C1):
def __init__(self, kwarg1=3, kwarg2=4, *args, **kwargs):
super().__init(kwarg1=kwarg1, kwarg2=kwarg2, *args, **kwargs)
但這不起作用:
3210有什麼辦法,我可以從C2
通過arg1
到C1
不提它在C2
的構造函數
對於'C2'的所有實例,'arg1'是否相同? –