python中的*args 和**kwargs

作者: dpengwang | 来源:发表于2018-05-18 16:10 被阅读0次

    这是一种特殊的语法,在函数定义中使用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
    

    相关文章

      网友评论

        本文标题:python中的*args 和**kwargs

        本文链接:https://www.haomeiwen.com/subject/iyigdftx.html