*args和**kwargs

新的Python程序员都需要花上大量时间理解清楚*args和**kwargs这两个魔法变量。那么它们到底是什么?

先让我告诉你, 其实并不是必须写成*args 和**kwargs。只有变量前的*(星号)才是必须的. 你也可以写成*var和**vars. 或者写成*args和**kwargs只是个通俗的命名约定。

那就让我们先看下*args吧。

*args和**kwargs主要用于函数定义。你可以将不定数量的参数传递给某个函数。

这里的不定的意思是:预先并不知道,函数使用者会传递多少个参数给你, 所以在这个场景下使用这两个关键字。

*args是用来发送一个非键值对的可变数量的参数列表给一个函数.

这里有个例子帮你理解这个概念:


输入如下:


**kwargs 的用法:

**kwargs 允许你将不定长度的键值对作为参数传递给一个函数。如果你想要在一个函数里处理带名字的参数,你应该使用**kwargs。

这里有个让你上手的例子:



以上就是基本用法,下面还有种用法:

用在format函数中:

>>> '{2}, {1}, {0}'.format(*'abc')      # unpacking argument sequence  

'c, b, a'  



猜你喜欢

转载自blog.csdn.net/lcxxcl_1234/article/details/80726668
今日推荐