博客
关于我
python *args 和 **kwargs
阅读量:272 次
发布时间:2019-03-01

本文共 530 字,大约阅读时间需要 1 分钟。

在编程中,函数参数的传递方式有多种,其中*args和**kwargs是两种常用的方式。它们的主要功能都是传递不定长的参数进入函数,但各自有不同的应用场景。

*args的主要作用是接收函数调用时传递的不定长参数列表。它通过*号表示可以接收任意数量的参数。例如,当我们调用函数时可以传递多个参数,这些参数会被收集成一个元组进行处理。

**kwargs的作用则是接收键值对形式的不定长参数。双星号*号表示可以接收任意数量的键值对,这些参数会被收集成一个字典进行处理。不同于*args,**kwargs允许传递参数时为每个参数指定具体的名字,从而提高了参数的灵活性。

需要注意的是,*args接收的是按顺序传递的参数,而**kwargs接收的是键值对形式的参数。因此,在使用时需要根据具体需求选择合适的方式来传递参数。

例如,在函数定义中:

def func(*args, **kwargs):

...

调用时,可以选择传递单个参数或多个参数,或者传递键值对形式的参数。这种灵活性使得函数在处理各种需求时非常方便。

总结来说,*args适用于传递多个单一参数,而**kwargs则更适合传递关键配置选项或键值对形式的参数。两者的结合使用可以为函数调用提供更大的灵活性。

转载地址:http://trvx.baihongyu.com/

你可能感兴趣的文章
Openlayers中使用Cluster实现点位元素重合时动态聚合与取消聚合
查看>>
Openlayers中使用Cluster实现缩放地图时图层聚合与取消聚合
查看>>
Openlayers中使用Image的rotation实现车辆定位导航带转角(判断车辆图片旋转角度)
查看>>
Openlayers中使用Overlay实现点击要素弹窗并且弹窗随之移动
查看>>
Vmware系列&虚拟机系列【仅供参考】:使用vCenter Auto Deploy制作ESXI系统封装(适合高版本vSphere)
查看>>
Openlayers中加载GeoJson文件显示地图
查看>>
Openlayers中加载Geoserver切割的EPSG:900913离线瓦片图层组
查看>>
Openlayers中加载Geoserver切割的EPSG:900913离线瓦片地图并显示
查看>>
Openlayers中多图层遮挡时调整图层上下顺序
查看>>
Openlayers中实现地图上添加一条红色直线
查看>>
Openlayers中将某个feature置于最上层
查看>>
Openlayers中点击地图获取坐标并输出
查看>>
Openlayers中设置定时绘制和清理直线图层
查看>>
Openlayers入门教程 --- 万字长篇
查看>>
Openlayers图文版实战,vue项目从0到1做基础配置
查看>>
OpenLayers学习三:地图旋转及地图跳转到某一点的方式(以类为接口)
查看>>
Openlayers实战:loadstart和loadend事件
查看>>
Openlayers实战:modifystart、modifyend互动示例
查看>>
Openlayers实战:判断共享单车是否在电子围栏内
查看>>
Openlayers实战:利用turf获取两个多边形的交集、差集、并集
查看>>