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中偏函数partial用法实例分析
Jul 08 Python
python自动翻译实现方法
May 28 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
Aug 07 Python
python3利用smtplib通过qq邮箱发送邮件方法示例
Dec 03 Python
tensorflow实现简单的卷积网络
May 24 Python
python爬取网页转换为PDF文件
Jun 07 Python
Pandas分组与排序的实现
Jul 23 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
Jul 28 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
Mar 10 Python
浅谈django 模型类使用save()方法的好处与注意事项
Mar 28 Python
了解一下python内建模块collections
Sep 07 Python
python 中的@运算符使用
May 26 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
FleaPHP的安全设置方法
2008/09/15 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
使用composer 安装 laravel框架的方法图文详解
2019/08/02 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
中文字符串截取的js函数代码
2013/04/17 Javascript
javascript实现验证IP地址等相关信息代码
2015/05/10 Javascript
Clipboard.js 无需Flash的JavaScript复制粘贴库
2015/10/02 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
2016/01/04 Javascript
详解JavaScript对象序列化
2016/01/19 Javascript
javascript移动开发中touch触摸事件详解
2016/03/18 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
python对字典进行排序实例
2014/09/25 Python
python多重继承实例
2014/10/11 Python
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
Python生成随机验证码的两种方法
2015/12/22 Python
Java及python正则表达式详解
2017/12/27 Python
python编写暴力破解zip文档程序的实例讲解
2018/04/24 Python
pandas去重复行并分类汇总的实现方法
2019/01/29 Python
在django中实现页面倒数几秒后自动跳转的例子
2019/08/16 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
基于YUV 数据格式详解及python实现方式
2019/12/09 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
2020/01/18 Python
TensorFlow自定义损失函数来预测商品销售量
2020/02/05 Python
基于Python的OCR实现示例
2020/04/03 Python
浅析pandas随机排列与随机抽样
2021/01/22 Python
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
在家更换处方镜片:Lensabl
2019/05/01 全球购物
学徒工职责
2014/03/06 职场文书
高一新生军训方案
2014/05/12 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
外出培训学习心得体会
2016/01/18 职场文书