python *和**的用法

时间:2023-03-10 07:03:51
python *和**的用法

1.使用场景

*和**用在函数参数列表中

2.*作函数参数

以列表的形式提供参数

def foo(*args):
for arg in args:
print(arg) foo(1, 2, 3)

运行结果:

python *和**的用法

3.**作函数参数

以关键字参数的形式提供参数

def foo(**kwargs):
for arg in kwargs:
print(arg, kwargs[arg]) foo(num1=1, num2=2, num3=3)

运行结果:

python *和**的用法

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)

运行结果:

python *和**的用法

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)

运行结果:

python *和**的用法

6.*作数组

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

运行结果:

python *和**的用法