对python中的*args与**kwgs的含义与作用详解


Posted in Python onAugust 28, 2019

在定义函数的时候参数通常会使用

*args与**kwgs,形参与实参的区别不再赘述,我们来解释一下这两个的作用。

*args是非关键字参数,用于元组,**kw是关键字参数

例如下面的代码

def foo(*args,**kwargs):
 print 'args is',args
 print 'kwargs is',kwargs
foo(1,2)
foo(k=1,w=2,a=3,r=4,g=5,s=6)
foo(1,2,a=1,b=2,c=2)
foo('a',1,None,a=1,b='2',c=3)

在函数foo中定义了两个参数

在调用的时候,传递参数,最后的结果如下

args is (1, 2)
kwargs is {}
args is ()
kwargs is {'a': 3, 'g': 5, 'k': 1, 's': 6, 'r': 4, 'w': 2}
args is (1, 2)
kwargs is {'a': 1, 'c': 2, 'b': 2}
args is ('a', 1, None)
kwargs is {'a': 1, 'c': 3, 'b': '2'}

在其中args为一个元组而kwags是一个字典类型。

这两个作为python的可变参数,也就是说args表示任何多个无名参数,然而kwags表示一个一个有着对应关系的关键字参数。

在使用的时候需要注意,*args要在**kwags之前,不然会发生语法错误。

以上这篇对python中的*args与**kwgs的含义与作用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python urllib、urllib2、httplib抓取网页代码实例
May 09 Python
python使用PyGame模块播放声音的方法
May 20 Python
使用C++扩展Python的功能详解
Jan 12 Python
python如何通过twisted实现数据库异步插入
Mar 20 Python
python3通过selenium爬虫获取到dj商品的实例代码
Apr 25 Python
Pandas之DataFrame对象的列和索引之间的转化
Jun 25 Python
Tensorflow模型实现预测或识别单张图片
Jul 19 Python
pyinstaller打包程序exe踩过的坑
Nov 19 Python
python列表推导式入门学习解析
Dec 02 Python
python处理RSTP视频流过程解析
Jan 11 Python
如何基于Python代码实现高精度免费OCR工具
Jun 18 Python
如何利用Python动态模拟太阳系运转
Sep 04 Python
关于python导入模块import与常见的模块详解
Aug 28 #Python
Python datetime包函数简单介绍
Aug 28 #Python
解决python有时候import不了当前的包问题
Aug 28 #Python
Python 多线程其他属性以及继承Thread类详解
Aug 28 #Python
Python 动态导入对象,importlib.import_module()的使用方法
Aug 28 #Python
Python 共享变量加锁、释放详解
Aug 28 #Python
Python使用百度api做人脸对比的方法
Aug 28 #Python
You might like
WAR3重制版DOTA 5V5初体验
2020/04/09 DOTA
PHP在引号前面添加反斜杠(PHP去除反斜杠)
2013/09/28 PHP
win10环境PHP 7 安装配置【教程】
2016/05/09 PHP
JSON两种结构之对象和数组的理解
2016/07/19 PHP
img标签中onerror用法
2009/08/13 Javascript
自己的js工具 Cookie 封装
2009/08/21 Javascript
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
javascript实现checkBox的全选,反选与赋值
2015/03/12 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
2016/08/10 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
JavaScript仿网易选项卡制作代码
2016/10/06 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
用p5.js制作烟花特效的示例代码
2018/03/21 Javascript
vue路由对不同界面进行传参及跳转的总结
2019/04/20 Javascript
Vue 自定义指令功能完整实例
2019/09/17 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
[05:53]敌法师的金色冠名ID"BurNIng",是传说,是荣耀
2020/07/11 DOTA
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
使用python开发vim插件及心得分享
2014/11/04 Python
简单理解Python中的装饰器
2015/07/31 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
python redis 删除key脚本的实例
2019/02/19 Python
Python 找出出现次数超过数组长度一半的元素实例
2020/05/11 Python
matplotlib grid()设置网格线外观的实现
2021/02/22 Python
期中考试后的反思
2014/02/08 职场文书
小学生评语大全
2014/04/18 职场文书
产品开发计划书
2014/04/27 职场文书
2014年学校财务工作总结
2014/12/06 职场文书
python小程序之飘落的银杏
2021/04/17 Python