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 subprocess模块学习总结
Mar 13 Python
python中的__init__ 、__new__、__call__小结
Apr 25 Python
详解使用python的logging模块在stdout输出的两种方法
May 17 Python
python中将一个全部为int的list 转化为str的list方法
Apr 09 Python
python之pyqt5通过按钮改变Label的背景颜色方法
Jun 13 Python
python multiprocessing模块用法及原理介绍
Aug 20 Python
Python shutil模块用法实例分析
Oct 02 Python
django formset实现数据表的批量操作的示例代码
Dec 06 Python
Pytorch 使用 nii数据做输入数据的操作
May 26 Python
用Python 爬取猫眼电影数据分析《无名之辈》
Jul 24 Python
Python如何定义接口和抽象类
Jul 28 Python
OpenCV项目实践之停车场车位实时检测
Apr 11 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函数,php爱好者站推荐
2007/03/19 PHP
打造超酷的PHP数据饼图效果实现代码
2011/11/23 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
js hover 定时器(实例代码)
2013/11/12 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
jquery利用命名空间移除绑定事件的方法
2015/03/11 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
2019/05/22 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
2019/09/25 Javascript
JavaScript进阶(二)词法作用域与作用域链实例分析
2020/05/09 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
Python最基本的输入输出详解
2015/04/25 Python
python 容器总结整理
2017/04/04 Python
Python输出带颜色的字符串实例
2017/10/10 Python
python实现名片管理系统
2018/11/29 Python
python语言元素知识点详解
2019/05/15 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
社区文化建设方案
2014/05/02 职场文书
公司节能减排倡议书
2014/05/14 职场文书
乡文化站暑期培训方案
2014/08/28 职场文书
党的群众路线教育实践活动个人整改方案
2014/09/21 职场文书
营业用房租赁协议书
2014/11/26 职场文书
家长给老师的感谢信
2015/01/20 职场文书
员工试用期工作总结
2019/06/20 职场文书
2019年警察入党转正申请书最新范文
2019/09/03 职场文书
详解PHP Swoole与TCP三次握手
2021/05/27 PHP
Python学习开发之图形用户界面详解
2021/08/23 Python
前端JavaScript大管家 package.json
2021/11/02 Javascript