zoukankan      html  css  js  c++  java
  • python *args 和 ** kwargs

    可变长度的参数

    *args的使用方法

          *args 用来将参数打包成tuple给函数体调用

    可见,1这个参数,被打包成了一个元组

    def func(*args):
        print(args,type(args))
    
    func(1)
    -->>
    (1,) <class 'tuple'>
    

      

    *args是可变参数,x,y已经又1,2传参,*args就得到3,4。

    def func(x,y,*args):
        print(args,type(args))
    
    func(1,2,3,4)
    

      

    **kwargs的使用方法

          **kwargs 打包关键字参数成dict给函数体调用

    参数被打包成了一个字典

    def func(**kwargs):
        print(kwargs,type(kwargs))
    
    func(a=2,b=2)
    -->>
    {'a': 2, 'b': 2} <class 'dict'>
    

      

    常见的用法:

    def test(data,**kwargs):
        instance = kwargs.pop('instance',False)
        context = kwargs.pop('context',{})
        print(data,instance,context)
    
    test(data='xxx', instance=True)
    -->
    xxx True {}
    #有一个固定参数data
    #剩下的是选择性传参的kv对,如果没有传这个参数,就使用pop设定默认值。
    

      

  • 相关阅读:
    tomcat启动问题
    索引优化
    itext转PDF(二)
    itext转pdf(一)
    定时器quartz配置文件
    hibernate自动去别名问题
    win10安装mysql 8.0.19 (解压方式)
    把数据按列拆分为数据表
    程序记时
    find的应用
  • 原文地址:https://www.cnblogs.com/jabbok/p/11213707.html
Copyright © 2011-2022 走看看