可变参数和关键字参数

可变参数和关键字参数

   小樱     2021年1月9日 14:57     876    

可变参数和关键字参数就是***的区别。

可变参数

def add(x , y):
    z = x + y
   
return z

上边是给定了固定的参数个数,只能传入两个参数。

传多了会报错。

 

但是又不想仅仅求两个参数的和,想要任意多个参数怎么办?

就用到*args就是个名称,愿意起什么名字都可以。

def addplus(*args):
   
print(args)
    z=
0
   
for x in args:
        z += x
   
return z
 
if __name__ == '__main__':
   
print(addplus(1,2,3,4,5,6))
 

运行结果

(1, 2, 3, 4, 5, 6)

21

这里可以看到,其实参数传入以后,就被组成了一个元祖(tuple)。

不用上边的方法,直接传入一个列表也可以。参数就不需要加*了。

def add(args):
   
print(args)
    z=
0
   
for x in args:
        z += x
   
return z
if __name__ == '__main__':
   
print(add([1,2,3,4,5,6]))

 

关键字参数

这里想把每种水果的数量+1,打印出来。

def price(kw):
   
for key , value in kw.items():
       
print("The number of " + key +' is ' + str(value+1))
if __name__ == '__main__':
    price({
'apple':5 , 'orange':6 , 'peach':7})

这里给函数传入了一个字典,并遍历字典,将每个水果数量打印出来。

也可以使用关键字参数不必须传入一个字典

def price(**kw):
   
for key , value in kw.items():
       
print("The number of " + key +' is ' + str(value+1))
if __name__ == '__main__':
    price(
apple=5,orange=6,peach=7)

运行结果

{'apple': 5, 'orange': 6, 'peach': 7}

The number of apple is 6

The number of orange is 7

The number of peach is 8

可以看到其组成了一个字典。


文章评论

0

其他文章