• python拆包与装包-*args,**kwargs


    1,*args:代表可传递多个形参,**kwargs:带便可传递多个位置参数

    def test_args(*args):
        print(args)
    if __name__ == '__main__':
        test_args('1','b',[1,2,3])
    #打印结果:('1', 'b', [1, 2, 3])
    def test_kwargs(**kwargs):
        print(kwargs)
    if __name__ == '__main__':
        test_kwargs(name='zxb',age=18)
    #打印结果:{'name': 'zxb', 'age': 18}
    def test_args_kwargs(*args,**kwargs):
        print('形参是:',args)
        print('实参是:',kwargs)
    if __name__ == '__main__':
        test_args_kwargs(1,2,3,name='zxb',age='18')
    #打印结果是:形参是: (1, 2, 3),实参是: {'name': 'zxb', 'age': '18'}

    2.字典当作位置参数传入:

    注意:字典拆包两个*

    #字典可以当作位置参数传入
    def dic_kwargs(**kwargs):
        print(kwargs) #里面在进行装包
    
    
    if __name__ == '__main__':
        dic = {'name':18,'age':18}
        dic_kwargs(**dic) #相对与传进去的是name='zxb',age='18'
        #打印结果为:{'name': 18, 'age': 18}

    3.列表当作位置参数传入:

    注意:列表拆包 一个*

    #列表当作形参传入
    def list_args(*args):
        print(args)#传进去的参数再进行装包
    
    
    if __name__ == '__main__':
        lis=[1,2,3,'a',['zxb','zxl'],{'age':'20'}]
        list_args(*lis)#列表的里面的数据进行解包:1,2,3,'a',['zxb','zxl'],{'age':'20'}
        #打印结果为:(1, 2, 3, 'a', ['zxb', 'zxl'], {'age': '20'})
  • 相关阅读:
    shell脚本学习001
    Discuz 代码分析 001 forum.php
    Oauth2.0 入门
    第一篇文章
    position的四个属性值: relative ,absolute ,fixed,static
    JQuery中stop([clearQueue],[goToEnd])介绍
    <meta>
    sublime 2中Package control安装和使用
    ios 状态码
    <video>和<audio>标签,对视频和音频的支持
  • 原文地址:https://www.cnblogs.com/zhuxibo/p/14296970.html
Copyright © 2020-2023  润新知