使用元组作为函数参数

3

对于这个函数,我可以使用元组元素作为参数:

light_blue = .6, .8, .9
gradient.add_color_rgb(0, *light_blue)

如果我需要在元组后面添加另一个参数怎么办?
light_blue = .6, .8, .9
alpha = .5
gradient.add_color_rgba(0, *light_blue, alpha)

不起作用。能够正常工作的是

gradient.add_color_rgba(0, *list(light_blue)+[alpha])

这看起来并不比原来更好

gradient.add_color_rgba(0, light_blue[0], light_blue[1], light_blue[2], alpha)

有更好的方法来做这件事吗?

2个回答

6
如果您知道alpha参数的名称,可以像这样调用它:gradient.add_color_rgba(0, *light_blue, alpha=alpha)

2

您可以通过使用元组而不是包含light_bluealphalist稍微简化表达式,例如:

gradient.add_color_rgba(0, *(light_blue + (alpha,)))

根据 light_blue 类型进行操作相当麻烦。在我看来,最好假设它是任何可迭代对象。 - Tomasz Wysocki
1
好的,现在我记起来了,这是创建一个只有一个元素的元组的方式。 - mosaic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接