【转】 python中 * 的用法

时间:2020-11-27 05:33:19

转自:https://www.cnblogs.com/jony7/p/8035376.html


 

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 2 3

提示:序列解包要在关键参数和  **参数 之前进行处理

 

4、两个 **  如:    **parameter用于接收类似于关键参数一样赋值的形式的多个实参放入字典中(即把该函数的参数转换为字典)。

>>> def demo(**p):
    for i in p.items():
        print(i)

        
>>> demo(x=1,y=2)
('x', 1)
('y', 2)