Python如何将* argv传递给子函数

时间:2015-12-28 07:55:47

标签: python-2.7 arguments

我想将* argv参数传递给子函数:

1   def a(*argv):
2      print "a" + str(argv)
3   
4   def b(*argv):
5       print "b" + str(argv)
6       a(argv)
7   
8   b(1, 2, 3)

以下是我得到的输出:

  

b(1,2,3)

     

a((1,2,3),)

在第6行,argv作为整个tupple传递,作为一个参数计数。这不是我想要的结果。

我想:

  

b(1,2,3)

     

a(1,2,3)

如何获得理想的结果?类似的东西:

6    a(argv[0], argv[1],...argv[n])

但是n是未知的。

1 个答案:

答案 0 :(得分:1)

我找到了。在第6行添加*就是技巧。

1   def a(*argv):
2      print "a" + str(argv)
3   
4   def b(*argv):
5       print "b" + str(argv)
6       a(*argv)
7   
8   b(1, 2, 3)