Python中*args、**kws 理解与使用(可变参数以及关键字参数)
函数中的可变参数和关键字参数使用
可变参数
*arg在python的底层提前装包好,将数据装入元组中,若没有数据就是空元组。可以一次接受多个数据,不需要预先定义好需要接受参数的个数。
def func(*argc):print(argc)print('---------')for item in argc:print(item,end=' ')
func(1,2,3,[2,3,4],(5,6,7))
运行结果如下:
如果想对列表进行‘拆包’,则在调用的时候,对列表加*,进行拆包
def func(*argc):print(argc)print('---------')for item in argc:print(item,end=' ')
temp = [2,3,4]
func(*temp)
运行结果如下:
可变参数与固定参数结合
在与固定参数结合时,需要将固定参数放在最前面,后面均认为被可变参数所接收
def func(name,*argc):print(name,argc)print('---------')for item in argc:print(item,end=' ')
temp = [2,3,4]
func('法外狂徒张三',*temp)
运行结果如下:
关键字参数
关键字参数接收的是键值对类型的数据,也就是字典类型的数据,以及类似key=>value类型的参数,不是key=value不被**kws所接收
def func(name,**teacher):print(name,teacher)print('---------')for key,value in teacher.items():print(value,end=' ')
teacher = { '语文老师':('鲁迅',1), '数学老师':('拉格朗日',2),'文艺老师':('泰戈尔',3)}
func('法外狂徒张三',a=('鲁迅',1),b=('拉格朗日',2),c=('泰戈尔',3))
运行结果如下:
def func(name,**teacher):print(name,teacher)print('---------')for key,value in teacher.items():print(value,end=' ')
teacher = { '语文老师':('鲁迅',1), '数学老师':('拉格朗日',2),'文艺老师':('泰戈尔',3)}
func('法外狂徒张三',**teacher)
运行结果如下:
函数体的 ** / *,以及调用函数中的 ** / * 的作用
在函数调用的时候加* / **,类似进行拆包的操作,将列表的每个元素拆出来 。
而在函数体参数列表中的 * / ** 类似进行装包的操作,将这些散列的元素数据组装到一起。
在 * 中是将散列的元素数据组装到元组中,而 ** 则是组装成字典类型的数据格式。
Python中*args、**kws 理解与使用(可变参数以及关键字参数)相关推荐
- python中可变参数和关键字参数_python的可变参数和关键字参数(*args **kw)
本文是来自廖大的python教程其中我一直忘记的部分.算是一个笔记把.因为日常这俩参数名字一直搞混 可变参数 在Python函数中,还可以定义可变参数.顾名思义,可变参数就是传入的参数个数是可变的,可 ...
- python中可变参数*args_Python-可变参数和关键字参数(*args **kw)
前言: Python的函数具备很是灵活的参数形态,既能够实现简单的调用,又能够传入很是复杂的参数.函数 可变参数和关键字参数的语法:code *args是可变参数,args接收的是一个tuple:ci ...
- python中关键字参数的特点_Python中的*可变参数与**关键字参数
1.定义了一个需要两个参数的函数 def print_str(first, second): print first print second if __name__ == "__main_ ...
- python中*args和**kwargs的用法
args 和 kwargs 不是必须的,* 和 ** 才是必须的 两者都用于对函数进行参数传递,允许传递不定量的参数给函数 1. Overview 如果对各位同学这两个参数知道的很少,那不妨先输出一下 ...
- Python中*args、**args到底是什么、有啥区别、怎么用
参考: 1.Python中*args.args到底是什么.有啥区别.怎么用 2.*args和kwargs 英译汉: argument:n. 争论,争吵:论据,理由:辩论,讨论:自变数:主词,受词:&l ...
- python中*args的使用
文章目录 python中*args的使用 *args python中*args的使用 *args表示动态传入的参数,也就是参数传入的个数是可变的,可以是一个或者多个,在不需要的时候也可以传入不用给它传 ...
- python中args和kwargs_Python 函数参数*args和**kwargs
尽管*args和**kwargs参数不受重视,但这它们是Python中非常有用的特性.了解其中的潜能会让你成为更高效的开发者. *args和**kwargs参数到底有什么用呢?它们能让函数接受可选参数 ...
- python中*args **kwargs
Python中*args和**kwargs的区别 (注:本文部分内容摘自互联网,由于作者水平有限,不足之处,还望留言指正.) 中秋的夜,微凉,但却始终看不见月亮. 我想,它一定是害羞了,悄悄的躲到了乌 ...
- python中result的用法_关于Python中的列表理解及用法
在Python中,列表理解通常用于编写单行语句,这些语句通过可迭代对象进行迭代以创建新的列表或字典.本文首先介绍for循环如何在Python中工作,然后解释如何在Python中使用列表理解. Pyth ...
最新文章
- 算法导论——二叉查找树
- android 版本控制
- Altium Designer BGA扇出
- PostgreSQL数据库图像搜索插件imgsmlr部署
- python 语言教程(3)变量之元组
- Java 比较两个版本号的大小 (通用)
- java图书分析echarts_用java实现echarts里面的柱状图
- 学习patch命令打补丁,diff命令制作补丁
- ps_基础技术提升topic基础知识调研
- C++ 继承与组合的区别
- HTML-超链接标签,表格,列表
- linux c++ 输出到终端,如何将彩色文本输出到Linux终端?
- html设计一个图片墙,html5 绘制类似墙型的背景
- 反向传播算法(BP)学习笔记
- 如何在ecshop订单中显示客户给商家的留言
- 全球与中国具有集成保护功能的共模滤波器(CMF)市场深度研究分析报告
- Power Apps平台利用CDS(Common Data Service)制作问卷调查
- Node.js文档和教程
- node中http的请求数据访问在浏览器中的基本使用方法和例子/静态资源库/url的基本使用/mime.json的内容和使用方式
- 中国书法的价值和意义