如何知道用户输入Python函数有多少* args?

时间:2015-03-02 08:59:27

标签: python python-2.7

我试图找到一个简单的解决方案来了解有多少参数将用户输入到Python函数的* args中但无济于事。所以我想在这里问专家会更快。

说:

def foo(*args):
    for arg in args:
        print "we have:", arg

那么有没有办法知道如果用户确实foo(1,2,3,4)我们知道他/她输入了4个参数?

感谢您的关注和帮助!

3 个答案:

答案 0 :(得分:3)

使用len

In [1]: def foo(*args):
   ...:     print(type(args))
   ...:     print(len(args))
   ...:     

In [2]: foo(1, 2, 3, 4)
<class 'tuple'>
4

可以使用内置函数type找到args的类型。

答案 1 :(得分:0)

由于args可能是序列或集合,因此您只需使用len()来获取项目数。

def foo(*args):
    print "we have", len(args), "args"

答案 2 :(得分:0)

我认为这就像len(args)一样简单,因为args只不过是一个元组,所以你也可以应用其他适用于元组的操作。