大学计算机基础及应用(Python篇)课件:函数_第1页
大学计算机基础及应用(Python篇)课件:函数_第2页
大学计算机基础及应用(Python篇)课件:函数_第3页
大学计算机基础及应用(Python篇)课件:函数_第4页
大学计算机基础及应用(Python篇)课件:函数_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

函数目录页10.5 递归10.1 认识函数10.2 函数的参数10.3 返回值10.4 匿名函数10.6 变量的作用域函数是组织好的、实现单一功能或相关联功能的代码段。我们可以将函数视为一段有名字的代码,这类代码可以在需要的地方以“函数名()”的形式调用。10.1认识函数print()input()10.1认识函数提到函数,大家可能会想到数学函数,

函数是数学中最重要的一个模块,

贯穿整个数学。在Python中,函数的应用非常广泛。在前面我们已经多次接触过函数。例如,用于输出的print()函数、用于输入的input()函数,以及用于生成一系列整数的range()函数。但这些都是Python内置的标准函数,可以直接使用。调用函数定义函数传输数据输出值10.1.2创建一个函数创建函数也成为定义函数,可以理解为创建一个具有某种用途的工具。使用def关键字实现,具体的语法格式如下。deffunctionname([parameterlist]);[“comment”][functionbody]10.1.3调用函数函数在定义完成后不会立刻执行,直到被程序调用时才会执行。调用函数的方式非常简单,其语法格式如下所示。函数名([参数列表])通常,将定义函数时设置的参数称为形式参数(简称为形参),将调用函数时传人的参数称为实际参数(简称为实参)。函数的参数传递是指将实际参数传递给形式参数的过程。函数参数的传递可以分为位置参数的传递、关键字参数的传递、默认参数的传递、可变参数的传递。10.2函数的参数10.2.1了解形式参数和实际参数defdemo(obj):print(obj)定义或创建函数,此时的函数参数obj为形式参数mot="谁在楚之东传承青铜古韵矿冶风"demo(mot)list1=['黄鹤楼','仙岛湖','磁湖','西塞山']demo(list1)调用函数,此时的函数参数mot和list1是实际参数函数在被调用时会将实参按照相应的位置依次传递给形参,即将第1个实参传递给第1个形参,将第2个实参传递给第2个形参,以此类推。10.2.2位置参数关键字实参是传递给函数的名称值对。因为直接在实参中将名称和值关联起来,所以向函数传递实参时不会混淆(不会得到名为mini的teddydog这样的结果)。关键字实参让你无须考虑函数调用中的实参顺序,还清楚地指出了函数调用中各个值的用途。10.2.3关键字参数编写函数时,可给每个形参指定默认值。在调用函数中给形参提供了实参时,Python将使用指定的实参值;否则,将使用形参的默认值。因此,给形参指定默认值后,可在函数调用中省略相应的实参。使用默认值可简化函数调用,还可清楚地指出函数的典型用法。10.2.4默认值在Python中,参数还可以定义为可变参数,可变参数也可以称为不定长参数,所谓的不定长参数就是传入函数的实际参数可以是若干个,其中包括零个、一个、两个到任意个。定义可变参数时,主要有两种形式:一种是*parameter:另一种是**parameter。下面分别为*parameter和**parameter进行介绍。10.2.5可变参数创建函数都只是为我们完成任务,任务完成就结束。实际上有时还需要对事情的结果进行获取。这类似于主管向下级职员下达命令,职员去做,最后需要将结果报告给主管。为函数设置返回值的作用就是将函数的处理结果返回给调用它的函数。在Python中,可以在函数体内使用return语句为函数指定返回值。该返回值可以是任意类型,并且无论return语句出现在函数的什么位置,执行后函数的执行过程就结束了。10.3返回值匿名函数(lambda)是指没有名字的函数,应用在需要一个函数但是又不想费神命名这个函数的场合。通常情况这样的函数只使用一次。在Python中,使用lambda表达式创建匿名函数。10.4匿名函数函数在定义时可以直接或间接地调用其他函数。若函数内部调用了自身,则这个函数被称为递归函数。递归函数通常用于解决结构相似的问题,它采用递归的方式,将一个复杂的大型问题转化为与原问题结构相似的、规模较小的若干子问题,之后对最小化的子问题求解,从而得到原问题的解。10.5递归变量的作用域是指程序代码能够访问该变量的区域,如果超出该区域,再访问时就会出现错误。在程序中,一般会根据变量的“有效范围”将变量分为“局部变量”和“全局变量”。下面分别对这两个变量进行介绍。10.6变量的作用域局部变量是指在函数内部定义并使用的变量,它只在函数内部有效。也就是说,函数内部的名字只在函数运行时才会创建,在函数运行之前或者运行完毕之后,所有名字都将不存在。如果在函数外部使用函数内部定义的变量,就会出现抛出NameError异常。例如,定义一个名称为f_demo()的函数,在该函数内部定义一个变量message(称为局部变量),并为其赋值,然后输出该变量,最后在函数外部再次输出message变量。10.6.1局部变量10.6.2全局变量与局部变量对应,全局变量为能够作用于函数内外部的变量。全局变量主要有两种情况:在函数的外部定义和内部定义添加global关键词变成全局变量。如果一个变量在函数外部被定义,那么它不仅可以在函数外部被访问到,而且也可以在函数内部被访问到。如果一个变量在函数内部定义,添加关键词global后,该变量就变成了全局变量。在函数的外部也可以访问到该变量,同时还可以在函数的内部进行修改。例如,定义一个全局变量message,然后定义一个函数,最后在该函数内部输出全局变量message的值。本章小结本章用通俗的语言和实例介绍了函数,通过认识函数讲解了函数如何运行,定义函数和调用

温馨提示

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

评论

0/150

提交评论