对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之编写类之四再论继承
Oct 11 Python
Python 3.x 新特性及10大变化
Jun 12 Python
python实现基本进制转换的方法
Jul 11 Python
python编程嵌套函数实例代码
Feb 11 Python
Python3使用pandas模块读写excel操作示例
Jul 03 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
Jan 19 Python
解析Python3中的Import
Oct 13 Python
将python包发布到PyPI和制作whl文件方式
Dec 25 Python
PyTorch中Tensor的数据类型和运算的使用
Sep 03 Python
python 决策树算法的实现
Oct 09 Python
Python实现简单的猜单词
Jun 15 Python
Python实现查询剪贴板自动匹配信息的思路详解
Jul 09 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
实用函数10
2007/11/08 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
2014/06/30 PHP
适用于初学者的简易PHP文件上传类
2015/10/29 PHP
PHP内存溢出优化代码详解
2021/02/26 PHP
当滚动条滚动到页面底部自动加载增加内容的js代码
2014/05/13 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
js+css实现超简洁的二级下拉菜单效果代码
2015/09/07 Javascript
javascript如何实现暂停功能
2015/11/06 Javascript
简单实现IONIC购物车功能
2017/01/10 Javascript
js中的面向对象入门
2017/03/06 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
js分页之前端代码实现和请求处理
2017/08/04 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
vue和webpack打包项目相对路径修改的方法
2018/06/15 Javascript
微信小程序实现多选功能
2018/11/04 Javascript
vue-cli+iview项目打包上线之后图标不显示问题及解决方法
2019/10/16 Javascript
vue element 中的table动态渲染实现(动态表头)
2019/11/21 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
2020/04/28 Javascript
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
解决python通过cx_Oracle模块连接Oracle乱码的问题
2018/10/18 Python
python实现控制台打印的方法
2019/01/12 Python
python join方法使用详解
2019/07/30 Python
python基于socket模拟实现ssh远程执行命令
2020/12/05 Python
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
计算 s=(x*y)1/2,用两个宏定义来实现
2016/08/11 面试题
家佳咖啡店创业计划书
2013/12/27 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
入党积极分子学习党的纲领思想汇报
2014/09/13 职场文书
街道务虚会发言材料
2014/10/20 职场文书
学习党章的体会
2014/11/07 职场文书
未中标通知书
2015/04/17 职场文书
2019个人工作总结
2019/06/21 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
Go 语言中 20 个占位符的整理
2021/10/16 Golang