首页 > 代码库 > 我爱Python之*arges和**kwarges区别
我爱Python之*arges和**kwarges区别
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区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。