*args和**kwargs是Python的万能可变参数,用来处理函数参数数量不确定的场景;*args接收位置参数并打包成元组tuple,**kwargs接收关键字参数并打包成字典dict。
在编写Python自定义函数时,如果无法提前确定调用函数时会传入多少个参数,就可以使用这两组可变参数。*args,星号加args,用于接收不定数量的位置参数,调用函数时传入的多个位置参数,会自动打包放入一个元组tuple中,后续代码可以像遍历元组一样读取每一个参数。要注意,args只是约定俗成的变量名,核心是前面的单星号,写成*num也可以,但行业习惯统一使用*args。
而**kwargs,双星号加kwargs,用来接收不定数量的关键字参数,也就是key=value这种形式的传参,所有传入的关键字参数会自动打包存入字典dict,程序可以通过键名读取对应的值。kwargs同样只是通用命名,核心是双星号。二者经常搭配使用,*args要写在**kwargs前面,语法顺序不能颠倒。
在少儿编程项目实战中,这个功能很实用,比如编写简易AI工具、批量数据处理的程序,不确定传入多少组数据时,就可以用可变参数,让函数适配灵活多变的传参场景,简化代码,避免反复修改函数形参列表。

学习提示
学习Python基础阶段,一定要分清位置参数和关键字参数的区别,单星号和双星号的作用不要混淆,动手写简短示例代码运行测试,更容易吃透这个知识点。


浙公网安备
33011002018290号