Python 中,单星号(*)和双星号(**)除了作为“乘”和“幂”的数值运算符外,还在列表、元组、字典的操作中有着重要作用。
小例子
import numpy as np
_list = [1,2,3,6]
_tuple = (1,2,4,5)
_dict = {'a':1,'b':5,'c':6}
_arange = np.arange(3,8)
print(_list,'==================',*_list)
print(_tuple,'==================',*_tuple)
print(_dict,'==================',*_dict)
print(_arange,'==================',*_arange)
一、列表、元组前面加星号(*)
列表前面加星号作用是将列表解开(unpacke)成多个独立的参数,传入函数。
def add(a, b):
return a + b
data = [7, 8]
print(add(*data)) # 15
import numpy as np
print(np.arange(3,6)) # [3 4 5]
list2 = [3, 6]
print(np.arange(*list2)) # [3 4 5]
二、字典(dict)前面加两星号(**)
1、字典前面加两个星号,是将字典解开成为独立的元素作为实参。
def add(a, b):
return a + b
data = {'a':8, 'b':9}
print('add(**data)=====',add(**data))
print('add(*data)=====',add(*data))
2、字典中的key和函数中的参数名,保持一致
这个地方key和add函数的参数名不一致,就出现了错误