Ich bin verwirrt. Ich versuche, eine Unterklasse zu erstellen, die sich nicht um irgendwelche Schlüsselwortparameter kümmert - sie übergibt sie einfach an die Oberklasse und legt explizit den einen Parameter fest, der für den Konstruktor erforderlich ist. Hier ist eine vereinfachte Version von meinem Code:Unerwartetes Schlüsselwortargument bei der Verwendung von ** Kwargs im Konstruktor
class BaseClass(object):
def __init__(self, required, optional=None):
pass
def SubClass(BaseClass):
def __init__(self, **kwargs):
super(SubClass, self).__init__(None, **kwargs)
a = SubClass(optional='foo') # this throws TypeError!?!??
Dieser schlägt mit
[email protected]$ python minimal.py
Traceback (most recent call last):
File "minimal.py", line 9, in <module>
a = SubClass(optional='foo')
TypeError: SubClass() got an unexpected keyword argument 'optional'
Wie kann es zu einem unerwarteten Stichwort Argumente beschweren, wenn die Methode **kwargs
hat?
(Python 2.7.3 auf Ubuntu)
uhh richtig. Vielen Dank./Ich rennt weg und versteckt mich – Leopd