小学中高年级课后服务 python编程教学 三阶第06课 函数拓展 课件_第1页
小学中高年级课后服务 python编程教学 三阶第06课 函数拓展 课件_第2页
小学中高年级课后服务 python编程教学 三阶第06课 函数拓展 课件_第3页
小学中高年级课后服务 python编程教学 三阶第06课 函数拓展 课件_第4页
小学中高年级课后服务 python编程教学 三阶第06课 函数拓展 课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

函数拓展课前回顾1、函数的嵌套在一个函数中定义了另外一个函数。分为外函数和内函数2、函数的参数拓展必备参数、关键字参数、默认参数、“函数”参数3、函数的返回值拓展“函数”返回值、"return函数名()"调用内函数、"return函数名"调用内函数情境引入在之前的课程中,我们学习函数的创建与调用,了解函数各种的特性。在本节课,我们会认识两种不同寻常的函数,来帮助我们更加深层次的理解函数。循序善诱第一种函数,它不使用def关键字创建第二种函数可以帮助我们解决"斐波那契数列"这一数学问题。循序善诱本节课我们要学习匿名函数与递归函数~新知教授2、递归函数1、匿名函数3、课堂总结匿名函数新知教授Python使用lambda关键字创造匿名函数。为了解决那些功能很简单的需求而设计的一句话函数。匿名函数比我们之前创建的函数的结构更为简单思维构建格式:函数名=lambda参数:返回值匿名函数并不是真的不能有名字,而是不使用def关键字定义函数。思维构建匿名函数是单个的表达式,不是一个代码块。匿名函数的设计是为了满足简单函数的场景。calc=lambdan:n**n#匿名函数赋值给变量进行调用print(calc(10))具有复杂逻辑的函数还是要def定义编玩边学匿名函数参数可以有多个,用逗号隔开#使用def定义的函数defadd(x,y):returnx+yadd()#调用函数#使用lambda定义的函数add=lambdax,y:x+y匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值编玩边学匿名函数也是可以嵌套的action=(lambdax:

(lambday:x+y))a=action(10)#返回lambday:x+yprint(a(5))#调用lambday:x+y和def函数的嵌套原则一样递归函数新知教授递归是一种计算过程。一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。递归和洋葱很像哦思维构建直接或间接的调用自身的函数,称为递归函数。#递归函数def

sum1(a):ifa==1:return

1else:returna+sum1(a-1)#调用自身print(sum1(5))计算1+2+3+4+5=?编玩边学在使用递归函数时,需要注意必须有一个明确的递归结束条件,称为递归出口。#递归函数def

sum1(a):ifa==1:return

sum1(a-1)#调用自身,无结束条件print(sum1(5))#运行结果为None程序不能求和了,陷入死循环新知教授斐波那契数列因数学家列昂纳多·斐波那契以兔子繁殖为例引入,故又称为兔子数列。新知教授兔子数列描述:如果兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子,假设所有的兔子都不死,那么一年后可以繁殖多少对兔子呢?思维构建1、1、2、3、5、8、13、21、34、55、89、144……这个数列从第3项开始,每一项都等于前两项之和。如何设计程序算出指定项数的斐波那契数?编玩边学非递归函数实现defFibonacci(n):a=0b=1sum1=0ifn<=2:sum1=1else:foriin

range(1,n):sum1=a+ba=bb=sum1print(sum1)Fibonacci(3)#输入指定项数,调用函数需要使用循环结构编玩边学递归函数实现deffabonacci(n):ifn<=2:sum1=1returnsum1sum1=fabonacci(n-1)+fabonacci(n-2)#调用自身

returnsum1

print(fabonacci(2))

使用递归函数调用自身,大大简化了代码结构实践创作适当使用匿名函数与递归函数可大大简化我们的函数结构,减少代码量。尝试使用它们精简自己的函数吧!课堂总结1、匿名函数格式:函数名=lambda参数:返回值2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论