函数中的可变参数和关键字参数使用

可变参数

*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 理解与使用(可变参数以及关键字参数)相关推荐

  1. python中可变参数和关键字参数_python的可变参数和关键字参数(*args **kw)

    本文是来自廖大的python教程其中我一直忘记的部分.算是一个笔记把.因为日常这俩参数名字一直搞混 可变参数 在Python函数中,还可以定义可变参数.顾名思义,可变参数就是传入的参数个数是可变的,可 ...

  2. python中可变参数*args_Python-可变参数和关键字参数(*args **kw)

    前言: Python的函数具备很是灵活的参数形态,既能够实现简单的调用,又能够传入很是复杂的参数.函数 可变参数和关键字参数的语法:code *args是可变参数,args接收的是一个tuple:ci ...

  3. python中关键字参数的特点_Python中的*可变参数与**关键字参数

    1.定义了一个需要两个参数的函数 def print_str(first, second): print first print second if __name__ == "__main_ ...

  4. python中*args和**kwargs的用法

    args 和 kwargs 不是必须的,* 和 ** 才是必须的 两者都用于对函数进行参数传递,允许传递不定量的参数给函数 1. Overview 如果对各位同学这两个参数知道的很少,那不妨先输出一下 ...

  5. Python中*args、**args到底是什么、有啥区别、怎么用

    参考: 1.Python中*args.args到底是什么.有啥区别.怎么用 2.*args和kwargs 英译汉: argument:n. 争论,争吵:论据,理由:辩论,讨论:自变数:主词,受词:&l ...

  6. python中*args的使用

    文章目录 python中*args的使用 *args python中*args的使用 *args表示动态传入的参数,也就是参数传入的个数是可变的,可以是一个或者多个,在不需要的时候也可以传入不用给它传 ...

  7. python中args和kwargs_Python 函数参数*args和**kwargs

    尽管*args和**kwargs参数不受重视,但这它们是Python中非常有用的特性.了解其中的潜能会让你成为更高效的开发者. *args和**kwargs参数到底有什么用呢?它们能让函数接受可选参数 ...

  8. python中*args **kwargs

    Python中*args和**kwargs的区别 (注:本文部分内容摘自互联网,由于作者水平有限,不足之处,还望留言指正.) 中秋的夜,微凉,但却始终看不见月亮. 我想,它一定是害羞了,悄悄的躲到了乌 ...

  9. python中result的用法_关于Python中的列表理解及用法

    在Python中,列表理解通常用于编写单行语句,这些语句通过可迭代对象进行迭代以创建新的列表或字典.本文首先介绍for循环如何在Python中工作,然后解释如何在Python中使用列表理解. Pyth ...

最新文章

  1. 算法导论——二叉查找树
  2. android 版本控制
  3. Altium Designer BGA扇出
  4. PostgreSQL数据库图像搜索插件imgsmlr部署
  5. python 语言教程(3)变量之元组
  6. Java 比较两个版本号的大小 (通用)
  7. java图书分析echarts_用java实现echarts里面的柱状图
  8. 学习patch命令打补丁,diff命令制作补丁
  9. ps_基础技术提升topic基础知识调研
  10. C++ 继承与组合的区别
  11. HTML-超链接标签,表格,列表
  12. linux c++ 输出到终端,如何将彩色文本输出到Linux终端?
  13. html设计一个图片墙,html5 绘制类似墙型的背景
  14. 反向传播算法(BP)学习笔记
  15. 如何在ecshop订单中显示客户给商家的留言
  16. 全球与中国具有集成保护功能的共模滤波器(CMF)市场深度研究分析报告
  17. Power Apps平台利用CDS(Common Data Service)制作问卷调查
  18. Node.js文档和教程
  19. node中http的请求数据访问在浏览器中的基本使用方法和例子/静态资源库/url的基本使用/mime.json的内容和使用方式
  20. 中国书法的价值和意义

热门文章

  1. PyTorch源码解读之torchvision.models
  2. ipad显示已停用,连接itunes
  3. PS实用方法(抠出完整的头发丝)
  4. 手机视频投屏到电视或投影仪
  5. 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
  6. 1人民币试用世纪互联azure虚拟机,跑CNN训练
  7. 编程机器人疯抢教育市场!6大派玩家谁主沉浮
  8. 第一个爬图片的程序(xkcd.com)
  9. CY3014 SLAVEFIFO
  10. 手摸手教你搭建免费图床