2011-07-16 3 views
5
class info: 
    def __init__(self, **kwargs): 
     self._variables = kwargs 


class waybill(info): 
    def __init__(self, **kwargs): 
     super(waybill, self).__init__(**kwargs) 

Co może prawdopodobnie być przyczyną tego błędu w zgłaszaniu? Używam Python 3.2Podczas przekazywania argumentów do super klasy flagi błędów: "moduł .__ init __() przyjmuje co najwyżej 2 argumenty (3 dane)"?

+1

Domyślam się, że mój stary komentarz nadal obowiązuje, czy dosłownie mówi 'module .__ init __() ...' czy zmieniłeś nazwę? Nadal nie widzę możliwości, aby został on zinterpretowany jako wywołanie 3-argumentowe. Czy na pewno ten błąd występuje w tym kodzie? –

+0

z cytatem, tak to dosłownie tak mówi. –

+0

Jestem nowy w Pythonie, jaki jest nowy styl? –

Odpowiedz

9

Czy informacje zdefiniowane w tym samym pliku? A może to info.info z info.py? Jeśli importujesz informacje, starając zmieniając go na następujące kwestie:

from info import info 

Informacje dodatkowe: Jeśli po prostu import info następnie info jest modułem, a waybill jest instacji module.

+1

Masz rację, okazuje się, że miał je w różnych plikach. –

+1

Dzięki, dziwny komunikat o błędzie. –

3
super(waybill, self).__init__(kwargs) 

powinno być:

super(waybill, self).__init__(**kwargs) 
+0

wciąż takie same. –

Powiązane problemy