1.python中使用*代表可变参数,类似C语言中的 ... 不过 C语言中的可变参数之前必须有一个或者多个参数
def funcD(a,b,*c): print a print b print "length of c is: %d"%len(c) print cfuncD(1,2,3,4,5,6,7)
python中就不用,上下 两段代码中 c都是一个tuple,上面如果只有两个参数的话,c就是一个空的tuple
def funcD(*c): print "length of c is: %d"%len(c) print cfuncD(1,2,3,4,5,6,7)
2. python中的两个*,如果一个函数定义中的最后一个形参有 ** (双星号)前缀,所有正常形参之外的其他的关键字参数都将被放置在一个字典中传递给函数
def funcE(a,**b): print a for x in b: print x + ": " + str(b[x]) funcE(1,c='hello',b = 'world')
输出为:
1
c: hello
b: world