我需要进行一个包含可变数量参数的函数调用 - 参数包含在列表中。
它会"看起来"像这样列出2个项目:
TheFunction(item1, item2)
以及3个项目的列表:
TheFunction(item1, item2, item3)
有没有简单,pythonic的方式这样做?例如,使用getattr()
的某种循环?
列表是可变大小的 - 我需要能够仅使用在代码中作为参数显示的列表来调用该函数。具体来说,我在SUDS中调用client.service.method()函数来调用Web服务方法。这个函数接受可变数量的参数,我只是在用可变数量的参数调用它时遇到了麻烦。
答案 0 :(得分:3)
试试这个,
TheFunction(*N_items)
In [88]: def TheFunction(*N_items):
....: print N_items
....:
In [89]: TheFunction(1)
(1,)
In [90]: TheFunction(1,2,3)
(1, 2, 3)
In [91]: TheFunction(1,2,3,4,5)
(1, 2, 3, 4, 5)
即使打电话*
也会帮助你...
In [92]: l = [1,2,3,4,5]
In [93]: TheFunction(*l)
(1, 2, 3, 4, 5)
In [94]: l = [1,2]
In [95]: TheFunction(*l)
(1, 2)