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程序设计入门(4)模块和包
Jun 16 Python
python网络编程之数据传输UDP实例分析
May 20 Python
详解Python中的from..import绝对导入语句
Jun 21 Python
用python实现简单EXCEL数据统计的实例
Jan 24 Python
windows系统下Python环境的搭建(Aptana Studio)
Mar 06 Python
详解appium+python 启动一个app步骤
Dec 20 Python
详解python之协程gevent模块
Jun 14 Python
浅谈利用numpy对矩阵进行归一化处理的方法
Jul 11 Python
简单了解Python matplotlib线的属性
Jun 29 Python
解决jupyter notebook 出现In[*]的问题
Apr 13 Python
关于Keras Dense层整理
May 21 Python
python神经网络编程实现手写数字识别
May 27 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中构造函数和析构函数解析
2014/10/10 PHP
CI框架给视图添加动态数据
2014/12/01 PHP
PHP MVC框架路由学习笔记
2016/03/02 PHP
PHP实现微信申请退款功能
2018/10/01 PHP
模拟电子签章盖章效果的jQuery插件源码
2013/06/24 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
属于你的jQuery提示框(Tip)插件
2016/01/20 Javascript
js获取客户端操作系统类型的方法【测试可用】
2016/05/27 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
简单实现jquery焦点图
2016/12/12 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
2017/12/01 Javascript
Angular2实现组件交互的方法分析
2017/12/19 Javascript
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
在Vue里如何把网页的数据导出到Excel的方法
2020/09/30 Javascript
Python中super关键字用法实例分析
2015/05/28 Python
利用Python为iOS10生成图标和截屏
2016/09/24 Python
Python随机生成手机号、数字的方法详解
2017/07/21 Python
python实现xlsx文件分析详解
2018/01/02 Python
python实现Virginia无密钥解密
2019/03/20 Python
Python 监测文件是否更新的方法
2019/06/10 Python
tensorflow 固定部分参数训练,只训练部分参数的实例
2020/01/20 Python
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
大学总结自我鉴定
2014/01/18 职场文书
进口业务员岗位职责
2014/04/06 职场文书
石油工程专业毕业生求职信
2014/04/13 职场文书
赡养老人协议书
2014/04/21 职场文书
委托书的格式
2014/08/01 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
大学生党员批评与自我批评范文
2014/10/14 职场文书
机关单位保密工作责任书
2015/05/11 职场文书
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
2021/04/01 PHP