Bonjour, j'ai donc un problème de passage d'arguments **kwargs d'une classe à une seconde. Pour mieux expliciter, voici un dummy code avec l'erreur que j'obtiens.
Code :
Erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 class Parent: def __init__(self, age, **kwargs): self.age = age if 'kwargs1' and 'kwargs2' in kwargs: self.kwargs1 = kwargs['kwargs1'] self.kwargs2 = kwargs['kwargs2'] class Child(Parent): def __init__(self, **kwargs): super(Child, self).__init__(**kwargs) age = 10 My_child = Child(age, kwargs1='John', kwargs2='Robert')
J'ai fais quelques recherches mais j'avoue ne pas comprendre l'origine du problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-76-91ce7bcdbcc5> in <module>() 14 age = 10 15 ---> 16 My_child = Child(age, kwargs1='John', kwargs2='Robert') TypeError: __init__() takes 1 positional argument but 2 were given
Partager