*args,**kwargs在函数定义、函数执行、函数外的作用意义

1.处在函数定义位置

主要作用是万能形参,不固定形参数量
*args:聚合成一个元组,位置实参有多个,最终都聚合成一个元组形式。
**kwargs: 聚合成一个字典,适用于关键字参数。

def eat(*args):
    print (f'args is {args}')
    sum = 0
    for i in args:
        sum += i
    print ('*'* 10)
    print (sum)

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

在这里插入图片描述

def eat(*args, **kwargs):
    print (args)
    print (kwargs)

eat(1,2,3,4,5,6,a=1,b=2)

在这里插入图片描述

2.处在函数执行位置:

*args:将序列打散
**kwargs:将多个字典打散

def aaa(*args, **kwargs):
    print (args, kwargs)

list1 = [1,2,3]
list2 = [4,5,6]

dict1 = {
    
    'name':"alex","age":28}
dict2 = {
    
    'a':'abc','b':'efg'}
aaa(*list1,*list2, **dict1, **dict2)

在这里插入图片描述

3.处在函数外

作用:处理多余赋值

a, b, *c = [1, 2, 3, 4, 5]
print (a, b, c)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_37369726/article/details/112245015