Python中*args和**kwargs的区别

系统 1784 0
原文链接: https://www.cnblogs.com/yunguoxiaoqiao/p/7626992.html

 注:《python核心编程第2版》的11.6可变长度的参数---章节中有详细介绍。

一、*args的使用方法

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

      例子一:

            def function(*args):
    print(args, type(args))

function(1)
          

      输出结果以元组的形式展示:

                      Python中*args和**kwargs的区别_第1张图片    

      例子二:

            def function(x, y, *args):
    print(x, y, args)

function(1, 2, 3, 4, 5)
          

       输出结果:

                      Python中*args和**kwargs的区别_第2张图片

二、**kwargs的使用方法

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

      例子一:

            def function(**kwargs):
    print( kwargs, type(kwargs))

function(a=2)
          

      输出结果以列表形式展示:

                    Python中*args和**kwargs的区别_第3张图片

     例子二:

            def function(**kwargs):
    print(kwargs)

function(a=1, b=2, c=3)
          

    输出结果:

                   Python中*args和**kwargs的区别_第4张图片

 

    注意点:参数arg、*args、**kwargs三个参数的位置必须是一定的。必须是(arg,*args,**kwargs)这个顺序,否则程序会报错。

            def function(arg,*args,**kwargs):
    print(arg,args,kwargs)

function(6,7,8,9,a=1, b=2, c=3)
          

    输出结果:

                  Python中*args和**kwargs的区别_第5张图片

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论