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


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

おそらく、このエラーがフラグを立てる理由は何ですか?私はスーパークラスに引数を渡すと、エラーフラグ: "module .__ init __()は最大で2つの引数をとります(3が与えられます)"?

+1

私の古いコメントはまだ当てはまると思いますが、それは文字どおり 'module .__ init __()...'とか名前を変更しましたか?私はまだ3つの議論として解釈される可能性はないと思う。このコードでエラーが発生していますか? –

+0

を引用すると、それは文字通りそう言います。 –

+0

私はPythonの初心者です。新しいスタイルは何ですか? –

答えて

9

は、情報が同じファイルで定義されていますか?それとも、info.pyのinfo.infoですか?あなたは情報を読み込む場合は、次のようにそれを変更しよう:

from info import info 

追加情報:単にimport infoあなたはその後infoはモジュールであり、waybillmoduleをサブクラス化している場合。

+1

あなたはそうです、それは彼が別のファイルでそれを持っていたことが判明します。 –

+1

ありがとう、奇妙なエラーメッセージです。 –

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

があるべきのPython 3.2を使用しています:

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

はまだ同じです。 –