Python中星号(*)的使用

Python中,单星号 * 和双星号 ** 是“乘”和“乘方”的数值运算符,此外,还在出现列表、元组、字典的操作中,以及在函数调用的过程中也会碰到,下面简单对它们的用法做一个小结。

一、单星号 *的使用

1.单星号 * 用于取出列表list或元组tuple中的元素。

a = [1,2]
print(*a)
# 输出 1 2
import numpy as np
l = [2, 6] # 或者 l = (2, 6)
print(np.arange(*l))
# 输出: [2 3 4 5]

单星号 * 只能读取到字典中的键(key)

d = {'x': 1, 'y': 2}
print(*d)
# 输出
# x y

2.用于收集列表中多余的值,收集的是列表

a,b,*l=[2,3,4,5]
print(a) # 2
print(b) # 3
print(l) # l是列表 [4,5] 

3.在函数中,*代表收集参数,将收集的参数放在一个元组tuple里面

def printFunc(x,*para):
    print(x)
    print(para)
printFunc(1,2,3)
# 输出
# 1
# (2, 3)

printFunc(x = 1,2,3,4) #报错

二、双星号 **的使用

1.双星号 ** 用于收集关键字参数,得到一个字典

def printFunc3(**para):
    print(para)
printFunc3(x = 1, y = 2)
# 输出
# {'x': 1, 'y': 2}

2.双星号 ** 可将字典里的“值”取出

def printFunc3(x,y):
    print(x)
    print(y)

d={'x':1,'y':2}
printFunc3(**d)
# 输出
# 1
# 2

三、单星号 * 和双星号 ** 的混合使用

根据以上分析,用以下代码来演示单星号 * 和双星号 ** 的混合使用情况。

def printFunc4(x,*para1,**para2):
    print(x)
    print(para1)
    print(para2)

printFunc4(1,2,3,4,5,a=6,b=7)
# 输出
# 1
# (2, 3, 4, 5)
# {'a': 6, 'b': 7}

参考地址:
Python中的*(星号)和**(双星号)完全详解

你可能感兴趣的:(python,python,编程语言)