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实现爬虫下载漫画示例
Feb 16 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
Apr 02 Python
详解Python安装scrapy的正确姿势
Jun 26 Python
python 定时任务去检测服务器端口是否通的实例
Jan 26 Python
pytorch自定义初始化权重的方法
Aug 17 Python
wxPython之wx.DC绘制形状
Nov 19 Python
通过实例解析Python return运行原理
Mar 04 Python
python deque模块简单使用代码实例
Mar 12 Python
小 200 行 Python 代码制作一个换脸程序
May 12 Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
Jul 13 Python
Python matplotlib模块及柱状图用法解析
Aug 10 Python
Python中使用Lambda函数的5种用法
Apr 01 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
简单的用PHP编写的导航条程序
2006/10/09 PHP
php导出中文内容excel文件类实例
2015/07/06 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
百度留言本js 大家可以参考下
2009/10/13 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
2014/05/04 Javascript
javascript弹出拖动窗口
2015/08/11 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
2015/12/24 Javascript
JS中的forEach、$.each、map方法推荐
2016/04/05 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
Javascript基础回顾之(二) js作用域
2017/01/31 Javascript
对angularJs中自定义指令replace的属性详解
2018/10/09 Javascript
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
python线程中同步锁详解
2018/04/27 Python
python 解压pkl文件的方法
2018/10/25 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
2018/12/15 Python
11个Python3字典内置方法大全与示例汇总
2019/05/13 Python
基于sklearn实现Bagging算法(python)
2019/07/11 Python
pycharm快捷键汇总
2020/02/14 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
2016/03/21 HTML / CSS
高性能钓鱼服装:Huk Gear
2019/02/20 全球购物
小学英语教学反思案例
2014/02/04 职场文书
北体毕业生求职信
2014/02/28 职场文书
党性锻炼的心得体会
2014/09/03 职场文书
小学教师自我剖析材料
2014/09/29 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
工作表扬信
2015/01/17 职场文书
个人简历求职信范文
2015/03/20 职场文书
降价通知函
2015/04/23 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
水浒传读书笔记
2015/06/25 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
Python 数据结构之十大经典排序算法一文通关
2021/10/16 Python