zoukankan      html  css  js  c++  java
  • 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'})
  • 相关阅读:
    JVM活学活用——GC算法 垃圾收集器
    JVM活学活用——类加载机制
    JVM活学活用——Jvm内存结构
    优化springboot
    Java基础巩固计划
    Java自定义注解
    记一次内存溢出的分析经历
    redis学习笔记-redis的安装
    记一次线程池调优经历
    Python中关于split和splitext的差别和运用
  • 原文地址:https://www.cnblogs.com/zhuxibo/p/14296970.html
Copyright © 2011-2022 走看看