*args:用来发送一个非键值对的可变数量的参数列表给一个函数
kwargs:是将不定长的键值对作为参数传递给一个函数
相关的例子有很多,而且也很简单,这里不再赘述,总结一句话就是:*和都有打包和解包的作用,在定义函数的时候使用,是打包的意思,在调用函数的时候则是解包的作用。如:
简单来说*可以对list进行解包操作。
def f(*args): # 可以接受任意长度的参数,把所有参数打包后给args
print(args) # 这里的args则是打包后的元组
def func(a,b,c):
xxxxxx
li = [1,2,3]
func(*li) # 这是*就起到了解包的作用,*li则是把列表解压成一个个参数
func(*li) <==> func(1,2,3)
zip语法
zip语法可以把几个list的各个元素组合例如
list_1 = ['a','b','c']
list_2 = [1,2,3]
a = []
list(zip(list_1,list_2))
#将会输出[('a', 1), ('b', 2), ('c', 3)]