Python 应为4个位置参数,但得到5个

Python 应为4个位置参数,但得到5个,python,Python,我遇到了一个python问题,它给出了错误“预期的位置参数为4,但得到了5” 我想用文件中的每一行创建一个对象。该类接受四个参数。 这是文件: B.Borg 10 15 0.67 B.Becker 2 15 0.13 B.Bingley 3 15 0.20 def skapa_spelare(spelare): spelarelistan = [] for x in spelare: y = x.split()

我遇到了一个python问题,它给出了错误“预期的位置参数为4,但得到了5”

我想用文件中的每一行创建一个对象。该类接受四个参数。 这是文件:

 B.Borg 10 15 0.67
 B.Becker 2 15 0.13
 B.Bingley 3 15 0.20
    def skapa_spelare(spelare):
        spelarelistan = []
        for x in spelare:
            y = x.split()
            p = Spelareinfo(y[0],y[1],y[2],y[3])
            print (p)

我的班级:

    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
我就是这样划分文件中的每一行的:

 B.Borg 10 15 0.67
 B.Becker 2 15 0.13
 B.Bingley 3 15 0.20
    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]))

它给出了同样的错误

你确定你给出的是你自己的代码吗?我运行了它,它没有返回任何消息error@cmxu还有很多其他的东西,所以我选择了显示错误的部分。我用你的代码创建了这个类,然后运行
p=…
行,它创建了这个对象。我看你的初始化代码没有问题。一定还有别的东西。@cmxu是的,在我问这个问题之前,我注意到它应该是``对于spelare中的x:y=x.split()p=Spelareinfo(y[0],y[1],y[2],y[3])``但是我尝试了每一个索引,它们都是基于参数的。我是说,从你发布的代码来看,这个错误没有意义。我只是想让你发布更多信息,或者指出发生这种情况的地方,或者提供数据或其他信息。