我试图理解在python中函数定义中,*args和**args之间的区别。在下面的示例中,*args将打包到一个元组中并计算总和。在
>>> def add(*l):
... sum = 0
... for i in l:
... sum+=i
... return sum ...
>>> add(1,2,3)
6
>>> l = [1,2,3]
>>>add(*l)
6
对于**args
^{pr2}$我看到它接受参数并转换成字典。但是我不明白在使用**args时该实用程序或其他有用的东西。事实上,我不知道*arg和**arg是什么名称(vararg和?)在
谢谢
当您使用两个星号时,通常将它们称为
**kwargs
作为关键字参数。它们对于在大型程序中从一个函数传递参数到另一个函数非常有用。在关键字参数的一个优点是修改代码非常容易。假设在下面的示例中,您还确定参数
cube
也是相关的。您只需要在my_func_2
中添加一个if statement
,并且不需要为每个调用my_func_2
的函数添加参数(只要该函数有**kwargs
)。在这里有一个简单而愚蠢的例子,但我希望它能有所帮助:
演示:
^{pr2}$相关问题 更多 >
编程相关推荐