将元组展开为参数

2024-04-16 15:42:16 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有办法将Python元组扩展成一个函数-作为实际参数?

例如,这里expand()有魔力:

some_tuple = (1, "foo", "bar")

def myfun(number, str1, str2):
    return (number * 2, str1 + str2, str2 + str1)

myfun(expand(some_tuple)) # (2, "foobar", "barfoo")

我知道可以将myfun定义为myfun((a, b, c)),但当然可能有遗留代码。 谢谢


Tags: 函数number参数foodefbarsome元组
2条回答

请注意,还可以展开参数列表的一部分:

myfun(1, *("foo", "bar"))

看看the Python tutorial第4.7.3和4.7.4节。 它将元组作为参数传递。

我还将考虑使用命名参数(并传递字典),而不是使用元组和传递序列。当位置不直观或有多个参数时,我发现使用位置参数是一种不好的做法。

相关问题 更多 >