如果你要使得你的函数接收元组或者字典形式的参数,那么需要使用和*前缀。
def calSum(*args):
total = 0
for num in args:
total += num
return total
print 'calSum(2, 3, 4) = ', calSum(2, 3, 4)
#calSum(2, 3, 4) = 9
print 'calSum(2, 3, 4, 5, 6) = ', calSum(2, 3, 4, 5, 6)
#calSum(2, 3, 4, 5, 6) = 20
def sayWord(name, **args):
print 'hello:', name
for name, word in args.items():
print '%s say %s' %(name, word)
# hello: friend
# xiaoming say hello
# xiaoli say good morning
sayWord('friend',xiaoming='hello', xiaoli='good morning')
在args参数前使用前缀,多余的参数会作为一个元组存储在args中,如果使用前缀,多余的参数会被认为是字典的健值对。
当普通参数和,**参数共用的情况下普通参数在前。