Python函数可变参数定义及其参数传递方式实例详解


Posted in Python onMay 25, 2015

本文实例讲述了Python函数可变参数定义及其参数传递方式。分享给大家供大家参考。具体分析如下:

python中 函数不定参数的定义形式如下:

1、func(*args)

传入的参数为以元组形式存在args中,如:

def func(*args): 
  print args 
>>> func(1,2,3) 
(1, 2, 3) 
>>> func(*[1,2,3]) #这个方式可以直接将一个列表的所有元素当作不定参数
传入(1, 2, 3)

2、func( **kwargs)

传入的参数为以字典形式存在args中,如:

def func(**kwargs): 
  print kwargs 
>>> func(a = 1,b = 2, c = 3) 
{'a': 1, 'c': 3, 'b': 2} 
>>> func(**{'a':1, 'b':2, 'c':3}) #这个方式可以直接将一个字典的所有键值对当作关键字参数传入 
{'a': 1, 'c': 3, 'b': 2}

3、也可以两者混用

func(*args, **kwargs)

传入的顺序必须和定义顺序相同,这里是先不定参数列表,再是关键字参数字典,如:

def func(*args, **kwargs): 
  print args 
  print kwargs 
>>> func(1,2,3) 
(1, 2, 3) 
{} 
>>> func(*[1,2,3]) 
(1, 2, 3) 
{} 
>>> func(a = 1, b = 2, c = 3) 
() 
{'a': 1, 'c': 3, 'b': 2} 
>>> func(**{'a':1, 'b':2, 'c':3}) 
() 
{'a': 1, 'c': 3, 'b': 2} 
>>> func(1,2,3, a = 4, b=5, c=6) 
(1, 2, 3) 
{'a': 4, 'c': 6, 'b': 5}</span> 
#这样跳跃传递是不行的 
>>> func(1,2,3, a=4, b=5, c=6, 7) 
SyntaxError: non-keyword arg after keyword arg

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python实现的简单文件传输服务器和客户端
Apr 08 Python
简单谈谈Python中函数的可变参数
Sep 02 Python
Python实现抓取网页生成Excel文件的方法示例
Aug 05 Python
python放大图片和画方格实现算法
Mar 30 Python
对python中的for循环和range内置函数详解
Apr 17 Python
对django xadmin自定义菜单的实例详解
Jan 03 Python
Python分析彩票记录并预测中奖号码过程详解
Jul 09 Python
在自动化中用python实现键盘操作的方法详解
Jul 19 Python
Django框架基础模板标签与filter使用方法详解
Jul 23 Python
Python lxml模块的基本使用方法分析
Dec 21 Python
Django rest framework分页接口实现原理解析
Aug 21 Python
java字符串格式化输出实例讲解
Jan 06 Python
Python易忽视知识点小结
May 25 #Python
Python中类型关系和继承关系实例详解
May 25 #Python
pymssql数据库操作MSSQL2005实例分析
May 25 #Python
python动态参数用法实例分析
May 25 #Python
Python文件去除注释的方法
May 25 #Python
python提取页面内url列表的方法
May 25 #Python
python实现批量改文件名称的方法
May 25 #Python
You might like
windows下PHP APACHE MYSQ完整配置
2007/01/02 PHP
php下正则来匹配dede模板标签的代码
2010/08/21 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
2012/02/22 PHP
使用PHP生成图片的缩略图的方法
2015/08/18 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
web页面数据展示新想法(json)
2010/06/08 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
利用a标签自动解析URL分析网址实例
2014/10/20 Javascript
jQuery DOM删除节点操作指南
2015/03/03 Javascript
javascript数组遍历的方法实例分析
2016/09/13 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
2014/05/23 Python
在Python中使用M2Crypto模块实现AES加密的教程
2015/04/08 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
Python的matplotlib绘图如何修改背景颜色的实现
2019/07/16 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
2019/08/22 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
Tensorflow 多线程设置方式
2020/02/06 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
AC Lens:购买隐形眼镜
2017/02/26 全球购物
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
Footshop法国:购买运动鞋
2020/01/19 全球购物
如何在.net Winform里面显示PDF文档
2012/09/11 面试题
个人自我评价范文
2014/02/05 职场文书
平面设计专业大学生职业规划书
2014/03/12 职场文书
企业授权委托书范本
2014/09/22 职场文书
工作汇报开头与结尾怎么写
2014/11/08 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
Python 中random 库的详细使用
2021/06/03 Python
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL