python *和**的用法

1.使用场景
*和**用在函数参数列表中

2.*作函数参数
以列表的形式提供参数

def foo(*args):
    for arg in args:
        print(arg)

foo(1, 2, 3)

运行结果:

3.**作函数参数
以关键字参数的形式提供参数

def foo(**kwargs):
    for arg in kwargs:
        print(arg, kwargs[arg])

foo(num1=1, num2=2, num3=3)

运行结果:

4.json格式转关键字参数

def foo(**kwargs):
    for arg in kwargs:
        print(arg, kwargs[arg])

_t = {"name":"shijingjing", "age":20}
foo(name="shijingjing",age=20)
foo(**_t)

运行结果:

5.*和混用作函数参数
*和
可同时使用,但是*必须在**的前面

def foo(*args, **kwargs):
    for arg in args:
        print(arg)
    for arg in kwargs:
        print(arg, kwargs[arg])

foo("a", "b", "c", num1=1, num2=2, num3=3)

运行结果:

6.*作数组

a, b, *list= [1, 2, 3]
print(type(a))
print(type(b))
print(type(list))
print(a)
print(b)
print(list)

运行结果:

原文地址:https://www.cnblogs.com/shijingjing07/p/9045152.html