python-*args和**kwargs作用和区别
2019-03-10 11:54:29来源:博客园 阅读 ()
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')
原文链接:https://www.cnblogs.com/sitongyan/p/10496304.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:udp通信
- Python-19-元类 2019-07-24
- Python-17-反射 2019-07-24
- Python-16-继承、封装、多态 2019-07-24
- Python-18-类的内置属性 2019-07-24
- Python-15-面向对象 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash