如何通过使用Python3中的一个变量传递函数中的可更改数量的参数



我想在函数中传递多个参数,具体取决于字典的大小。该功能称为" w.create_line"。并且已经工作正常。当我通过用保存在linecontent中的数字替换linecontent来手动传递参数时,它有效,但是在这种情况下,它不仅可以与linecontent一起使用。

linecontent包含一个可变数量的整数,这些整数被逗号分隔。逗号本身可以保存在linecontent中。这可能是问题,但我找不到更好的方法。当我不知道有多少个时,我如何将多个参数传递给函数,因为每次都不同?

while (counter < len(dic) - 1):
    counter2 = 1
    linecontent = ""
    polygondata = dic[counter]
    while (counter2 < len(polygondata)):
        linecontent = linecontent + polygondata[counter2] + ", "
        counter2 += 1
        linecontent = linecontent + str((canvas_height - int(polygondata[counter2]))) + ", "
        counter2+=1
    linecontent = linecontent + polygondata[1] + ", "
    linecontent = linecontent + str((canvas_height - int(polygondata[2]))) + ', fill="#FF0000", width=5'
    w.create_line(linecontent)
    counter+=1

好吧,我写道:

class DrawPolygon():
    def __init__(self, *args):
        w.create_line(args, fill="#FF0000", width=5)

并将参数附加到列表中。现在它的工作正常。

最新更新