1

メッセージ エラーが表示される理由がわかりません

TypeError: __init__() は正確に 3 つの引数を取ります (4 つ指定)

以下に説明するコードの場合:

class Worker(object):
    def __init__(arg1,arg2,arg3):
        self.arg1 = arg1
        self.arg2 = arg2
        self.arg3 = arg3
    def some_function(self):
        print "it works: " + arg1 + arg2 + arg3

w=Worker("a","b","c")
w.some_function()

何が欠けている可能性がありますか?

4

3 に答える 3

6

する必要がありますdef __init__(self, arg1,arg2,arg3):printまた、ステートメントをsome_functionに変更する必要があります

print "it works: " + self.arg1 + self.arg2 + self.arg3
于 2012-10-12T11:05:01.270 に答える
4
def __init__(self,arg1,arg2,arg3):
于 2012-10-12T11:02:35.673 に答える
1

クラス関数に期待される最初の引数は常に。である必要がありますself

名前は重要ではありませんが、それが意味です。

したがって、関数の定義は次のようになります。

def __init__(self,arg1,arg2,arg3): 
    self.arg1 = arg1 
    self.arg2 = arg2 
    self.arg3 = arg3 
于 2012-10-12T11:02:35.390 に答える