*星号(asterisk)主要在函数定义和函数调用时使用。与C语言中的指针无任何关系。
1.函数定义时
- 使用单个*会将所有的参数,放入一个元组tuple供函数使用
- 使用**会将所有的关键字参数,放入一个字典dict供函数使用
2.函数调用时
- 在list,tuple,set前加*,会将容器中所有元素解包unpack变成位置参数
- 在dict前加*,会将dict字典的键key 变成位置参数
- 在dict前加**,会将dict的键值对变成关键字参数
a = {a':'Ass','b':'We','c':'Can}
Ank(*a)---------------Ank("a", "b", "c")
Ank(**a)---------------Ank(a = "Ass" ,b = "We", c = "Can")