python-3.x - 如何通过在 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)
并用 while 将参数附加到列表中。现在它工作得很好。
推荐阅读
- python - 使用 OpenMP 运行时 boost::python 不是线程安全的吗?
- python-asyncio - asyncio - 创建任务但从不使用 await
- google-chrome-os - 将文件拆分成块并发送到 Outlook
- python - “utf-8”编解码器无法解码位置 18 中的字节 0xd5:无效的继续字节
- for-loop - 使用 jinja 2 for 循环从 ansible 事实中获取挂载名称和大小
- apache-flink - Flink 中可查询状态的稳定性
- entity-framework-core - EF Core 3.1 日志记录首先运行,但不再运行
- c++ - 在 C++ 中使用 GSL Monte Carlo 积分进行多维函数
- android - Jenkins build for android sdk 问题 无法安装以下SDK组件:
- leaflet - Mapbox GL - 用于非聚类和活动功能的过渡动画