(3.5)--Ch5-函数和代码复用2.ppt





《(3.5)--Ch5-函数和代码复用2.ppt》由会员分享,可在线阅读,更多相关《(3.5)--Ch5-函数和代码复用2.ppt(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 函数和代码的复用5.1 函数定义与调用函数定义与调用5.2 函数的参数函数的参数5.3 变量的作用域变量的作用域5.4 lamda函数函数5.5 递归递归5 函数和代码复用函数和代码复用三国演义三国演义中有这样一段描写:中有这样一段描写:懿懿问问曰曰:“孔孔明明寝寝食食及及事事之之烦烦简简若若何何?”使使者者曰曰:“丞丞相相夙夙兴兴夜夜寐寐,罚罚二二十十以以上上皆皆亲亲览览焉焉。所所啖啖之之食食,日日不不过过数数升升。”懿懿顾顾谓谓诸将曰:诸将曰:“孔明食少事烦,其能久乎?孔明食少事烦,其能久乎?”此此话话音音落落不不久久,诸诸葛葛亮亮果果然然病病故故于于五五丈丈原。原。“事无巨细事无
2、巨细 事必躬亲事必躬亲”工作必须分工,各司其职工作必须分工,各司其职建立函数的目的:建立函数的目的:复用复用分而治之分而治之把把较大的任务分解成若干个较小的任务较大的任务分解成若干个较小的任务,每个,每个模块模块完成一个小的任务。各模块各司其职完成一个小的任务。各模块各司其职,结构清,结构清晰。晰。减少减少重复编码工作,提高开发效率。重复编码工作,提高开发效率。5 函数和代码复用函数和代码复用函数是一段具有特定功能的代码,用函数名来表示并通过函函数是一段具有特定功能的代码,用函数名来表示并通过函数名数名进进行行功能调用。函数在需要的地方调用执行,就不需要在功能调用。函数在需要的地方调用执行,就
3、不需要在每个需要的地方重复编写这些语句。每个需要的地方重复编写这些语句。5 函数和代码复用函数和代码复用每每次次调调用用函函数数,可可提提供供不不同同的的参参数数作作为为输输入入,以以实实现现对对不不同同数数据据的的处处理理;函函数数执执行行后可以反馈相应的后可以反馈相应的处处理理结果。(结果。(IPO)Python计算生态计算生态=标准库标准库+第三方库第三方库(15W+)标准库:随解释器安装到系统中的功能模块。标准库:随解释器安装到系统中的功能模块。内置函数:内置函数:系统函数:系统函数:import装入内存装入内存第三方库:需要经过安装才能使用的功能模块。第三方库:需要经过安装才能使用的
4、功能模块。5 函数和代码复用函数和代码复用自定义函数自定义函数5.1 函数的定义与调用5 函数和代码复用函数和代码复用函数的定义Python使用使用def保留字定义函数,语法形式如下:保留字定义函数,语法形式如下:def():return 任何有效的任何有效的PythonPython标识符标识符一条或多条一条或多条语句句组成成 参数列表:形参,有零个、一个或多个,多个参数参数列表:形参,有零个、一个或多个,多个参数间由间由逗号逗号分隔,没有参数时也分隔,没有参数时也要保留圆括号要保留圆括号。5 函数和代码复用函数和代码复用函数的定义与调用函数的定义与调用无返回值内置系统函数:无返回值内置系统函
5、数:print()有返回值内置系统函数:有返回值内置系统函数:input()、pow()参数参数 函数的定义5 函数和代码复用函数和代码复用函数的定义与调用函数的定义与调用返回值返回值 函数名函数名 函数可以通过函数可以通过return语句返回语句返回1个或多个值,也可以没个或多个值,也可以没有。函数不返回值时可以不写有。函数不返回值时可以不写return,也可以写不带表,也可以写不带表达式的达式的return;returnreturn语句语句可以在函数中任意位置,遇到可以在函数中任意位置,遇到return会会退出退出函数并返回到函数被调用的位置继续执行。函数并返回到函数被调用的位置继续执行。
6、没有没有return,函数体结束,结束函数的执行。,函数体结束,结束函数的执行。5 函数和代码复用函数和代码复用函数的参数函数的参数微实例微实例1 1:生日歌。生日歌。过生日时要为朋友唱生日歌,歌词为:过生日时要为朋友唱生日歌,歌词为:Happy birthday to you!Happy birthday to you!Happy birthday to you!Happy birthday to you!Happy birthday,dear Happy birthday,dear Happy birthday to you!Happy birthday to you!编编写写程程序序为为
7、MikeMike和和LilyLily输输出出生生日日歌歌。最最直直接接的的实实现方法是重复使用现方法是重复使用print()print()语句语句。5 函数和代码复用函数和代码复用函数的定义与调用函数的定义与调用12345xm=input(输入姓名:输入姓名:)print(Happy birthday to you!)print(Happy birthday to you!)print(Happy birthday,dear+xm)print(Happy birthday to you!)最直接的实现方法是重复使用最直接的实现方法是重复使用print()print()语句语句:函数的定义重复的
8、重复的功能功能5 函数和代码复用函数和代码复用函数的定义与调用函数的定义与调用print(Happy birthday to you!)def ha():定义函数定义函数函数的定义 定义后的函数不能直接运行,需要经过定义后的函数不能直接运行,需要经过“调用调用”才能才能运行。运行。5 函数和代码复用函数和代码复用函数的定义与调用函数的定义与调用函数的调用n调用函数的基本方法:调用函数的基本方法:()ha()ha()print(Happy birthday,dear Mike!)ha()调用函数调用函数5 函数和代码复用函数和代码复用函数的定义与调用函数的定义与调用实参与形参个数实参与形参个数位
9、置一一对应位置一一对应print(Happy birthday to you!)def ha(n):ha(2)print(Happy birthday,dear Mike!)ha(1)for i in range(n):有参函数的定义和调用5 函数和代码复用函数和代码复用函数的定义与调用函数的定义与调用123456#求求整数整数n的的阶乘阶乘 s=1 for i in range(1,n+1):s=s*i def fact(n):return s5 函数和代码复用函数和代码复用函数的定义与调用函数的定义与调用微实例微实例2 2:编写一个求阶乘的函数,并利用该函数:编写一个求阶乘的函数,并利用该
10、函数:1)1)求求5!5!2)2)输入一个正整数输入一个正整数n n,求,求1!+2!+n!1!+2!+n!。12345678#一一个对整数个对整数n求阶乘的函数求阶乘的函数def fact(n):s=1for i in range(1,n+1):s*=ireturn s#调用阶乘函数调用阶乘函数求求5的阶乘的阶乘print(fact(5)5 函数和代码复用函数和代码复用函数的定义与调用函数的定义与调用 1)1)利用该函数求利用该函数求5!5!print(fact(5)def fact(n):s=1for i in range(1,n+1):s*=i return s1205 函数和代码复用函
11、数和代码复用函数的定义与调用函数的定义与调用求求5的阶乘执行过程:的阶乘执行过程:5n=int(input(输入一个整数:输入一个整数:)for i in range(1,n+1):x=x+fact(i)print(阶乘和为:阶乘和为:.format(x)x=05 函数和代码复用函数和代码复用函数的定义与调用函数的定义与调用def fact(n):#一一个对整数个对整数n求阶乘的函数求阶乘的函数 s=1 for i in range(1,n+1):s*=i return s#求求1-n的阶乘和的阶乘和2)2)输入一个正整数输入一个正整数n n,利用函数,利用函数求求1!+2!+n!1!+2!+
12、n!。程序调用一个函数需要执行以下程序调用一个函数需要执行以下4个步骤:个步骤:(1)调用程序在调用处暂停执行;)调用程序在调用处暂停执行;(2)在调用时将实参传递给函数的形参;)在调用时将实参传递给函数的形参;(3)执行函数体语句;)执行函数体语句;(4)函数调用结束给出返回值,程序回到调用前的暂)函数调用结束给出返回值,程序回到调用前的暂停处继续执行。停处继续执行。5 函数和代码复用函数和代码复用函数的定义与调用函数的定义与调用函数的嵌套调用:5 函数和代码复用函数和代码复用函数的定义与调用函数的定义与调用def ha(n):for i in range(n):print(Happy bi
13、rthday to you!)def hp(name):ha(2)print(Happy birthday,dear!.format(name)ha(1)hp(Mike)print()hp(Lily)课堂练习编写一个判断一个数是不是素数的函数:编写一个判断一个数是不是素数的函数:1.利用该函数求出利用该函数求出100以内的素数;以内的素数;2.输入一个数,找出比该数大的最小素数。输入一个数,找出比该数大的最小素数。5 函数和代码复用函数和代码复用函数的定义与调用函数的定义与调用def isprime(x):for j in range(2,x):if x%j=0:return False el
14、se:return True说说以下判断素数的函数是否正确?说说以下判断素数的函数是否正确?思考:5 函数和代码复用函数和代码复用函数的定义与调用函数的定义与调用5.2 函数的参数5 函数和代码复用函数和代码复用函数的参数函数的参数5.2.1 可选参数def(,=):return 可选参数放置在可选参数放置在非可选参数后面非可选参数后面5 函数和代码复用函数和代码复用函数的参数函数的参数 round(3.14)、round(3.14,2)函函数数在在定定义义时时,通通过过指指定定参参数数的的默默认认值值,构构成成可可选选参参数数。当当函函数数被被调调用用时时,如如果果没没有有传传入入对对应应的
15、的参参数数值,则使用函数定义时的默认值。值,则使用函数定义时的默认值。5.2.1 可选参数5 函数和代码复用函数和代码复用函数的参数函数的参数def dup(str,times=2):print(str*times)dup(knock)dup(knock,4)例如:例如:knockknockknockknockknockknock 在在函函数数定定义义时时,可可以以设设计计可可变变数数量量的的参参数数,通通过过参参数数前增加星号(前增加星号(*)实现实现。def(,*参数参数):return 5.2.2 可变参数5 函数和代码复用函数和代码复用函数的参数函数的参数print(2)、print(
16、2,4)、print(2,4,6)5.2.2 可变参数5 函数和代码复用函数和代码复用函数的参数函数的参数def fun(*b):a=0 for n in b:a+=n return aprint(fun(1,2,3)print(fun(1,2,3,4,5)例如:例如:参数以元参数以元组的形式的形式传递 调调用用函函数数时时,实实参参传传递递给给形形参参,默默认认是是按按位位置置一一一一对对应传递。应传递。Python还还提提供供了了按按照照形形参参名名称称来来输输入入实实参参的的方方式式,调用格式调用格式如下:如下:(=)由由于于调调用用函函数数时时指指定定了了参参数数名名称称,所所以以参参
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 3.5 Ch5 函数 代码

限制150内