使用可变数量的参数调用函数?

时间:2012-07-18 09:28:04

标签: python function

  

可能重复:
  Having more then one parameter with def in python

我需要进行一个包含可变数量参数的函数调用 - 参数包含在列表中。

它会"看起来"像这样列出2个项目:

TheFunction(item1, item2)

以及3个项目的列表:

TheFunction(item1, item2, item3)

有没有简单,pythonic的方式这样做?例如,使用getattr()的某种循环?

列表是可变大小的 - 我需要能够仅使用在代码中作为参数显示的列表来调用该函数。具体来说,我在SUDS中调用client.service.method()函数来调用Web服务方法。这个函数接受可变数量的参数,我只是在用可变数量的参数调用它时遇到了麻烦。

1 个答案:

答案 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)
相关问题