Python程序设计-第4章-Python函数定义与使用.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Python程序设计-第4章-Python函数定义与使用.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 程序设计 函数 定义 使用
- 资源描述:
-
1、PythonPython4PythonPython函数定义函数定义与使用与使用第章本章内容本章内容4 4.1.1 定义函数定义函数4.24.2 函数调用函数调用4.3 4.3 匿名函数匿名函数4.4 4.4 函数的变量函数的变量本章小结本章小结4.1 定义函数定义函数v 函数是可重用的程序代码段,用于在程序中分离不同的任务,使用函数可以提高编程效率。v 在Python程序开发过程中,将完成某一特定功能并经常使用的代码编写成函数,放在函数库(模块)中,在需要使用时直接调用,这就是程序中的函数。v 合理的函数规划不但可以使程序容易编写、阅读、调试、修改与维护,还充分体现着程序开发人员解决问题思路的
2、清晰性、严密性。v 在Python语言中,通常包括内置函数、标准库函数、第三方库函数及用户自定义函数。4.1 定义函数定义函数v 4.1.1 定义函数v 函数定义的基本形式如下:def 函数名(形式参数列表):#形式参数可以有0到多个函数体return 表达式或数值#不是所有函数都必须该语句v 函数定义的第一行称为函数签名,函数签名由关键字def开始,并指定函数名称以及函数的每个形式参数变量名称。4.1 定义函数定义函数v 注意:使用def关键字进行函数的定义,不用指定函数返回值的类型。定义函数时,可以声明函数的参数,形式参数的个数可以是多个,也可以没有,多个形式参数之间用逗号隔开。同样地,函
3、数参数也不用指定参数类型。函数体是复合语句,函数体语句需要采用缩进书写规则。如果函数有返回值,返回值是通过函数体中的return语句获得的,return语句可以在在函数体内任何地方出现,表示函数调用执行到此结束;如果没有return语句,会自动返回空值(None),如果有return语句但return后面没有接表达式或者值得话也是返回None值。4.1 定义函数定义函数v 4.1.2 函数调用v 当调用一个函数时,程序的控制权会转移到被调用的函数中,执行被调用函数中的语句实现具体的功能。但执行完该被调函数,程序的控制权又回到调用函数中。v 调用函数时,可以根据需要指定实际传入的参数值。函数的调
4、用语法格式如下:函数名(实际参数列表)4.1 定义函数定义函数v 注意:函数名是当前作用域中已经存在的函数,存在的函数可以是内置函数、标准库函数或用户自定义的函数。另外,调用函数应该位于定义函数之后,否则程序会报错。实际参数列表必须与函数定义的形式参数列表一一对应。函数调用是表达式。如果函数有返回值,可以在表达式中直接使用;如果函数没有返回值,则可以单独作为表达式语句使用。4.1 定义函数定义函数v 4.1.3 函数的返回值v 函数使用return语句带回返回值,该返回值由函数名带回,并结束函数的执行。不论return语句出现在函数的什么位置,一旦得到执行将直接结束函数的执行。v 如果函数没有
5、return语句或者执行了不返回任何值的return语句,Python将认为该函数以return None结束,即返回空值。也可以将Lambda表达式作为函数的返回值,关于Lambda表达式将在后面的章节中介绍。4.1 定义函数定义函数v 4.1.4 导入模块v Python语言中,包含Python代码的源文件称为模块,模块内部能定义函数、类和变量。v 模块能够有逻辑地组织Python代码段,把相关的代码分配到一个模块里能让代码更好用,更易懂。模块里包含用户自定义的函数、类和变量,其扩展名是“.py”。v Python中的模块和C语言中的头文件以及Java中的包很类似,比如在Python中要调
6、用sqrt函数,必须用import关键字引入math这个模块。4.1 定义函数定义函数v 在Python中,用关键字import来导入某个模块。方式如下:import 模块名v 在调用模块中的函数及变量时,可以这样调用:模块名.函数名(实参列表)模块名.常量名4.1 定义函数定义函数v 当在程序中导入一个模块,Python解析器对模块位置的搜索顺序是:v 1)当前目录;v 2)在PYTHON PATH环境变量下的每个目录;v 3)安装过程决定的默认目录。v 模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录、PYTHON PATH环境变量下的每个目录和安装过程决定的
7、默认目录。4.2 函数参数函数参数v 在C语言中,调用函数时必须依照函数定义时的参数个数以及类型来传递参数,否则将会发生错误,这个是严格进行规定的。但是在Python中函数参数定义和传递的方式相比而言就灵活多了。v 函数的参数有很多种,主要可以分为普通参数、默认值参数、关键字参数、可变长度参数等。另外在函数定义时对参数的设置也很灵活,在定义函数时不需要指定形式参数的类型,形参的类型完全由调用者传递的实参类型以及Python解释器的理解和推断来决定;同样也不需要指定函数的返回值类型,这将由函数中的return语句来决定。4.2 函数参数函数参数v 函数参数有形式参数(形参)和实际参数(实参)的区
8、别。在函数定义里关键字def定义函数时函数名后面括号里声明的参数是形参,形参的个数可以为0个或多个,如果没有形参,声明函数时函数名后的括号也不能够省略,当形参的个数多于1个时各参数之间用逗号隔开。v 函数调用时在函数名后括号中提供的数值为实际参数,在调用函数时,将实参的值传递给形参,函数中参与运算等操作的数据是实参,所以只有函数的实参才是正真起作用的值,而函数的形参不代表任何具体的值,仅仅是为了实现函数的某种功能。4.2 函数参数函数参数v 4.2.1 位置参数v 在调用函数时,需要将实参值传递给形参,在函数内使用实参的值代替形参进行运算。v 实参有2种类型:位置参数和关键字参数,即函数实参是
9、作为位置参数和关键字参数被传递的。v 当使用位置参数时,实参必须和形参在顺序、个数和类型上意义匹配。前面的实例中函数调用中使用的均是位置参数。4.2 函数参数函数参数v 4.2.2 默认值参数v 默认值参数在于它能够给函数参数提供默认值,在定义函数时,Python支持默认值参数,即在定义函数时为形参设置默认值。v 调用带有默认值参数的函数时,可以不用为设置了默认值的形参传值,此时函数将会直接使用函数定义时所设置的默认值。在调用函数的时候也可以对默认值参数设置实参值,则将实参的值传递给该形参。设置默认值参数的格式为:def 函数名(形参名1=默认值1,形参名2=默认值2,)4.2 函数参数函数参
10、数v 4.2.3 关键字参数v 在Python中还有一种是通过参数名来匹配的,不需要严格按照参数定义时的位置来传递参数,这种参数叫做关键字参数。v 关键字参数主要指调用函数时的参数传递方式,而与函数定义无关。通过关键字参数可以按参数名字传递值,实参顺序可以和形参顺序不一致,但不会影响参数的传递结果,避免了用户要牢记参数位置和顺序的麻烦,使得函数的调用和参数传递更加灵活方便。4.2 函数参数函数参数v 4.2.4 可变长度参数v 一般情况下在定义函数时,函数参数的个数是确定的,但是在编程的过程中,可能会遇到函数参数个数不固定的情况。这时就需要使用可变长度的函数参数来实现其功能。v 比如编写一个函
展开阅读全文