预期有4个位置参数,但有5个

时间:2020-01-14 19:02:14

标签: python

我遇到了一个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]))

它给出相同的错误。

0 个答案:

没有答案