【Python】函数中的*args和**kwargs是个什么东西?
1. 概述
在Python代码中,经常见到函数中有*args和**kwargs写法,它们都起到了可选参数(optional arguments)的作用。那么具体怎么使用呢?且看下文细细分解。
2. *和**
在了解*args和**kwargs的作用之前,首先要理解*和**在Python中的使用。*和**主要有三方面的用途,(一)是对可迭代对象进行拆分,(二)可变变量的赋值,(三)函数的可选参数标志。[1]
2.1 用于对可迭代对象进行拆分
在Python中,一切内置了__iter__方法的对象都是可迭代对象,典型的可迭代对象包括元组(tuple)、列表(list)、集合(set)、字典(dict)等等。这种拆解主要运用在函数的参数语境中,以print函数为例,以下5个表达式是完全等价的:
print("a", "b", "c")
print(*("a", "b", "c")) # 元组
print(*["a", "b", "c"]) # 列表
prin
共有 0 条评论