python函数参数*args**kwargs用法实例


Posted in Python onDecember 04, 2013
#coding=utf8
__author__ = 'Administrator'
# 当函数的参数不确定时,可以使用*args和**kwargs。*args没有key值,**kwargs有key值
def fun_var_args(farg, *args):
    print 'args:', farg
    for value in args:
        print 'another arg:',value
# *args可以当作可容纳多个变量组成的list或tuple
fun_var_args(1, 'two', 3, None)
#args: 1
#another arg: two
#another arg: 3
#another arg: None

def fun_var_kwargs(farg, **kwargs):
    print 'args:',farg
    for key in kwargs:
        print 'another keyword arg:%s:%s' % (key, kwargs[key])
# myarg1,myarg2和myarg3被视为key, 感觉**kwargs可以当作容纳多个key和value的dictionary
fun_var_kwargs(1, myarg1='two', myarg2=3, myarg3=None)
# 输出:
#args: 1
#another keyword arg:myarg1:two
#another keyword arg:myarg2:3
#another keyword arg:myarg3:None
def fun_args(arg1, arg2, arg3):
    print 'arg1:', arg1
    print 'arg2:', arg2
    print 'arg3:', arg3
myargs = ['1', 'two', None]     # 定义列表
fun_args(*myargs)
# 输出:
#arg1: 1
#arg2: two
#arg3: None
mykwargs = {'arg1': '1', 'arg2': 'two', 'arg3': None}      # 定义字典类型
fun_args(**mykwargs)
# 输出:
#arg1: 1
#arg2: two
#arg3: None
# 两者都有
def fun_args_kwargs(*args, **kwargs):
    print 'args:', args
    print 'kwargs:', kwargs

args = [1, 2, 3, 4]
kwargs = {'name': 'BeginMan', 'age': 22}
fun_args_kwargs(args,kwargs)
# args: ([1, 2, 3, 4], {'age': 22, 'name': 'BeginMan'})
# kwargs: {}
fun_args_kwargs(1,2,3,a=100)
#args: (1, 2, 3)
#kwargs: {'a': 100}
fun_args_kwargs(*(1,2,3,4),**{'a':None})
#args: (1, 2, 3, 4)
#kwargs: {'a': None}
 

 

Python 相关文章推荐
Python Web服务器Tornado使用小结
May 06 Python
探寻python多线程ctrl+c退出问题解决方案
Oct 23 Python
Python实现Linux的find命令实例分享
Jun 04 Python
简单了解Python中的几种函数
Nov 03 Python
django Serializer序列化使用方法详解
Oct 16 Python
Python实现的特征提取操作示例
Dec 03 Python
Python中format()格式输出全解
Apr 12 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
Nov 08 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
Mar 23 Python
Pandas读取csv时如何设置列名
Jun 02 Python
python+selenium自动化实战携带cookies模拟登陆微博
Jan 19 Python
python 高阶函数简单介绍
Feb 19 Python
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
Dec 04 #Python
Python Web框架Pylons中使用MongoDB的例子
Dec 03 #Python
python将xml xsl文件生成html文件存储示例讲解
Dec 03 #Python
python使用reportlab画图示例(含中文汉字)
Dec 03 #Python
python33 urllib2使用方法细节讲解
Dec 03 #Python
python使用mysqldb连接数据库操作方法示例详解
Dec 03 #Python
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
Dec 03 #Python
You might like
PHP小程序自动提交到自助友情连接
2009/11/24 PHP
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
JS模拟多线程
2007/02/07 Javascript
javascript 面向对象编程 聊聊对象的事
2009/09/17 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
多个jQuery版本共存的处理方案
2015/03/17 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
2016/07/01 Javascript
vue 组件开发原理与实现方法详解
2019/11/29 Javascript
jQuery实现开关灯效果
2020/08/02 jQuery
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
深入解答关于Python的11道基本面试题
2017/04/01 Python
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
python3实现字符串的全排列的方法(无重复字符)
2018/07/07 Python
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
Python csv文件记录流程代码解析
2020/07/16 Python
中国专业的综合网上购物商城:京东
2016/08/02 全球购物
耐克巴西官方网站:Nike巴西
2016/08/14 全球购物
Darphin迪梵官网: 来自巴黎,植物和精油调制的护肤品牌
2016/10/11 全球购物
俄罗斯首家面向中国消费者的一站式购物网站:Wruru
2020/05/08 全球购物
如何理解委托
2012/01/06 面试题
化工机械应届生求职信
2013/11/04 职场文书
美术毕业生求职信
2014/02/25 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
惊天动地观后感
2015/06/10 职场文书
民政局未婚证明
2015/06/15 职场文书
详解JavaScript中Arguments对象用途
2021/08/30 Javascript
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS