python中星号(*)和双星号(**)的用法

Python07

python中星号(*)和双星号(**)的用法,第1张

一:数学运算符,*表示乘法,**表示取幂,如:

二:用在变量的前面。

1,向函数传递参数,将变量中可迭代对象的元素拆解出来,作为独立的参数第传给函数,如:

  双引号(**),变量为字典,将其拆解出来,单独传给函数。如:

2,在函数定义中使用,收集参数。将参数捕捉到一个元组中,如:

该用法允许我们创建自己的函数时,可以接收任意数量的参数。

星号可以将参数捕捉到字典中,如:

1、函数定义时

 -使用单个 * 会将所有的参数,放入一个元组(tuple)供函数使用。

 -使用两个 ** 将所有的关键字参数(键-值对形式),放入一个字典(dict)供函数使用。

2.函数调用时

 -在list,tuple,set前加一个星号会把容器中的所有元素解包(unpack)变成位置参数。

 -在dict前加一个星号会把字典的键变成位置参数。

 -在dict前加两个星号会把字典的键值对变成关键字参数。

1、* 的具体使用。位置参数和可变参数的灵活使用

1.1 在函数定义时候,将所有的位置参数放入一个元祖中

1.2 在函数调用时使用*,将list、tuple、set,解包成位置参数。

2、**的具体使用。关键字参数和可变参数的具体使用。

2.1 在函数定义时

3、 和 * 在函数中一起使用

注意,在*arg之后,函数只接收关键字参数