Python电子教案5-1 函数和代码复用ppt课件_第1页
Python电子教案5-1 函数和代码复用ppt课件_第2页
Python电子教案5-1 函数和代码复用ppt课件_第3页
Python电子教案5-1 函数和代码复用ppt课件_第4页
Python电子教案5-1 函数和代码复用ppt课件_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.1,函数的基本用法,函数由函数名表示,是一组具有特定功能的可重用语句,以函数名完成函数调用。函数也可以视为命名的子例程,可以在所需位置调用执行,这样就不必在每个执行位置重复编写这些语句。每次使用函数时,您都可以提供不同的参数作为输入,以处理不同的数据。函数运行后,还可以反馈其结果。函数可以像黑盒一样执行特定的功能,使用函数不需要了解函数内部实现的原理。了解函数的输入输出方式就可以了。严格地说,函数是功能抽象。函数定义和用户定义的函数。Python安装包中还包含了Python内置的ABS()、eval()、Python标准库中的函数(如math库中的sqrt()等函数和方法。函数定义、函数使用主要有两个目的:降低编程难度和重复使用代码。函数是功能抽象,它将复杂的大问题分解为一系列简单的小问题,然后继续将小问题分解为较小的问题,如果问题足够简单,可拆分函数可以在一个程序的多个位置使用,也可以在多个程序中使用。如果需要修改代码,只需修改一次,所有调用位置的功能都将更新,从而减少代码行数和代码维护的困难。函数定义,python定义使用def保留字的函数。def():return、函数定义、函数名称可以是有效的Python标识符。参数列表是调用函数时传递的值,可以有0、1或多个参数,传递多个参数时,用逗号分隔每个参数,没有参数时也保留括号。函数定义的“参数”列表中的参数是窗体参数,简称为“几何参数”。函数主体是每次调用函数时执行的代码,由一行或多行语句组成。如果需要返回值,请使用保留字return和返回值列表。函数可以没有return语句,该语句在函数体的结束位置将控制权返回给调用方。函数定义、函数调用和执行的一般形式如下:()时,参数列表中会提供要传递给函数内部的参数。这些引数称为实际引数或简单的实际引数。Mike和Lily的生日歌曲输出程序的定义。最简单的方法是重复使用print()语句,然后为Mike的生日歌输出以下内容:微实例5.1:生日歌。其中,代码1、2和4行相同,如果需要将birthday更改为newyear,请分别进行修改。若要避免这种情况,可以使用函数printHappy()进行包装。如果Lily重新输出生日快乐歌(Mike除外),则除了第3行存在一些差异外,如果与上述代码匹配,则会出现重复代码。亚当,如果还有埃里克呢?以函数方式完成功能,以便重复使用语句。代码如下:微实例5.1:生日歌,微实例5.1:生日歌,该程序的输出如下。微实例5.1:生日歌,微实例5.1代码的三行中定义的函数happyB()。括号中的name是表示要输入到函数中的实际变量的形参数,并参与函数内部功能的完成。第8行和第10行是调用happyB()函数两次并输入的“Mike”和“Lily”是实际参数,它们将替换name以用于函数执行。微实例5.1:生日歌,程序调用函数需要执行以下4个步骤。(1)调用程序暂停调用中的执行。(2)调用时,将实际参数复制到函数的参数中。(3)执行函数体语句。(4)函数调用的终止提供返回值,程序继续执行直到调用前暂停的点。函数调用过程,微实例5.1生日歌曲程序跟踪分析。第1-7行是仅在调用函数时执行的函数定义,因此前7行代码不会直接执行。程序中最先执行的语句是8行happyB(Mike )。python以此行运行时,将调用happyB()函数以暂停当前执行。程序将happyB(name)中的形参数名称替换为实际参数“Mike”,为形参数指定实际参数值,然后执行以下语句:使用name=Mike 、函数调用进程和实际参数(而不是文字参数)执行函数体的内容。函数执行完毕后,返回到第8行,继续执行其馀语句。如图5.1所示,函数第8行的执行过程自动将happyB()函数的变量name替换为“Mike”。函数调用进程,当程序执行happyB()函数主体时,第一个执行语句是happy()函数,这也是函数调用。因此,python暂停happyB()函数的执行,并将控件传递给调用的函数happy()。Hapy()函数主体包含一个简单的print语句,该语句执行后函数主体将终止,程序将返回调用happy()函数的位置。图5.2显示了调用happy()函数和执行返回的过程。函数调用过程、函数调用过程、程序执行happyB()函数主体后,返回调用函数的原始位置并继续执行,如图5.3所示。函数调用进程,lambda用于定义特殊函数匿名函数。也就是说,lambda函数匿名函数并没有名称,而是以函数名称返回=lambda:lambda函数,就像常规函数一样。def():return,lambda函数,简单地说,使用lambda函数返回以下函数类型:lambda函数、21,传递函数的参数,如果在定义函数时某些参数具有默认值(即,不一定需要为某些参数调用程序输入),则可以在定义函数时直接在这些参数中指定默认值。如果在调用函数时未传递相应的参数值,则在定义函数时需要复盖默认值(例如,可选参数和可变数量参数,可选参数必须在参数后定义,而不是在调用函数时按顺序输入参数)。也就是说,在dup()函数中具有默认值的可选参数times必须在str参数之后定义。定义函数时,也可以通过在参数前添加星号(*)来设计可变数量参数。带星号的可变参数只能出现在参数列表的最后。在调用时,这些参数以元组类型传递给函数,如下例所示:可选参数和可变数量参数,vbfunc()函数定义可变参数b,在调用vbfunc()函数时输入的(2,3,4,5)将作为元组传递给b,与a聚合后输出。6.1节详细说明元组类型。这里将元组理解为元素族。可选参数和可变数量参数,调用函数时,默认情况下将dup (knok ,4)中的第一个实际参数指定给几何参数str,将第二个实际参数指定给几何参数times。但是,如果参数很多,则此调用参数可读性较差。假定Func()函数有六个参数,每个参数表示两组3d坐标值:Func (x1,y1,Z1,x2,y2,z2) : return,参数的位置和名称传递,其实际调用之一是result=func(1,2,3,4,5,6,)。如果不查找函数定义,而只查看实际调用,则很难理解这些输入参数的含义。对于大小稍大的程序,函数定义可能位于函数库中,或远离调用,从而降低可读性。传递参数的位置和名称,为了解决上述问题,Python在调用结果=func (x2=4,y2=5,z2=6,x1=1,y1=2,Z1=3)函数时指定了参数名称,因此参数之间,参数的位置和名称被传递,return语句用于终止函数并将程序返回到调用函数的位置。Return语句可以将完成0个、1个或多个函数运算的结果同时返回给调用函数的变量。例如:变量的返回值,函数可能没有return。在这种情况下,函数不会返回与微实例5.1中的happy()函数相同的返回值。函数也可以使用return返回多个值,多个值存储在元组类型中,变量的返回值有两种类型:一个程序中的变量,全局变量和局部变量。全局变量表示函数外部定义的变量,通常没有缩进,并且在程序执行前的过程中很有效。局部变量表示函数内部使用的变量,仅在函数内部有效,函数结束时变量不存在。示例包括:该函数对变量的作用,该函数对变量的作用,此示例显示了函数执行结束时相应的内部变量被释放。如果在函数中使用全局变量?示例包括:变量n在函数func()中内部使用,变量参数b分配给变量n,因此n的值保持不变,原因是什么?函数func()具有唯一的内存空间,用于将n=b语句理解为生成局部变量n,并将值赋给参数b。此时,func()函数不使用n作为全局变量。因此,函数结束时,局部变量n将释放,全局变量n的值不会修改。函数在变量中的作用,在func()函数中,如果要将n用作全局变量,则必须在使用变量n(使用以下代码)之前将该变量显式声明为全局变量:函数对变量的作用,此时全局变量不是整数n,而是列表类型ls,会发生什么?理解以下代码:请记住函数对变量的作用,发生了奇迹,调用func()函数后全局列表变量发生了变化!关联数据类型(例如列表)操作多个数据,因此在使用过程中创建和参照存在差异。无论是否为空,只有在方括号()中指定值时,才会实际创建此列表。否则,对以前创建的列表仅引用一次。函数,此变量需要在执行上述代码func()函数的ls.append(b)语句时实际生成的列表。此时,func()函数在特定于func()函数的内存空间中已经创建了一个名为ls的列表,因此,func()函数查找更多全局内存空间,自动关联全局ls列表,并修改其内容。Func()函数退出时,将修改全局ls列表的内容。简而言之,对于列表类型,函数可以直接使用全局列表,而无需使用global声明。变量的函数的角色,如果在func()函数内部实际创建了名为ls的列表,则func()函数操作该列表而不修改全局变量,如下例所示:函数对变量的作用,摘要,Python函数的作用遵循以下原则:简单数据类型变量仅在函数中创建和使用,无论是否重新命名了全局变量,函数结束后变量关闭,如果存在具有相同全局名称的变量,其值保持不变。简单数据类型变量在声明为global保留字后用作全局变量,在函数结束时保留,其值由函数更改。如果函数在变量中的作用,对于组合数据类型的全局变量,没有在函数中实际创建同名变量,则可以在函数中直接使用和修改全局变量的值。如果在函数内部实际创建了关联的数据类型变量,则无论是否存在同名的全局变量,函数都只对局部变量起作用,函数结束后局部变量将被释放,全局变量的值保持不变。函数对变量的作用,41,datetime使用库以不同格式显示日期和时间是程序中最常用的功能。python提供了处理时间的标准库datetime,它提供了从简单到复杂的时间等多种处理方法。Datetime库可以从系统中获取时间,并以您选择的格式输出。Datetime库基于格林尼治时间,精确定义为每天3600*24秒。此库包含datetime .MINYEAR和datetime。包含MAXYEAR的两个常量。此常量表示datetime可以表示的最小年份和最大年份,其值分别为1和9999。datetime库概述、datetime库提供各种日期和时间表示作为类。datetime.date:日期表示类,可以表示年、月、日等。Datetime.time:时间表示类,可以表示datetime.datetime:日期和时间表示的类,例如小时、分钟、秒、毫秒等。功能将复盖与date和timedatetime.timedelta:时间间隔相关的类。Datetime.tzinfo:与时区相关的信息表示类。datetime库概述,datetime.datetime类表示最丰富,因此主要介绍此类的使用。若要使用Datetime类别,请先使用fromdatetimeimportdatetime、datetime元件库概观、datetime类别(datetime.datetime类别,以下称为datetime类别)建立datetime物件,然后再使用物件的方法创建Datetime对象总共包括三种方法datetime.now()datetime . datetime()datetime()datetime()和datetime库解析,以及datetime . now()。返回datetime类型,该类型准确地表示当前日期和时间,直到微秒。参数:无,datetime库解析,运行结果为:datetime库语法分析,datetime。使用UTCnow()获取与当前日期和时间相对应的世界标准时间(UTC)时间对象。datetime.utcnow()动作:返回datetime类型,该类型准确地表示当前日期和时间的utc表示形式,直到微秒。参数:none、datetime库语法分析、datetime.now()和datetime.utcnow()返回datetime类型的对象,或者您可以使用datetime()按以下方式自行配置日期和时间对象:Month,day,hour=0,minute=0,second=0,microsecond=0)角色:返回表示指定日期和时间的datetime类型,可能精确到微秒。datetime库语法分析,参数:年:中指定的年,minyear=年=maxyearamonth :中指定的月,1=month=12日:中指定的日期,1=日32秒7微秒,执行结果如下。datetime库语法分析,其中程序已经具有datetime对象,您可以进一步利用该对象的属性显示时间。为了区分datetime库名称,请在上述示例(而

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论