Python语言程序设计第八章函数与模块课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Python语言程序设计第八章函数与模块课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 语言程序设计 第八 函数 模块 课件
- 资源描述:
-
1、PythonPython语言程序设计语言程序设计第第8 8章章 函数与模块函数与模块2 第第8 8章章 函数与模块函数与模块 程序结构清晰,可读性好。减少重复编码的工作量。可多人共同编制一个大程序,缩短程序设计周期,提高程序设计和调试的效率。使用使用函数函数的的好处好处 函数是一组实现某一特定功能的语句集合,是函数是一组实现某一特定功能的语句集合,是可以重复调用、功能相对独立完整的程序段可以重复调用、功能相对独立完整的程序段。3 第第8 8章章 函数与模块函数与模块使用使用库函数库函数应注意:应注意:1、函数功能、函数功能2、函数参数的数目和顺序,及各参数意义和类型、函数参数的数目和顺序,及各
2、参数意义和类型3、函数返回值意义和类型、函数返回值意义和类型v用户自定义函数1.从用户的使用角度v库函数(标准函数):由系统提供 在程序前导入该函数原型所在的模块4 第第8 8章章 函数与模块函数与模块2.从参数传递的角度def average(x,y,z):aver=(x+y+z)/3;return(aver)a,b,c=eval(input(please input a、b、c:)ave=average(a,b,c)print(average=%f%ave)def printstar():print(*)def print_message():print(How are you!)def
3、main():printstar()print_message()printstar()main()有参函数有参函数无参函数无参函数5 第第8 8章章 函数与模块函数与模块8.2 函数的定义与调用函数的定义与调用定义一般形式:def 函数名(形式参数表):函数体 return 表达式l 采用采用def 关键字定义函数,不需要指定返回值的类型;关键字定义函数,不需要指定返回值的类型;l 函数的参数不限,不需要指定参数类型;函数的参数不限,不需要指定参数类型;l 参数括号后面的冒号参数括号后面的冒号“:”必不可少;必不可少;l 函数体相对于函数体相对于def关键字必须保持一定的空格缩进;关键字必须
4、保持一定的空格缩进;l return语句是可选的;语句是可选的;l 允许允许定义函数体为空的函数定义函数体为空的函数。函数函数定义定义时要时要注意注意6 第第8 8章章 函数与模块函数与模块一般形式:函数名(函数名(实际参数表实际参数表)说明v实参可以是常量、变量、表达式、函数等,但在 进行函数调用时必须有确定的值。v函数的实参和形参应在个数、类型和顺序上 一 一对应。v对于无参函数,调用时实参表列为空,但()不能省。7 第第8 8章章 函数与模块函数与模块例:编写函数,求例:编写函数,求3个数中的最大值。个数中的最大值。def getMax(a,b,c):if ab:max=a else:m
5、ax=b if(cm):max=c return maxa,b,c=eval(input(input a,b,c:)n=getMax(a,b,c)print(max=,n)在在Python中不中不允许前向引用,允许前向引用,即在函数定义即在函数定义之前,不允许之前,不允许调用该函数。调用该函数。8 第第8 8章章 函数与模块函数与模块8.3 函数的参数和函数的返回值函数的参数和函数的返回值形式参数:定义函数时函数名后面括号中的变量名实际参数:调用函数时函数名后面括号中对应的参数说明实参可以是常量、变量和表达式,但必须在函数 调用之间有确定的值。形参与实参个数相同形参定义时编译系统并不为其分配存
6、储空间,也无初值;只有在函数调用时,临时分配存储空间,接受来自实参的值;函数调用结束,内存空间释放。def average(x,y,z):aver=(x+y+z)/3;return(aver)a,b,c=eval(input(please input a、b、c:)ave=average(a,b,c)print(average=%f%ave)9 第第8 8章章 函数与模块函数与模块参数传递方式参数传递方式n单向的值传递单向的值传递 实参和形参之间是实参和形参之间是单向的值传递。单向的值传递。在函数调用时,在函数调用时,将各实参表达式的值计算出来,赋给形参变量。因此,将各实参表达式的值计算出来,
7、赋给形参变量。因此,实参与形参必须类型相同或赋值兼容,个数相等,一实参与形参必须类型相同或赋值兼容,个数相等,一一对应一对应。在函数调用中,即使实参为变量,形参值的。在函数调用中,即使实参为变量,形参值的改变也不会改变实参变量的值。改变也不会改变实参变量的值。实参和形参占用不同的内存单元实参和形参占用不同的内存单元n传地址方式传地址方式 函数调用时,将实参数据的存储地址作为参数传递函数调用时,将实参数据的存储地址作为参数传递给形参给形参10 第第8 8章章 函数与模块函数与模块def swap(a,b):a,b=b,a print(a=,a,b=,b)x,y=eval(input(input
8、x,y:)swap(x,y)print(x=,x,y=,y)运行结果:运行结果:input x,y:3,5a=5 b=3x=3 y=5形式参数(形参)形式参数(形参)实际参数(实参)实际参数(实参)例如:例如:编一程序,将主函数中的两个变量的值传递编一程序,将主函数中的两个变量的值传递给给swap函数中的两个形参,交换两个形参的值。函数中的两个形参,交换两个形参的值。单向值传递单向值传递11 第第8 8章章 函数与模块函数与模块def swap(a_list):a_list0,a_list1=a_list1,a_list0 print(a_list0=,a_list0,a_list1=,a_l
9、ist1)x_list=3,5swap(x_list)print(x_list0=,x_list0,x_list1=,x_list1)运行结果:运行结果:a_list0=5 a_list1=3x_list0=5 x_list1=3例:例:传地址方式。传地址方式。12 第第8 8章章 函数与模块函数与模块函数的返回值函数的返回值 指函数被调用、执行完后,返回给主调函数的值。指函数被调用、执行完后,返回给主调函数的值。函数的返回语句函数的返回语句一般形式一般形式 return 表达式表达式功能:功能:使程序控制从被调用函数返回到调用函数中,使程序控制从被调用函数返回到调用函数中,同时把返回值带给调
10、用函数同时把返回值带给调用函数def add(a,b):c=a+b x=add(3,20)print(x)说明v 函数内可有多条返回语句。v如果没有return语句,会自动返回NONE;如果有return语句,但是return后面没有表达式也返回NONE。13 第第8 8章章 函数与模块函数与模块例:编写函数,判断一个数是否是素数。例:编写函数,判断一个数是否是素数。def isprime(n):for i in range(2,n):if(n%i=0):return 0 return 1m=int(input(请输入一个整数请输入一个整数:)flag=isprime(m)if(flag=1)
11、:print(%d是素数是素数%m)else:print(%d不是素数不是素数%m)14 第第8 8章章 函数与模块函数与模块例:例:求一个数列中的最大值和最小值。求一个数列中的最大值和最小值。def getMaxMin(x):max=x0 min=x0 for i in range(0,len(x):if maxxi:min=xi return(max,min)a_list=-1,28,-15,5,10#测试数据为列表类型测试数据为列表类型x,y=getMaxMin(a_list)print(a_list=,a_list)print(最大元素最大元素=,x,最小元素最小元素=,y)strin
12、g=Hello x,y=getMaxMin(string)print(string=,string)print(最大元素最大元素=,x,最小元素最小元素=,y)15 第第8 8章章 函数与模块函数与模块8.4 函数的递归调用 在函数的执行过程中又直接或间接调用该函数本身 直接递归调用 在函数中直接调用函数本身间接递归调用 在函数中调用其它函数,其它函数又调用原函数f()调调f调调f2调调f1f1()f2()def a(x):z=b(y).return(2*z)def b(t):m=a(x).return(3+c)def f(x):z=f(y).return(2*z)16 第第8 8章章 函数与
13、模块函数与模块递归算法的两个基本特征递归算法的两个基本特征递推归纳递推归纳将问题转化为比原问题小的同类规模,归纳出一般递推将问题转化为比原问题小的同类规模,归纳出一般递推公式公式.故所处理的故所处理的对象要有规律地递增或递减对象要有规律地递增或递减递归终止递归终止当规模小到一定的程度应该结束递归调用,逐层返回当规模小到一定的程度应该结束递归调用,逐层返回常用条件语句来控制何时结束递归常用条件语句来控制何时结束递归 17 第第8 8章章 函数与模块函数与模块!1!2.)!2n()!1n(!n1 0 0n!时,例例 求递归方法求求递归方法求n的阶乘的阶乘)1()!1()1,0(1!nnnnn递推归
展开阅读全文