- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 函数;第4章 函数;可与其他数据类型一样,赋值给变量
可作为参数传入另一个函数
可作为其他函数的返回值
用表达式代语句,每步都是有返回值的单纯运算
避免修改变量:不用变量而用参数保存运行时“状态”,是无副作用而只返回新值的纯函数
由函数组合且以计算执行所有任务,其中函数的运行不依赖外部变量或状态而只依赖于输入的参数。函数中只要参数相同,返回值必相同
错误少、易理解、便于模块化组合;4.1 函数及函数的参数;模块化程序:;4.1.1 函数的定义和调用;2.函数的返回值;3.函数的调用;例4-1 求两个数中的较大数。;注意:;4.1.2 参数的传递;1.可变类型与不可变类型;1.可变类型与不可变类(重要);2.参数的传递;例4-2 不同数据类型的参数;4.1.3 参数的种类;2.默认参数;3.命名参数;4.不定长参数;例4-3 不定长参数的使用;下列代码中, 定义了包含字典不定长参数的函数f2(), 并两次调用f1();4.2.1 函数的嵌套;例4-4 求三个整数中的最小数;2.函数的嵌套定义;例4-5 在一个函数中定义另一个函数;例4-6 函数的多层嵌套及并列的内嵌函数;4.2.2 变量的作用域;例4-8 可变类型参数的使用;2.全局变量;3.嵌套作用域的变量; 4.2.3 函数的递归调用;递归求解f(n)时,需要先求出f(n?1)
为求f(n?1),需要先求出f(n?2)
依此类推;
为求f(1),需要先求出f(0)
f(0)已知
可从f(0)推出f(1)
再从f(1)推出f(2)
依此类推
再从f(n?1)推出f(n)
递归的本质:大问题层层化解,转化成简单、规模小的类似问题,从而解决原来的问题;例4-11 利用递归求解n!;递归求解n!的过程分为:;4.2.4 递归函数;例4-12 求解裴波那契(Fibonacci)数列 的递归函数;例4-13 求解河内塔问题的递归函数;def move(n,x,y):
print(%d号金盘:%s塔→%s塔%(n,x,y))
def hanoi(n,a,b,c):
if n==1:
move(n,a,c)
else:
hanoi(n-1,a,c,b) #(n-1)个盘从左塔到辅助塔
move(n,a,c) #最下面盘从左塔到右塔
hanoi(n-1,b,a,c) #(n-1)个盘从辅助塔到右塔;4.2.5 尾递归;例4-14 通过尾递归计算n!;例4-15 通过尾递归计算斐波那契序列的前33项;4.3 函数式程序设计;4.3.1 函数式程序中的参数;例4-16 求两个整数的绝对值之和;例4-16 求两个整数的绝对值之和;例4-16 求两个整数的绝对值之和;2.高阶函数的使用;4.3.2 匿名函数;例4-18 匿名函数的使用;例4-18 匿名函数的使用;4.3.3 内置高阶函数;例4-20 使用map()将字符串转换成首字母大写、 其他字母小写的规范形式;例4-21 使用reduce()求列表或元组中的元素加权累加和;例4-22 使用filter()查找一批整数中的所有奇数;例4-22 使用filter()查找一批整数中的所有奇数;例4-16 使用map()将字符串转换成首字母大写、 其他字母小写的规范形式;谢谢!
您可能关注的文档
- 《Java程序设计(实验)》教学大纲.doc
- 《Photoshop平面设计精品教程》课件(全).ppt
- 《Premiere-Pro-CS6核心应用案例教程》教学大纲.doc
- 《Python程序设计方法》教学课件—01程序及程序的运行.pptx
- 《Python程序设计方法》教学课件—02数据表示与操作.pptx
- 《Python程序设计方法》教学课件—03算法及程序结构.pptx
- 《Python程序设计方法》教学课件—05OOP.pptx
- 《Python程序设计方法》教学课件—06异常处理.pptx
- 《Python程序设计方法》教学课件—07-GUI.pptx
- 《Python机器学习》教学课件—01概论.pptx
- 2024年中国皮表带市场调查研究报告.docx
- 2024年化验单据杀菌器项目可行性研究报告.docx
- 2024至2030年电动工具用耐久试验台项目投资价值分析报告.docx
- 2024至2030年中国手压式液体分配器行业投资前景及策略咨询研究报告.docx
- 2024至2030年专线接入设备项目投资价值分析报告.docx
- 2024年中国双燃料液化气叉车转换装置市场调查研究报告.docx
- 2024年半自动三销轴组合磨床项目可行性研究报告.docx
- 2024年产蛋鸡配合饲料项目可行性研究报告.docx
- 2024年头带式线咪耳机项目可行性研究报告.docx
- 2024年蔬果处理机项目可行性研究报告.docx
文档评论(0)