首页 > 解决方案 > 如何通过在 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

标签: python-3.x

解决方案


好的,我写道:

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

并用 while 将参数附加到列表中。现在它工作得很好。


推荐阅读