博客
关于我
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/

你可能感兴趣的文章
OSPF不能发现其他区域路由时,该怎么办?
查看>>
OSPF两个版本:OSPFv3与OSPFv2到底有啥区别?
查看>>
SQL Server 存储过程
查看>>
OSPF在什么情况下会进行Router ID的重新选取?
查看>>
OSPF在大型网络中的应用:高效路由与可扩展性
查看>>
OSPF太难了,这份OSPF综合实验请每位网络工程师查收,周末弯道超车!
查看>>
OSPF技术入门(第三十四课)
查看>>
OSPF技术连载10:OSPF 缺省路由
查看>>
OSPF技术连载11:OSPF 8种 LSA 类型,6000字总结!
查看>>
OSPF技术连载12:OSPF LSA泛洪——维护网络拓扑的关键
查看>>
OSPF技术连载13:OSPF Hello 间隔和 Dead 间隔
查看>>
OSPF技术连载14:OSPF路由器唯一标识符——Router ID
查看>>
OSPF技术连载15:OSPF 数据包的类型、格式和邻居发现的过程
查看>>
OSPF技术连载16:DR和BDR选举机制,一篇文章搞定!
查看>>
OSPF技术连载17:优化OSPF网络性能利器——被动接口!
查看>>
OSPF技术连载18:OSPF网络类型:非广播、广播、点对多点、点对多点非广播、点对点
查看>>
OSPF技术连载19:深入解析OSPF特殊区域
查看>>
SQL Server 复制 订阅与发布
查看>>
OSPF技术连载20:OSPF 十大LSA类型,太详细了!
查看>>
OSPF技术连载21:OSPF虚链路,现代网络逻辑连接的利器!
查看>>