没有合适的资源?快使用搜索试试~ 我知道了~
Yuanyp8#Way2Master4Python#202_keyword_only参数以和参数解构1
需积分: 0 0 下载量 187 浏览量
2022-07-25
14:32:01
上传
评论
收藏 5KB MD 举报
温馨提示
keyword-only参数定义原理解析形参的混合使用可变位置参数和缺省参数位置参数、可变参数、缺省参数规约解构实参解构字典解构总结练习练习1练习2keywor
资源推荐
资源详情
资源评论
* [keyword-only参数](#keyword-only参数)
* [定义](#定义)
* [原理解析](#原理解析)
* [形参的混合使用](#形参的混合使用)
* [可变位置参数和缺省参数](#可变位置参数和缺省参数)
* [位置参数、可变参数、缺省参数](#位置参数可变参数缺省参数)
* [规约](#规约)
* [解构](#解构)
* [实参解构](#实参解构)
* [字典解构](#字典解构)
* [总结](#总结)
* [练习](#练习)
* [练习1](#练习1)
* [练习2](#练习2)
## keyword-only参数
### 定义
Python3.X将函数头部的顺序规则一般化,以允许我们指定keyword-only参数---即必须只按照关键字传入并永远不会被基于位置参数来填充的参数。
从语法上讲,keyword-only参数编写为出现在参数列表中*args之后的有名参数。所有这些参数都必须在调用中使用关键字语法来传递。
下面就是一个keyword-only参数
```python
def keyword(x,y,aa='aa',*arg,z):
print("{} is a keyword-only argument".format(z))
return aa
s = keyword(3,4,123,45,6,7,5,3,5,6,z='abc')
print(s)
```
### 原理解析
先来看个例子
```python
>>> def fn(x,*arg):
print(x,arg)
>>> fn(1,2,3,4,5)
1 (2, 3, 4, 5)
```
可以看到`*`起到贪婪模式作用,如果想在`*arg`后面加一个形参,该怎么做?
位置参数肯定是不支持的,因为前面是贪婪模式,**会吞并所有位置参�
点击阅读更多
资源评论
坐在地心看宇宙
- 粉丝: 32
- 资源: 330
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功