网站大量收购独家精品文档,联系QQ:2885784924

python编程教学 三阶第06课 函数拓展 课件 .pptx

python编程教学 三阶第06课 函数拓展 课件 .pptx

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
python 编程三阶 公开课 优质课 适用 如遇课件中视频、音频无法正常播放,请在网站联系上传者索取完整版本。 如需与课件配套的教学设计、随堂练习,请与上传者联系索取。 函数拓展 课前回顾 1、函数的嵌套 在一个函数中定义了另外一个函数。分为外函数和内函数 2、函数的参数拓展 必备参数、关键字参数、默认参数、“函数”参数 3、函数的返回值拓展 “函数”返回值、return函数名()调用内函数、return函数名调用内函数 情境引入 在之前的课程中,我们学习函数的创建与调用,了解函数各种的特性。 在本节课,我们会认识两种不同寻常的函数,来帮助我们更加深层次的理解函数。 循序善诱 第一种函数,它不使用def关键字创建 第二种函数可以帮助我们解决斐波那契数列这一数学问题。 循序善诱 本节课 我们要学习匿名函数与递归函数~ 新知教授 2、递归函数 1、匿名函数 3、课堂总结 匿名函数 新知教授 Python使用lambda关键字创造匿名函数。 为了解决那些功能很简单的需求而设计的一句话函数。 匿名函数比我们之前创建的函数的结构更为简单 思维构建 格式:函数名 = lambda 参数 :返回值 匿名函数并不是真的不能有名字,而是不使用def关键字定义函数。 思维构建 匿名函数是单个的表达式,不是一个代码块。 匿名函数的设计是为了满足简单函数的场景。 calc = lambda n:n**n # 匿名函数赋值给变量进行调用 print(calc(10)) 具有复杂逻辑的函数还是要def定义 编玩边学 匿名函数参数可以有多个,用逗号隔开 # 使用def定义的函数 def add( x, y ): return x + y add() # 调用函数 # 使用lambda定义的函数 add = lambda x, y: x + y 匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值 编玩边学 匿名函数也是可以嵌套的 action = (lambda x: (lambda y: x + y)) a = action(10) # 返回lambda y: x + y print(a(5)) # 调用lambda y: x + y 和def函数的嵌套原则一样 递归函数 新知教授 递归是一种计算过程。 一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。 递归和洋葱很像哦 思维构建 直接或间接的调用自身的函数,称为递归函数。 # 递归函数 def sum1(a): if a==1: return 1 else: return a+sum1(a-1) # 调用自身 print(sum1(5)) 计算1+2+3+4+5=? 编玩边学 在使用递归函数时,需要注意必须有一个明确的递归结束条件,称为递归出口。 # 递归函数 def sum1(a): if a==1: return sum1(a-1) # 调用自身,无结束条件 print(sum1(5))# 运行结果为None 程序不能求和了,陷入死循环 新知教授 斐波那契数列因数学家列昂纳多·斐波那契以兔子繁殖为例引入,故又称为兔子数列。 新知教授 兔子数列描述:如果兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子,假设所有的兔子都不死,那么一年后可以繁殖多少对兔子呢? 思维构建 1、1、2、3、5、8、13、21、34、55、89、144…… 这个数列从第3项开始,每一项都等于前两项之和。 如何设计程序算出指定项数的斐波那契数? 编玩边学 非递归函数实现 def Fibonacci(n): a = 0 b = 1 sum1 = 0 if n = 2: sum1 = 1 else: for i in range(1, n): sum1 = a + b a = b b = sum1 print(sum1) Fibonacci(3) # 输入指定项数,调用函数 需要使用循环结构 编玩边学 递归函数实现 def fabonacci(n): if n = 2: sum1 = 1 return sum1 sum1 = fabonacci(n-1)+fabonacci(n-2)# 调用自身 return sum1 print(fabonacci(2)) 使用递归函数调用自身,大大简化了代码结构 实践创作 适当使用匿名函数与递归函数可大大简化

文档评论(0)

***** + 关注
实名认证
内容提供者

教师资格证持证人

如有问题,请于后台留言联系上传者解决(加微信wkl436858),如文档无法编辑,课件中音视频无法播放等。如遇课件中视频无法播放,请留言或私信,一定予以解决。

版权声明书
用户编号:6143101132000005
领域认证该用户于2024年07月27日上传了教师资格证

1亿VIP精品文档

相关文档