我是靠谱客的博主 无聊板凳,最近开发中收集的这篇文章主要介绍用实例说明python的*args和**kwargs用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

先来看一个例子:

复制代码 代码如下:

>>> def foo(*args, **kwargs):
    print 'args =', args
    print 'kwargs = ', kwargs
    print '-----------------------'

   
>>> if __name__ == '__main__':
    foo(1, 2, 3, 4)
    foo(a=1, b=2, c=3)
    foo(1,2,3,4, a=1, b=2, c=3)
    foo('a', 1, None, a=1, b='2', c=3)


其输出结果如下:
复制代码 代码如下:

args = (1, 2, 3, 4)
kwargs =  {}
-----------------------
args = ()
kwargs =  {'a': 1, 'c': 3, 'b': 2}
-----------------------
args = (1, 2, 3, 4)
kwargs =  {'a': 1, 'c': 3, 'b': 2}
-----------------------
args = ('a', 1, None)
kwargs =  {'a': 1, 'c': 3, 'b': '2'}
-----------------------

从以上例子可以看出,这两个是python中的可变参数。*args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个 dict。并且同时使用*args和**kwargs时,*args参数列必须要在**kwargs前,像foo(a=1, b='2', c=3, a', 1, None, )这样调用的话,会提示语法错误“SyntaxError: non-keyword arg after keyword arg”。如同所示:

最后

以上就是无聊板凳为你收集整理的用实例说明python的*args和**kwargs用法的全部内容,希望文章能够帮你解决用实例说明python的*args和**kwargs用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(188)

评论列表共有 0 条评论

立即
投稿
返回
顶部