Python 中的*除了常见的以下操作以外:

  • 乘法符号’*’
  • 导入包内所有内容
    除了上述简单的操作以外,’*'还可以实现一些 Python 容器(tuple、list、)里的迭代运算符号。

迭代运算符号

感觉这块的*像是一个简单的迭代生成器,‘*+容器’能够将容器中所有的元素都迭代出来,不过也应该注意的是可以用一个*进行迭代,也可以用两个*进行迭代具体含义是有区别的:

  • 一个星号经常用于迭代元组和列表之类的结构
  • 两个星号会用来迭代字典结构,不过一个星号也可以用于字典对象,迭代生成的是字典的 key 值
def my_add(x,y,z,w):
return x+y+z+w
def my_newadd(*pg):
print(pg)
a=(1,2,3,4)
b=['a','b','c','d']
print(b)
print(*b)
d=dict(zip(b,a))
my_add(*d)
my_newadd(*b)
my_newadd(b)

在实际应用过程中,因为’*'的这一特殊作用,常被用作自定义函数的位置参数和关键词参数的传入。