python中 * 的用法(python中星号的用法)
文章目录
1、表示乘号
2、表示倍数,例如:
def T(msg,time=1):
print((msg+' ')*time)
T('hi',3)
打印结果(打印3次):
out:
hi hi hi
3、单个 *
(1)、如:*parameter是用来接受任意多个参数并将其放在一个元组中。
def demo(*p):
print(p)
demo(1,2,3)
输出的结果为:
(1, 2, 3)
(2)、函数在调用多个参数时,在列表、元组、集合、字典及其他可迭代对象作为实参,并在前面加 *
如*(1,2,3)解释器将自动进行解包然后传递给多个单变量参数(参数个数要对应相等)。
# 定义函数
def d(a,b,c):
print(a,b,c)
#调用该函数
d(1,2,3)
# 输出的结果为:1 2 3
# 定义a,b,c为一个list
a=[1,2,3]
b=[1,2,3]
c=[1,2,3]
# 调用d函数,将a,b,c参数传入
d(a,b,c)
#输出的结果为:[1, 2, 3] [1, 2, 3] [1, 2, 3]
# 调用d函数,将*a参数传入d(a,b,c)中
d(*a)
# 输出的结果为:1 2 3
#
*提示:序列解包要在关键参数和 *参数 之前进行处理
4、两个 **
如: **parameter用于接收类似于关键参数一样赋值的形式的多个实参放入字典中(即把该函数的参数转换为字典)。
def demo(**p):
for i in p.items():
print(i)
#调用上述函数
demo(x=1,y=2)
# 输出的结果为:
#('x', 1)
#('y', 2)