Python中*和**的使用

1、在定义函数的时候,*:接收到的参数会形成一个元组,**:接收到的参数会形成一个字典。如下代码。

其中args接收必须参数:1, 2, 3, 4,形成元组。kwargs接收关键字参数:a=5, b=6, c=7, d=8,形成字典。

def func(*args, **kwargs):    print(args, end=" ")    print(kwargs)    passfunc(1, 2, 3, 4)                        # 输出结果是:(1, 2, 3, 4) {}func(1, 2, 3, 4, a=5, b=6, c=7, d=8)    # 输出结果是:(1, 2, 3, 4) {‘a‘: 5, ‘b‘: 6, ‘c‘: 7, ‘d‘: 8}

2、在定义函数的时候,参数中间使用*,则*号之后的参数必须是关键字参数。

def func1(a, b, *, c, d):
    pass

func1(1, 2, c=3, d=4)

相关推荐