我遇到了一个python问题,它给出错误“预期的4个位置参数,但有5个”
我想用文件中的每一行创建一个对象。该类有四个参数。 这是文件:
B.Borg 10 15 0.67
B.Becker 2 15 0.13
B.Bingley 3 15 0.20
和我的班级:
class Spelareinfo:
def __init__(self, namn, vunna_match, antal_match, andel_vunna):
self.__namn = namn
self.__vunna_match = vunna_match
self.__antal_match = antal_match
self.__andel_vunna = andel_vunna
def __str__(self):
spelare = str(self.__namn)+"\t "+ str(self.__vunna_match)+ "\t "+str(self.__antal_match)+"\t "+str(self.__andel_vunna)
return spelare
def get_namn(self):
return self.__namn
def get_vunna_match(self):
return self.__vunna_match
def get_andel_vunna(self):
return self.__andel_vunna
这就是我分割文件中每一行的方式:
def skapa_spelare(spelare):
spelarelistan = []
for x in spelare:
y = x.split()
p = Spelareinfo(y[0],y[1],y[2],y[3])
print (p)
,错误是:
TypeError: __init__() takes 4 positional arguments but 5 were given
我试图找出错误出在哪里,所以我尝试了以下代码:
list1 = ['B.Borg', '10', '15', '0.67']
list2 = ['B.Bingley', '3', '15', '0.20']
list3= ['B.Becker', '2', '15', '0.13']
print(Spelareinfo(list1[0],list1[1],list1[2],list1[3]))
它给出相同的错误。