当前位置:  编程技术>python

用实例说明python的*args和**kwargs用法

    来源: 互联网  发布时间:2014-09-04

    本文导语:  先来看一个例子: 代码如下:>>> 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'...

先来看一个例子:

代码如下:

>>> 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”。如同所示:

    
 
 

您可能感兴趣的文章:

  • c++模板(template)常见用法代码实例
  • getdate()函数的用法实例
  • java之super关键字用法实例解析
  • python中enumerate的用法实例解析
  • ShellExecute函数用法的实例代码
  • 实例学习C#中Ref,Out的用法
  • java之static关键字用法实例解析
  • C#各种数组的用法实例演示
  • java之this关键字用法实例分析
  • c#中switch case的用法实例解析
  • SQL cursor用法实例
  • Marquee高级用法实例代码
  • jQuery setTimeout用法总结(实例)
  • Python continue语句用法实例
  • C#四舍五入(函数)用法实例
  • C#中out保留字用法实例分析
  • Python中__call__用法实例
  • C#中is和as用法实例分析
  • Python中apply函数的用法实例教程
  • C语言变量类型与输出控制用法实例教程
  • sqlserver 存储过程中If Else的用法实例
  • android中写一个内部类来选择文件夹中指定的图片类型实例说明
  • 怎样删除android的gallery中的图片实例说明
  • MSSQL中递归SQL查询语句实例说明-
  • 目前只用过 skill -STOP/CONT ,不知道这个命令有何不妥之处。另外有个调整优先级的命令一直没用过,能否举个实例,顺便也说明是否有坏处。
  • Oracle数据库异构服务原理及实例说明
  • 利用python获得时间的实例说明
  • Android 解析JSON对象及实例说明
  • CSS关于相对定位和绝对定位的说明实例
  • 怎样实现android http-post方法实例说明
  • C#的XML两种代码注释实例说明
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • 可以有其他两个类的实例同时调用一个java实例的两个方法吗?
  • Bean的作用域及Spring 暴露 Bean实例的方法介绍
  • 请问:类的实例化是怎么一回事?如何进行实例化?
  • Python 3 Tkinter教程之事件Event绑定处理代码实例
  • 技术文章 iis7站长之家
  • Python namedtuple(命名元组)使用实例
  • 类的方法和实例方法,类字段和实例字段有什么不同,在使用上?
  • boost库区间range基本原理及使用实例
  • 既然在定义实例变量的时候可以初始化实例变量的值,那还要构造函数干吗?谢谢!
  • php session_id()函数介绍及代码实例
  • 怎么样判断一个类是否已经被实例化,并关闭这个实例,而且保证系统不退出(详情见内)
  • .NET下 c#通过COM组件操作并导出Excel实例代码
  • 请问在一个servlet里取得一个用singleton模式实现的类实例,那么这个类实例的生命周期是怎样的?
  • java Servlet获取和设置cookie实例代码
  • C#静态变量与实例变量实例分析
  • Mysql Select查询执行流程介绍及实例
  • 实例变量和类变量
  • c++类库Boost::bimap(双向映射)介绍及使用实例
  • 又谁能告诉我实例因该怎么去理解它?????????/
  • OpenStack中compute介绍和compute实例需要注意的问题
  • Keepalived 能配两个虚拟ip吗,匹配两个数据库实例?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3