Python之变量名前的*,**

2019-06-13
我们经常会看到Python函数的传参中有形如 *args,args等样式,它们是什么意思呢?

1、关键字参数:
在参数名之前使用2个星号来支持任意多的关键字参数。

>>> def accept(**kwargs):
...    for keyword, value in kwargs.items():
...        print("%s => %r" %(keyword, vlue))
>>> accept(foo='bar', spam='eggs')
foo => bar
spam => eggs

注意:kwargs是一个正常的python字典类型,包含参数名和值。如果没有更多的关键字参数,kwargs就是一个空字典。

2、位置参数:
在参数名之前使用1个星号,就是让函数接受任意多的位置参数。

>>> def multiply(*args):
...     total = 1
...     for arg in args:
...         total *= arg
...     return total
>>> multiply(1, 2, 3, 4)
24

以上。

你可能感兴趣的:(Python之变量名前的*,**)