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函数装饰器用法实例详解
Jun 04 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
Oct 18 Python
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
May 03 Python
详解python 拆包可迭代数据如tuple, list
Dec 29 Python
用TensorFlow实现多类支持向量机的示例代码
Apr 28 Python
python自动截取需要区域,进行图像识别的方法
May 17 Python
使用python将请求的requests headers参数格式化方法
Jan 02 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
Feb 01 Python
linux安装python修改默认python版本方法
Mar 31 Python
python如何实现异步调用函数执行
Jul 08 Python
基于Django OneToOneField和ForeignKey的区别详解
Mar 30 Python
python脚本监控logstash进程并邮件告警实例
Apr 28 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/05/08 PHP
php实现的一个简单json rpc框架实例
2015/03/30 PHP
开启PHP的伪静态模式
2015/12/31 PHP
php实现购物车产品删除功能(2)
2020/07/23 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
使用laravel的migrate创建数据表的方法
2019/09/30 PHP
一个简单的js鼠标划过切换效果
2010/06/30 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
JQuery对表单元素的基本操作使用总结
2014/07/18 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
Javascript6中字符串的四个新用法分享
2016/09/11 Javascript
微信小程序  TLS 版本必须大于等于1.2问题解决
2017/02/22 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
让 babel webpack vue 配置文件支持智能提示的方法
2019/06/22 Javascript
基于webpack4+vue-cli3项目实现换肤功能
2019/07/17 Javascript
MockJs结合json-server模拟后台数据
2020/08/26 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
python计算书页码的统计数字问题实例
2014/09/26 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
2018/02/01 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
python word转pdf代码实例
2019/08/16 Python
PyCharm 无法 import pandas 程序卡住的解决方式
2020/03/09 Python
读取nii或nii.gz文件中的信息即输出图像操作
2020/07/01 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
REISS美国官网:伦敦最受欢迎的时尚品牌
2019/08/16 全球购物
英国最受欢迎的母婴精品品牌:JoJo Maman BéBé
2021/02/17 全球购物
农药学硕士毕业生自荐信
2013/09/25 职场文书
应届生英语教师求职信
2013/11/05 职场文书
婚礼答谢宴主持词
2014/03/14 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
城南旧事读书笔记
2015/06/29 职场文书
世界各国短波电台对东亚播送时间频率表(SW)
2021/06/28 无线电
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers