详解python中*号的用法
作者:genous110 时间:2023-05-03 18:55:11
1、表示乘号
2、表示倍数,例如:
def T(msg,time=1):
print((msg+' ')*time)
T('hi',3)
打印结果(打印3次):
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=[1,2,3]
>>> b=[1,2,3]
>>> c=[1,2,3]
>>> d(a,b,c)
[1, 2, 3] [1, 2, 3] [1, 2, 3]
>>> d(*a)
1
1 2 3
提示:序列解包要在关键参数和 **参数 之前进行处理
4、两个 ** 如: **parameter用于接收类似于关键参数一样赋值的形式的多个实参放入字典中(即把该函数的参数转换为字典)。
>>> def demo(**p):
for i in p.items():
print(i)
>>> demo(x=1,y=2)
(‘x', 1)
(‘y', 2)
知识点扩展:python中星号(*)和双星号(**)的用法
第一种情况:用在两表达式的中间,*表示乘法,**表示取幂,如:
>>> 2*5
10
>>> 2**7
128
第二种情况:用在变量的前面。
1,向函数传递参数,将变量中可迭代对象的元素拆解出来,作为独立的参数第传给函数,如:
>>> a=[1,2,3,4]
>>> print(*a,sep='\n')
>>> print(a[0],a[1],a[2],a[3],sep='\n')
>>>
对于**,变量为字典,将其拆解出来,单独传给函数。如:
>>> dic={'a':1,'b':2,'c':3}
>>> string='{a}-{b}-{c}'.format(**dic)
>>> string
'1-2-3'
>>>2,在函数定义中使用,收集参数。将参数捕捉到一个元组中,如:
>>> def sum(*num):
return num
>>> sum(1,3,5,7)
(1, 3, 5, 7)
>>>该用法允许我们创建自己的函数时,可以接收任意数量的参数。
双星号可以将参数捕捉到字典中,如:
>>> def pack(**dic):
return dic
>>> pack(a=1,b=2,c=3)
{'a': 1, 'b': 2, 'c': 3}
>>>
总结
以上所述是小编给大家介绍的python中*号的用法,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://blog.csdn.net/genous110/article/details/102642714