详解python中*号的用法

Irina ·
更新时间:2024-09-21
· 961 次阅读

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中*号的用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

您可能感兴趣的文章:详解如何在python中读写和存储matlab的数据文件(*.mat)浅谈Python中的zip()与*zip()函数详解Python星号*与**用法分析深入理解Python中的*重复运算符Python函数中*args和**kwargs来传递变长参数的用法Python输出9*9乘法表的方法



Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号