python中的函数参数,列表和int

时间:2015-02-01 02:58:08

标签: python function

我正在尝试编写一个以列表和int作为参数的函数。

functionName(*args, number)
   #do stuff

数字需要是一个int,但我一直在IDLE中获取语法错误(这是我正在使用的IDE)

2 个答案:

答案 0 :(得分:3)

如果您的第一个参数是列表,请删除*

def functionName(listob, number):

*args语法用于捕获任意数量的位置参数,并且必须在所有其他位置(和关键字)参数后列出

def functionName(number, *args):

因为它允许使用 数字或任意数量的额外参数来调用函数; functionName(42, 'foo', 'bar')会产生number = 42args = ('foo', 'bar')。但这与传入列表对象不同。

Python不会限制可以传入的对象类型; *args会将您的函数作为元组提供额外的参数,但这只是因为这是表示额外传递给函数的0个或更多参数的最佳方式。

答案 1 :(得分:1)

在实际参数之前,您不能拥有*args。所以你可以这样称呼它:

def foo(name, *args)

但是,您需要一个列表,因此不需要*args。拥有以下签名就可以了:

def foo(name, lst)