Python中的*args 和**kwargs

这是一种特殊的语法,在函数定义中使用*args和kwargs传递可变长参数. *args用作传递非命名键值可变长参数列表(位置参数); kwargs用作传递键值可变长参数列表

第一个参数是固定参数

def test1(arg1,*args):
print(arg1)
for i in args:
print(i)
test1(“hello”,1,2,3,4)
““

hello
1
2
3
4

**kwargs用来传递可变键值参数

一般与字典或者等值对连用\

字典:

def test2(arg1,**kwargs):
    print(arg1)
    for key in kwargs:
        print(key,kwargs[key])

adict={}
adict['a']=1
adict['b']=2
test2("hell0",**adict)

===>

hello
a 1
b 2

等值对

def test2(arg1,**kwargs):
    print(arg1)
    for key in kwargs:
        print(key,kwargs[key])

test2(arg1="hello",ab=1,a=2)

==>

hello
ab 1
a 2

猜你喜欢

转载自blog.csdn.net/dpengwang/article/details/81710183