当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

上海交通大学:《程序设计思想与方法》课程教学资源(PPT课件讲稿)CT06 函数

资源类别:文库,文档格式:PPT,文档页数:12,文件大小:155.5KB,团购合买
点击下载完整版文档(PPT)

函数

函数

什么是函数? ·函数是一种程序构件,是构成大程序的小程序 一先定义后调用 通过函数名调用之 一调用时传递参量 调用执行的是函数体(语句序列 一调用产生返回值 。 我们已经熟悉的函数: -自己编的函数,如常用的main() -Python内建函数,如abs() - Python标准库函数,如math.sqrt()和string.split() - 对象的方法,如win.close()和p.draw() Lu Chaojun,SJTU 2

什么是函数? • 函数是一种程序构件,是构成大程序的小程序. – 先定义后调用 – 通过函数名调用之 – 调用时传递参量 – 调用执行的是函数体(语句序列) – 调用产生返回值 • 我们已经熟悉的函数: – 自己编的函数,如常用的main() – Python内建函数,如abs() – Python标准库函数,如math.sqrt()和string.split() – 对象的方法,如win.close()和p.draw() Lu Chaojun, SJTU 2

为什么需要函数? ·编程更容易把握 一复杂程序分解成较小部件 ·代码可重用 -提高开发效率 一更易维护 ·代码更简洁 ·程序更易理解 Lu Chaojun,SJTU 3

为什么需要函数? • 编程更容易把握 – 复杂程序分解成较小部件 • 代码可重用 – 提高开发效率 – 更易维护 • 代码更简洁 • 程序更易理解 Lu Chaojun, SJTU 3

编程实例:生日歌 ·用函数减少重复代码 重复代码的坏处: def main(): 1.费时费力 print "Happy birthday to you!" print "Happy birthday to you!" 2.代码维护的 print "Happy birthday,dear Fred." 致性 print "Happy birthday to you!" V def happy(): print "Happy birthday to you!" def singFred(): happy ( happy ( print "Happy birthday,dear Fred." happy (

编程实例:生日歌 • 用函数减少重复代码 def main(): print “Happy birthday to you!” print “Happy birthday to you!” print “Happy birthday, dear Fred.” print “Happy birthday to you!”  def happy(): print “Happy birthday to you!” def singFred(): happy() happy() print “Happy birthday, dear Fred.” happy() 重复代码的坏处: 1.费时费力 2.代码维护的 一致性

编程实例生日歌(续) ·用参量增强函数的通用性 def singLucy(): def main(): singFred() singLucy ( 业 def sing(person): happy ( happy ( print "Happy birthday,dear",person +. happy() def main(): sing ("Fred") sing ("Lucy") sing ("Elmer")

编程实例:生日歌(续) • 用参量增强函数的通用性 def singLucy(): …… def main(): singFred() singLucy()  def sing(person): happy() happy() print “Happy birthday, dear”, person + “.” happy() def main(): sing(“Fred”) sing(“Lucy”) sing(“Elmer”)

实例分析:futval.3.py ·futval2.py两处画柱子的代码是类似的 一循环外的初始柱子 -循环内的每年的柱子 ·解决方法 def drawBar(window,year,height): bar Rectangle(Point(year,0),Point (year+1,height)) bar.setFill(green") bar.setwidth(2) bar.draw (window) 初始:drawBar(win,0,2000) 每年:drawBar(win,year,height) 完整程序futval3.py Lu Chaojun,SJTU 6

实例分析:futval3.py • futval2.py两处画柱子的代码是类似的 – 循环外的初始柱子 – 循环内的每年的柱子 • 解决方法 def drawBar(window,year,height): bar = Rectangle(Point(year,0),Point(year+1,height)) bar.setFill(“green”) bar.setWidth(2) bar.draw(window) 初始:drawBar(win,0,2000) 每年:drawBar(win,year,height) – 完整程序futval3.py Lu Chaojun, SJTU 6

函数与参量 ·考虑函数定义 def drawBar(window,year,height) -参量一般代表可变的部分,如year和height - window并不变,为何作为参量? 变量作用域(scope):即可以引用该变量的区域 函数中的变量都是局部的:即他们的作用域只是 该函数内部 -上例中作画的窗口win是在drawBar()外部定义的,故 在其内部不可引用,必须通过参量传递给它,所以设 置了参量window

函数与参量 • 考虑函数定义 def drawBar(window,year,height) – 参量一般代表可变的部分,如year和height – window并不变,为何作为参量? • 变量作用域(scope):即可以引用该变量的区域. • 函数中的变量都是局部的:即他们的作用域只是 该函数内部. – 上例中作画的窗口win是在drawBar()外部定义的,故 在其内部不可引用,必须通过参量传递给它,所以设 置了参量window

函数调用过程 ·函数定义 def(): ·函数调用 () -调用程序暂停 -函数形参被赋值为实参(按位置对应) -执行函数体 一控制返回调用点的下一条语句

函数调用过程 • 函数定义 def (): • 函数调用 () – 调用程序暂停 – 函数形参被赋值为实参(按位置对应) – 执行函数体 – 控制返回调用点的下一条语句

函数调用过程图解 def happy(): def main(): def sing(person): person ="Fred" happy ( print "Happy Birthday to you!" sing("Fred") print happy ( print "Happy birthday,dear",person +". sing("Lucy") happy() person: "Fred" def main () person "Fred" def sing(person): sing("Fred") happy() print happy() sing("Lucy") print "Happy birthday,dear",person +". happy() def main(): def sing(person): sing("Fred") happy() print 农exson#"Lucy happy() sing("Lucy") print "Happy birthday,dear",person +". happy() person "Lucy

函数调用过程图解

带返回值的函数 ·函数与调用者之间的沟通: 一通过参量从调用者输入值 -通过返回值向调用者输出值 定义 def(形参): return -Python遇见return语句时即退出函数,并计算表达式 将结果返回给调用者 ·使用 x=()

带返回值的函数 • 函数与调用者之间的沟通: – 通过参量从调用者输入值 – 通过返回值向调用者输出值 • 定义 def (形参): …… return – Python遇见return语句时即退出函数,并计算表达式 将结果返回给调用者 • 使用 x = ()

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共12页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有