在python中*args和**kwargs以及序列封包解包

大家都知道在python当中有***这两个语法,这两个语法具体有什么含义呢,总的来说有四种用法,下面听我讲解。

第一种:算数运算

  1. *代表乘法。比如2*5=10

  2. **代表成方。比如2**5=32

第二种:函数形参

*args**kwargs主要用于函数参数定义。

python函数传递参数的方式有两种:

  1. *args位置参数(positional argument)。它本质是一个 tuple

  2. **kwargs关键词参数(keyword argument)。它本质上是一个 dict

示例代码如下:

def foo(*args, **kwargs):
   	print("args:", args)
	print("kwargs:", kwargs)

foo(1, 2, 3, a=1, b=2)
args: (1, 2, 3)
kwargs: {
   'a': 1, 'b': 2}
arr =[1, 2, 3]
foo(

你可能感兴趣的:(python,程序人生,经验分享,其他,http)