python中的*和**

*星号(asterisk)主要在函数定义和函数调用时使用。与C语言中的指针无任何关系。

1.函数定义时

  1. 使用单个*会将所有的参数,放入一个元组tuple供函数使用
  2. 使用**会将所有的关键字参数,放入一个字典dict供函数使用

2.函数调用时

  1. 在list,tuple,set前加*,会将容器中所有元素解包unpack变成位置参数
  2. 在dict前加*,会将dict字典的键key 变成位置参数
  3. 在dict前加**,会将dict的键值对变成关键字参数
1 a = {a':'Ass','b':'We','c':'Can}
2 
3 Ank(*a)--------------->Ank("a", "b", "c")
4 
5 Ank(**a)--------------->Ank(a = "Ass" ,b = "We", c = "Can")

 

posted @ 2020-02-25 16:07  Parallax  阅读(219)  评论(0编辑  收藏  举报