码迷,mamicode.com
首页 > 编程语言 > 详细

我爱Python之*arges和**kwarges区别

时间:2014-11-09 13:51:42      阅读:324      评论:0      收藏:0      [点我收藏+]

标签:style   color   ar   os   sp   for   strong   div   on   

1、函数调用里的*和**:
*:元组或列表“出现”
**:字典“出没”
>>> def check_web_server(host, post, path):
             ...
 
host_info = (‘www.python.org‘, 80, ‘/‘)
调用时:check_web_server(host_info[0], host_info[1], host_info[2])  这种写法既不可扩写(一打参数)也不好看
用*号时:check_web_server(*host_info)  干净优雅
 
当host_info = {host=‘www.python.org‘, post=80, path=‘/‘}
用**:check_web_server(**host_info)   按键名称进行匹配
 
2、函数定义里的*和**:
使得Python支持变长参数,函数可接收任何数量的参数
>>> def daily_sales_total(*all_sales):
             total = 0.0
             for each_sale in all seles:
                   total += float(each_sale)
             return total
 
>>> daily_sales_total()
>>> daily_sales_total(0.0)
>>> daily_sales_total(1.0, 2.0, 3.0)
 
>>> def check_web_server(host, post, path, *args, **kwargs): # 这个函数必须接受至少三个初始参数,也能接受随后任何数目的参数或是关键字参数

我爱Python之*arges和**kwarges区别

标签:style   color   ar   os   sp   for   strong   div   on   

原文地址:http://www.cnblogs.com/tanggu/p/4085014.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!