python-*args和**kwargs作用和区别
程序员文章站
2022-03-25 16:10:06
1. *args 不定长的参数:*args 无论你传递一个参数还是二个还是多个都可以。(*args传入的是无命名参数,例如:add(1,2,3,4,5)存储的是元祖)args可以自定义其他名称 2.**kwargs 传入的是不定长的命名参数(命名参数存储的是字典,相对于无命名参数存储的是元祖)kwa ......
1. *args
不定长的参数:*args 无论你传递一个参数还是二个还是多个都可以。(*args传入的是无命名参数,例如:add(1,2,3,4,5)存储的是元祖)args可以自定义其他名称
def add(*args): sum=0 for i in args: sum+=i print(sum) add(1,2,3,4,5) add(1,2,3)
2.**kwargs
传入的是不定长的命名参数(命名参数存储的是字典,相对于无命名参数存储的是元祖)kwargs可以自定义其他名称
def print_infoo(*args, **kwargs): print(args) #('alex', 18, 'male') print(kwargs) #(job='it', hobby='bo') print_info('alex', 18, 'male', job='it', hobby='bo' )
以(*args, **kwargs)这种形式接收的参数就没有接收不到的参数了。
3. *args **kwargs传入一个列表
def func(*args): print(args) #调用函数打算传入一个列表或者字典,可以这样处理 func(*[1,2,3])
**kwargs处理就加**
func(**{'name':'alex', age='19'})
4.不定长参数/默认参数/关键参数的位置
*args放左边,**kwargs参数放在右边,如果有默认参数放左边,关键参数放最左边优先级最高。
默认参数占位置就会对应个实参
def func(name, sex='male', *args, **kwargs): print(args) #(34,'female') print_info(1,2,34,'female')
上一篇: python-作用域解析
下一篇: python 爬虫简介
推荐阅读
-
芹菜和水芹的区别在哪?芹菜的作用和功效是什么?
-
windows中睡眠、休眠、待机、混合睡眠各代表是什么意思又分别有什么作用和区别
-
Linux系统中有效用户组和初始用户组有什么作用于区别?
-
奇异果与猕猴桃的区别,有什么功效和作用
-
新站优化是内链关键还是外链重要 网站优化内链与外链的区别和作用
-
Python可变参数*args和*kwargs介绍
-
茶树菇开伞和不开伞有什么区别,以及茶树菇怎么做才好吃,有什么功效与作用
-
芝麻也有黑白之战 !白芝麻和黑芝麻的营养区别与作用了解一下
-
Python中print和return的作用及区别解析
-
关于vuejs中v-if和v-show的区别及v-show不起作用问题