Reputation: 335
For this function I can use tuple elements as arguments:
light_blue = .6, .8, .9
gradient.add_color_rgb(0, *light_blue)
What if i have to add another argument after the tuple?
light_blue = .6, .8, .9
alpha = .5
gradient.add_color_rgba(0, *light_blue, alpha)
does not work. What does work is
gradient.add_color_rgba(0, *list(light_blue)+[alpha])
which does not really look better than
gradient.add_color_rgba(0, light_blue[0], light_blue[1], light_blue[2], alpha)
Is there a better way to do this?
Upvotes: 3
Views: 884
Reputation: 66343
You can simplify the expression slightly by making a tuple instead of a list
containing light_blue
and alpha
e.g.
gradient.add_color_rgba(0, *(light_blue + (alpha,)))
Upvotes: 2
Reputation: 11325
You could call it like gradient.add_color_rgba(0, *light_blue, alpha=alpha)
if you know parameter name for the alpha.
Upvotes: 6