将参数传递给函数

时间:2012-10-12 11:00:55

标签: python

我不确定为什么我收到消息错误 TypeError:_ init _()需要3个参数(4个给定),对于下面描述的代码:< / p>

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()

我能错过什么?

3 个答案:

答案 0 :(得分:6)

应该是def __init__(self, arg1,arg2,arg3):。您还需要将print中的some_function语句更改为

print "it works: " + self.arg1 + self.arg2 + self.arg3

答案 1 :(得分:4)

def __init__(self,arg1,arg2,arg3):

答案 2 :(得分:1)

任何类函数的第一个参数应始终为self

嗯,这个名字并不重要,但这就是它的含义。

所以你的功能定义应该是这样的:

def __init__(self,arg1,arg2,arg3): 
    self.arg1 = arg1 
    self.arg2 = arg2 
    self.arg3 = arg3