手机版
网站地图
美文美图
最新动态
你好,欢迎访问
好美文阅读网
个性皮肤
搜索
网站首页
美文
文章
散文
日记
诗歌
小说
故事
句子
作文
签名
祝福语
情书
范文
读后感
文学百科
美文摘抄
节日文章
名家散文
网名大全
座右铭
口号大全
面试技巧
说说大全
阅读答案
诗词默写
流言蜚语
节日祝福
好句子
经典台词
谚语大全
亲情故事
友情故事
表白情书
工作报告
活动总结
心得体会
专题汇总
美文网首页
第十八章、参数
第十八章、参数
作者:
聽風踏雪
| 来源:发表于
2017-06-12 03:14 被阅读0次
传递参数
①、参数的传递是通过自动将对象赋值给本地变量名来实现的。
②、在函数内部的参数名的赋值不会影响调用者。
③、改变函数的可变对象参数的值也许会对调用者有影响。
④、不可变参数“通过值”进行传递。
⑤、可变对象是通过“指针”进行传递的。
1、参数和共享引用:
对可变对象的在原处的修改会影响其他引用了该对象的变量。
2、避免可变参数的修改:
3、对参数输出进行模拟:
特定的参数匹配模式
1、基础知识:
①、位置:从左至右进行匹配。
②、关键字参数:通过参数名进行匹配。
③、默认参数:为没有传入值的参数定义参数值。
④、可变参数:收集任意多基于位置或关键字的参数。
⑤、可变参数解包:传递任意多的基于位置或关键字的参数。
⑥、Keyword-only参数:参数必须按照名称传递。
2、匹配语法:
3、细节:
如果决定适应并混合特定的参数匹配模式,Python将会遵循下面有关顺序的法则:
①、在函数调用中,参数必须以此顺序出现:任何位置参数(value),后面跟着任何关键字参数(name=value)和*sequence形式的组合,后面跟着**dict形式。
②、在函数头部,参数必须以此顺序出现:任何一般参数(name),紧跟着任何默认参数(name=value),如果有的话,后面是*name(或者在Python3.0中是*)的形式,后面跟着任何name或name=value keyword-only参数(在Python3.0中),后面跟着**name形式。
Python内部是使用以下的步骤来在赋值前进行参数匹配的:
①、通过位置分配非关键字参数。
②、通过匹配变量名分片关键字参数。
③、其他额外的非关键字参数分配到*name元组中。
④、其他额外的关键字参数分配到**name字典中。
⑤、用默认值分配在头部未得到分配的参数。
4、关键字参数和默认参数实例:
①、关键字参数:
在Python中,调用函数的时候,能够更详尽的定义内容传递的位置。关键字参数允许通过变量名进行匹配,而不是通过位置。
②、默认参数:
简而言之,默认参数允许创建函数可选的参数。如果没有传入值的话,在函数运行前,参数就被赋了默认值。
③、关键字参数和默认参数的混合:
5、任意参数的实例:
①、收集参数:*/**在头部,他意味着收集任意数量的参数。
②、解包参数:*/**在调用时,它解包任意数量的参数。
③、应用函数通用性:
④、废弃的apply内置函数(Python2.6):
6、Python3.0 Keyword-Only参数:
Python3.0把函数头部的排序规则通用化了,运行我们指定keyword-only参数——即必须只按照关键字传递并且不会由一个位置参数来填充的参数。
①、排序规则:
注意keyword-only参数必须在一个单个星号后面指定,而不是两个星号——命名的参数不能出现在**args任意关键字形式的后面,并且一个**不能独自出现在参数列表中。
在一个函数头部,keyword-only参数必须编写在**args任意关键字形式之前,且在*args任意位置形式之后,当二者都有的时候。无论何时,一个参数名称出现在*args之前,它可能是默认位置参数,而不是keyword-only参数。
keyword-only参数可以编写在*args之前或者之后,并且可能包含在**args中。
②、为何使用keyword-only参数:
简而言之,它们使得很容易允许一个函数既接受任意多个要处理的位置参数,也接受作为关键字传递的配置选项。
7、min调用:
8、满分:
9、加分点:
10、结论:
一个更有用的例子:通用set函数
模拟Python3.0 print函数
1、使用Keyword-Only参数:
本章小结
在本章中,我们学习了与函数相关的两个关键概念中的第二个:参数(对象如何传递给函数)。正如我们所学到的,参数通过赋值传递到函数中,赋值方式是通过对象引用,实际上是通过指针传递到函数中。我们还学习了一些更高级的扩展,包括默认参数和关键字参数、使用任意的多个参数的工具,以及Python3.0中的关键字参数。最后,我们还学习了可变参数如何表现出与其他的对象共享引用一样的行为——除非对象在发送进来的时候显式地复制,在一个函数中修改一个传入的可变对象可能会影响调用者。
相关文章
网友评论
本文标题:
第十八章、参数
本文链接:
https://www.haomeiwen.com/subject/qmqofxtx.html
延伸阅读
那年盛夏诗歌
环境监察队工作总结范文
优秀教师学习心得范文
华胥引的读后感300字
《Its red》教学反思范文
农资购销的合同范本
竞选中队委优秀演讲稿
辞金蹈海的成语解释
《世纪宝鼎》公开课教案设计
因为爱你,所以牵挂
今生今世红尘醉——美到
一个90后的内心独白
致已逝去的高中年华
深度阅读
您也可以注册成为美文阅读网的作者,发表您的原创作品、分享您的心情!
情人节
母亲节
重阳节
清明节
端午节
植树节
元宵节
妇女节
愚人节
圣诞节
父亲节
教师节
儿童节
劳动节
青年节
建军节
万圣节
平安夜
光棍节
中秋节
国庆节
感恩节
腊八节
更多话题
栏目导航
摄影
故事
互联网
读书
旅行
热点阅读
笙
罗媛受邀在中央电视台3D频道录制节目圆满成功
100天养成冥想习惯 3
夜
第一次全戒食的感受
老班长,我终于找到你了!
2017WWDC,iOS11更新提前看。(附赠beta版安装福利
六月寄高考
琐碎念
白云山随想
网友评论