0
我有一個課程需要kwargs
,如果kwarg
不存在,則默認爲True
。如何將單個值應用於所有kwarg值?
class MyClass(object):
def __init__(self, **kwargs):
self.kwarg_one = kwargs.get('kwarg_one', True)
self.kwarg_two = kwargs.get('kwarg_two', True)
MyClass
是將從一個子類
class MyOtherClass(MyClass):
def __init__(self, **kwargs):
super(SubclassOne, self).__init__(**kwargs)
在MyClass
,kwarg_one
和kwarg_one
將包含boolean
值將加載,大多數的子類將使用特定的信息被繼承父類,但有些子類將不需要加載信息。在這種情況下,我可以通過False
獲取具體kwarg
我不需要加載。
moc = MyOtherClass(kwarg_one=False)
在其他情況下,我會仍然需要固有MyClass
類,但不需要加載任何信息的父類加載。
moc = MyOtherClass(kwarg_one=False, kwarg_two=False)
只有兩個kwargs
是不壞,但我預見MyClass
接受多個參數,並有可能成爲嚴罰不得不通過False
到10+的論點。
有沒有辦法通過False
一次以便所有的kwargs
都是False
?
'dict.fromkeys'? –
如果我理解正確,你可以在MyClass上使用__init __(self,arg_one = False,arg_two = False,** kwargs),不是嗎?你也可以使用默認配置字典,所有默認值都設置爲false,並使用kwargs作爲參數的update方法,從而用kwargs中的設置覆蓋默認值。 –