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解析中国天气网的天气数据
Mar 21 Python
Python 专题二 条件语句和循环语句的基础知识
Mar 19 Python
python下读取公私钥做加解密实例详解
Mar 29 Python
Python实现的快速排序算法详解
Aug 01 Python
PyCharm中代码字体大小调整方法
Jul 29 Python
Python 如何优雅的将数字转化为时间格式的方法
Sep 26 Python
Python之Numpy的超实用基础详细教程
Oct 23 Python
pytorch 常用线性函数详解
Jan 15 Python
tensorflow如何继续训练之前保存的模型实例
Jan 21 Python
Python基于内置库pytesseract实现图片验证码识别功能
Feb 24 Python
如何创建一个Flask项目并进行简单配置
Nov 18 Python
Django URL参数Template反向解析
Nov 24 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 将字符串按大写字母分隔成字符串数组
2010/04/30 PHP
CodeIgniter中使用cookie的三种方式详解
2014/07/18 PHP
PHP答题类应用接口实例
2015/02/09 PHP
PHP实现动态柱状图改进版
2015/03/30 PHP
PHPStrom中实用的功能和快捷键大全
2015/09/23 PHP
php PDO异常处理详解
2016/11/20 PHP
JavaScript表单常用验证集合
2008/01/16 Javascript
跟我学习javascript的call(),apply(),bind()与回调
2015/11/16 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
Bootstrop实现多级下拉菜单功能
2016/11/24 Javascript
JS实现搜索框文字可删除功能
2016/12/28 Javascript
input type=file 选择图片并且实现预览效果的实例
2017/10/26 Javascript
jQuery中内容过滤器简单用法示例
2018/03/31 jQuery
koa2+vue实现登陆及登录状态判断
2019/08/15 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
wxpython学习笔记(推荐查看)
2014/06/09 Python
Python判断某个用户对某个文件的权限
2016/10/13 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
Python 解决中文写入Excel时抛异常的问题
2018/05/03 Python
python 地图经纬度转换、纠偏的实例代码
2018/08/06 Python
利用python绘制中国地图(含省界、河流等)
2020/09/21 Python
Python的Tqdm模块实现进度条配置
2021/02/24 Python
.NET程序员的数据库面试题
2012/10/10 面试题
电脑教师的自我评价
2013/12/18 职场文书
优秀党员获奖感言
2014/02/18 职场文书
党建示范点实施方案
2014/03/12 职场文书
董事长助理工作职责
2014/06/08 职场文书
煤矿安全生产月活动总结
2014/07/05 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
行政执法队伍作风整顿个人剖析材料
2014/10/11 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
小学中队长竞选稿
2015/11/20 职场文书
2016年感恩节寄语
2015/12/07 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python