子類一類我有下面的類Python27:通過使用類型
class Sample(object):
def __init__(self, argument, argument2, argument3):
self.value = argument
self.value2 = argument2
self.value3 = argument3
,我想用型創建的這個子類但我不知道如何來填充參數的__ init __方法。
我也有這個習俗__的init __方法,填充物:
def setup(self, arg, arg2, arg3):
self.value = "good"
self.value2 = "day"
self.value3 = "sir"
myclass = type("TestSample", (Sample,), dict(__init__=setup))
但是當我執行:
myclass()
我得到:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: setup() takes exactly 4 arguments (1 given)
是有一種預先填充這些值的方法,而不必在obj提供它們等等instatiation?
您可能在尋找默認參數,寫爲'def f(x = 1,y = 2,...):(...)'。但請注意,這些變化是可變的,例如如果您使用容器類型(列表,字典,集合等)作爲默認參數併爲其添加值,則它在下次調用時仍將具有該值。 – l4mpi
哦!所以如果我提供默認參數,那麼由於改變的__init__方法它們不會生效?我給了一個去 – Har