版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1页共15页第6章:编程中常用的函数(共2课时)第1课时:python的函数流水线,又称装配栈,是工业上一种生产方式,指每个生产单位只专注处理6.1函数Python中函数的应用非常广泛,前函数,这些都是Python中的内置函数,可以直接使用。函数,即将一段有规律的、可重复使用的代码定义成函数,从而下面通过一个示例理解函数的作用。前面学习了abs函数,通过该函数可以得到一个数的绝对值。不妨设想一下,如果没有abs函数,要想获取一个字符串的长度,该如何实【示例6-1】1.data=input("请输入一个整数:")【程序运行结果】程序运行结果如图6-1所示。总共运行了2次程序,第一次输入23,输出的绝对值也是23;第二次输入-23,输出的绝对值还是23。这段程序的功能与abs函数的功能一致。Python3.10.6(tags/v3.10.6:9c7b4bd,Aug12022,Type"help"copyright","credits"or"license()”for图6-1实例6-1的运行结果6.2自定义函数如果在一段程序中需要多次求绝对值,则上面求绝对值的程序是不是需要编写多次呢?当然不是,Python提供了很好的解决重复编写代码的问题——函数。除了Python提供的函数(即内置函数)之外,还6.2.1函数的定义方法在Python中,如果遇到需要重复编写代码的情况,则可以考虑自1.def函数名([形式参数列表]):在Python中,自定义函数需要使用关键字def。第2页共15页【示例6-2】【示例6-3】【代码解析】第3行:在循环语句内部使用print函数,输出字符串“hello,world!”。第4行:调用hello函数并传入一个整数6,在此整数6又称为实参,即实际参数。=====RESTART:D:/Programs/Python/Pytho图6-36.2.4带多个参数的函数调用时也必须在函数名后面的小括号中提供个数相等的实际参数,而且顺序必须【示例6-4】【代码解析】第1行:在函数名后面的小括号中添加两个形参a和b。第2行:定义变量c,并把a+b的和赋值给变量c。第3行:使用print函数输出变量c的值。第4行:调用add函数,并传入实参100和200。第5行:再次调用add函数,并传入实参235和265。【程序运行结果】程序运行结果如图6-4所示,第1行输出100与200的和300;第2行输出235与365的和参数。Python3.10.6(tags/v3.10.6:9cType"help","copyright","credits"or"license()"formore6.2.5有默认值的参数在调用带多个参数的函数时,有些地方非常容易出错,即实参的个数和顺序必须第4页共15页【示例6-5】第1~3行:定义add函数,带有两个参数a和b;参数a没有默认值,参致b的默认值为0。第3行:输出变量c的值。【示例6-6】第6行:使用return函数返回d。第7行:调用sum函数,并把返回值赋给变量s。第8行:计算三科成绩的平均分。第9行:使用print函数输出该学生的平均分。【程序运行结果】程序运行结果如图6-6所示,分别输入语文成绩98、数学成绩96、英语成绩97,程序输出平均分97.0。Python3.10.6(tags/v3.10.6:9c7b4bd,Augmammamm=Type"help","copyright","credits"or"li图6-6示例6-6的程序运行结果6.2.7带多个返回值的函数后面分别填写返回值,并用逗号分隔;如果返回值的个数超过3个,则可以把返回值放入集合中,然后使 2.a=input("请输入整3.b=input("请输入整数2:")4.c=input("请输入整数3:")8.if(a>banda>c)14.if(b>aandb>c):20.if(c>aandc>b):【代码解析】第1~26行:定义函数max_min,需要注意的是,第26行中使用return语句返回两个数据。第27行:调用该函数,并把函数的返回值赋给两个变量。第28、29行:分别输出函数的返回值。【程序运行结果】程序运行结果如图6-7所示,分别输入3个数300、100、280,输出的最大劲为300,最小数为100。===RESTART:D:/Programs/Python/Python310/1.py=图6-7示例6-7的程序运行结果案例6-1:福格的环球之旅【案例说明】《八十天环游地球》的主人公福格是一位冷静理智、做事有条不紊的英国人下了两万英镑的赌注——他可以八十天完成环游地球。于是福格带着【案例编程】已知福格当年的环球之旅分为两部分:水路和陆路,水路行程为32000km,陆路行程为8000km。编写一段程序,输入两人每小时水路和陆路的行进速度,输出环球之旅需要的总天数。假如一天24个小时中有12个小时在路上。“”获取水路速度和陆路速度””””求旅行总天数”sp1,sp2=get_speed()#获取两个速度hours=t1+t2days=hours/12#12小时一天【代码解所】程序中总共定义了3个函数。第7页共15页程序运行结果如图6-8所示,输入水路速度为“60”,陆路速度为“200”,计需要47.8天。二二二三RESTART:D:/Programs/Python/Python310/1.py=图6-84.求1~n之间所有3的倍数的和。注意:包含n。5.打印15次“Hello,world!”(1)方式1:打印周长和面积。(2)方式2:返回周长和面积。第8页共15页7.执行下面代码的运行结果是()b=3A.没有任何提示D.报错8.执行下面代码的输出结果是()deffun():print(34)print(68)A.34B.68C.None10.编写一个函数,接收一个参数n,计算并返回n的阶乘。11.自定义一个名为result的函数,传入参数x,y,打印x+y的和的平方12.自定义个一个函数,接收2个参数,然后返回这两个数的和,差,积,第9页共15页6.3函数的嵌套6.3.1函数的嵌套【示例6-8】【代码解析】程序中定义了两个函数:函数a和函数b,并且函数b的定义和调用都是在函数a的内部。第3、4行:定义函数b,并输出字符串“-----b-----”。第6行:调用函数a。【程序运行结果】程序运行结果如图6-9所示,先输出了字符串”-----a-----”,再输出字符串“-----b-----”。Python3.10.6(tags/v3.10.6:9c7b4bd,Aug图6-9【示例6-9】在函数中仅调用另一个函数,而不定义它。在文本模式下编【代码解析】程序中同样定义了两个函数:函数a和函数b。第1、2行:定义函数a,并输出字符串"--------"。第3~5行:定义函数b。第10页共15页第5行:在函数b中调用函数a。Python3.10.6(tags/v3.10.6:9c7b4bd,Aug12022,21:53:4Type"help","copyright","credits"or"license()"formore======RESTART:D:/Programs/Python/Python310/2.py========图6-10示例6-9的程序运行结果案例6-2:全功能计算器a=input("请输入第一个数:")b=input("请输入第二个数:")print("相加的结果是:",add(a,b))print("相减的结果是:",sub(a,b))print("相乘的结果是:",mult(a,b))print("相除的结果是:",div(a,b))第3~5行:定义加法函数add。第11页共15页第15~18行:调用加、减、乘、除4个函数,并输出运算结果。【程序运行结果】程序运行结果如图6-11所示,输入60和30后,分别输出60和30相加、相减、相乘和相除的结果。6.4局部变量与全局变量在Python中,根据变量的作用域大小,将变量分为局部变量和全局变量。下面讲解局部变量和全局6.4.1局部变量根据字面意思可知,局部变量只在局部起作用,作用域比较小。一般情况下,称为局部变量。局部变量只能在函数内部使用,如果超出使用范围(函数外部)则会报错。【示例6-12】【代码解析】第1~3行:定义fun函数。第2行:在fun函数内部定义一个变量a,并赋值为100。第3行:在fun函数内部调用print函数,输出变量a的值。第4行:调用fun函数。【程序运行结果】程序运行结果如图6-14所示。图6-14【示例6-13】第1~3行:定义fun函数。第2行:在fun函数内部定义一个变量a,并赋值为100。第3行:在fun函数外部调用print函数,输出变量a的值。【程序运行结果】程序运行结果如图6-15所示,在执行print(a)时,出现“NameError:name'a'isnotdefined”的提示错误,即找不到变量a。因为变量a.因为变量a是fun函数内部一个局部变量,作用域只在fun函第12页共15页>>==RESTART:D:/Programs/Python/Python310/2.pyNameError:name'a'isnot图6-15示例6-13的程序运行结果6.4.2全局变量【示例6-14】第2~4行:定义fun函数。第4行:在fun函数内部调用print函数,输出变量a的值。第5行:调用fun函数。程序运行结果如图6-16所示,第1行输出的是局部变量a的值10,第2行输出的是全局变量a的值图6-16示例6-14的程序运行结果6.4.3global关键字【代码解析】第2~5行:定义fun函数。第4行:重新给全局变量a赋值为10。第6行:调用fun函数。Python3.10.6(tags/v3.10.6:9c7b4bd,Aug12022,21:53:49)[MSCv.193264biAMD64)]onwin32Type"help”,"copyright","credits"or“license()"for6.5模块第1步:先定义一个test模块,如图6-18所示。defsum(n):图6-18定义test模块第2步:创建一个新的py文件test1.py,其程序如图6-19所示。在第1行中导入test模块;在第2行中程序运行结果如图6-20所示。第14页共15页test1.py-D:/Programs/Python/Python310/test图6-19图6-20还可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GB 4706.31-2008家用和类似用途电器的安全 桑那浴加热器具的特殊要求》专题研究报告
- 《GBT 22052-2008用液体蒸气压力计测定液体的蒸气压力 温度关系和初始分解温度的方法》专题研究报告 深度报告
- 道路安全培训总评课件
- 道路交通安全管理课件
- 2026年河北衡水市高职单招英语考试试题及答案
- 2026年度第三季度医保知识培训考试题库道含完整答案(历年真题)
- 2025非小细胞肺癌术后随访中国胸外科专家共识(2025版) (1)课件
- 边防连队安全教育培训课件
- 水利部安管人员考核试题
- 车险保险知识培训课件
- 导热油炉安全操作规程
- 2025购房合同(一次性付款)
- GB/T 46161.1-2025道路车辆气压制动系第1部分:管、端面密封外螺纹接头和螺纹孔
- 云南省茶叶出口竞争力分析及提升对策研究
- 绝缘技术监督培训课件
- 2025秋季学期国开电大法律事务专科《刑事诉讼法学》期末纸质考试多项选择题库珍藏版
- 东城区2025-2026学年九年级第一学期期末考试物理试题
- 《市场监督管理投诉举报处理办法》知识培训
- 地震监测面试题目及答案
- 12S522混凝土模块式排水检查井图集
- 物业的2025个人年终总结及2026年的年度工作计划
评论
0/150
提交评论