我不确定为什么我收到消息错误 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()
我能错过什么?
答案 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