有没有办法将Python元组扩展为函数-作为实际参数?
例如,这里expand()做了魔术:
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为myfun((a, b, c))
myfun(*tuple)不正是你要求什么。的*操作者只需解包元组(或任何可迭代),并把它们作为位置函数的自变量。有关更多信息,请参见此处。
myfun(*tuple)
侧问题:不要为你的标识符内建类型的名称,如使用tuple,list,file,set,等等-这是可怕的做法,它会回来,咬你的时候,你最不经意的时候,所以只是进入的积极的习惯,避免隐藏带有你自己的标识符的内置名称。
tuple
list
file
set