Chinaunix首页 | 论坛 | 博客
  • 博客访问: 347575
  • 博文数量: 100
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 521
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-31 11:37
个人简介

活到老,学到老

文章分类

全部博文(100)

文章存档

2018年(1)

2017年(2)

2016年(11)

2015年(82)

2014年(4)

我的朋友

分类: Python/Ruby

2016-07-26 00:09:19

*args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个 dict。
同时使用*args和**kwargs时,*args参数列必须要在**kwargs前
代码:
  1. #!/usr/local/bin/python3
    #coding=utf-8

    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)
运行结果:

  1. 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'}
    -----------------------

阅读(1134) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~