有没有办法将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)),但是当然可能会有遗留代码。
谢谢

最佳答案

myfun(*tuple)完全满足您的要求。 *运算符只是解压缩元组(或任何可迭代的),并将它们作为位置参数传递给函数。 See here for more info

附带问题:请勿将内置类型名称(例如tuplelistfileset等)用作标识符,这是一种可怕的做法,当您最小时,它会回来并咬住您期待它,
因此请养成积极避免使用自己的标识符隐藏内置名称的习惯。

10-07 20:24