对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中的二叉树查找算法模块使用指南
Jul 04 Python
Python实现优先级队列结构的方法详解
Jun 02 Python
Python入门之三角函数全解【收藏】
Nov 08 Python
python使用代理ip访问网站的实例
May 07 Python
python利用smtplib实现QQ邮箱发送邮件
May 20 Python
python实现寻找最长回文子序列的方法
Jun 02 Python
python中copy()与deepcopy()的区别小结
Aug 03 Python
大家都说好用的Python命令行库click的使用
Nov 07 Python
Pandas操作CSV文件的读写实现方法
Nov 13 Python
python实现飞行棋游戏
Feb 05 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
Sep 09 Python
利用python 读写csv文件
Sep 10 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
Symfony2在Nginx下的配置方法图文教程
2016/02/04 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
2019/01/15 PHP
在多个页面使用同一个HTML片段《续》
2011/03/04 Javascript
jQuery中live方法的重复绑定说明
2011/10/21 Javascript
jQuery中选择器小问题(新人难免遇到)
2014/03/31 Javascript
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
JavaScript中的定时器之Item23的合理使用
2015/10/30 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
2015/11/27 Javascript
SublimeText自带格式化代码功能之reindent
2015/12/27 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
2016/02/26 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
2016/10/12 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
2017/12/18 Javascript
详解基于vue的服务端渲染框架NUXT
2018/06/20 Javascript
小程序实现发表评论功能
2018/07/06 Javascript
JS div匀速移动动画与变速移动动画代码实例
2019/03/26 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
2020/05/12 Javascript
浅谈JSON5解决了JSON的两大痛点
2020/12/14 Javascript
python计算牛顿迭代多项式实例分析
2015/05/07 Python
python实现微信接口(itchat)详细介绍
2017/10/23 Python
python使用matplotlib库生成随机漫步图
2018/08/27 Python
使用Python快乐学数学Github万星神器Manim简介
2019/08/07 Python
python模块内置属性概念及实例
2021/02/18 Python
波兰最大的电商平台:Allegro.pl
2021/02/06 全球购物
《孔子游春》教学反思
2014/02/25 职场文书
数学教育专业求职信
2014/07/22 职场文书
个人授权委托书范本格式
2014/10/12 职场文书
工作时间证明
2015/06/15 职场文书
申请吧主发表的感言
2015/08/03 职场文书
mysql死锁和分库分表问题详解
2021/04/16 MySQL
pytorch训练神经网络爆内存的解决方案
2021/05/22 Python
python 爬取吉首大学网站成绩单
2021/06/02 Python
mysql 联合索引生效的条件及索引失效的条件
2021/11/20 MySQL
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android