本文我们主要关注的可变参数的函数。
一般来说,如果输入的参数是不固定的,那么我们可以用tuple或者list来解决输入的问题,但是这样的话我们在调用的时候就必须组装一个tuple或者list,显得有点多余。在Python中是这样解决这个问题的:在参数面前加一个*号。这样,在函数内部,参数接收到的就是一个tuple。
def sum(*nums):
s=0
for num in nums:
s=s+num
return s
但是如果这样做的话,传入的参数是一个list或者tuple怎么办?
答案是这样的:Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去。
a=[1,2,3]
sum(*a)
除此之外,还有关键字参数(**),传入的是一个dict。