项目4 函数与模块(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)

2024-08-02
| 37页
| 86人阅读
| 13人下载
普通

内容正文:

筐鱼梧领凤峡匪跑脚凡辅乒踪勿久褂舟婴袭剪肚爹伦甄啸镣娟附卉态再骂广东农工商职业技术学院PPT模板-精美原创毕业论文答辩广东农工商职业技术学院PPT模板-精美原创毕业论文答辩 项目4 函数与模块 目录 | CONTENT 1 项目介绍 2 项目目标 3 项目准备 4 项目实施 项目介绍 项目背景 程序设计语言中,函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。前面项目已经接触了一些Python提供的内建函数,比如print()。可以将函数视为一段有名字的代码,这类代码在需要的地方以“函数名()”的形式调用。 用户也可以自己创建函数,这被叫做用户自定义函数。功能设计优秀的函数能提高应用的模块性,和代码的重复利用率。 项目介绍 项目规划 01 熟练Python 函数的定义和调用方法 02 掌握各类参数,熟悉参数传递过程 03 熟悉Python模块和包的概念及使用方法 目录 | CONTENT 1 项目介绍 2 项目目标 3 项目准备 4 项目实施 项目目标 知识目标 1 熟悉Python函数的概念 2 掌握Python函数参数传递和返回值的原理 3 熟悉模块、包的概念 项目目标 能力目标 1 掌握Python函数的定义和调用方法 2 熟练掌握参数的定义、传递方法,返回值的使用方法 3 正确使用import进行包的相关操作 目录 | CONTENT 1 项目介绍 2 项目目标 3 项目准备 4 项目实施 项目准备 1. 函数的定义 数是为实现一个特定功能而组合在一起的语句集,可以用来定义可重用代码、组织和简化代码。函数定义格式如下: def 函数名(形式参数): 函数体 项目准备 2. 函数的调用 函数在定义时只是决定了函数的形式和功能。直到函数被调用时,函数才会被执行。调用函数的方式非常简单,其语法形式如下所示: 函数名([参数列表]) 项目准备 3. 形参与实参 在函数定义中,函数名后面括号中列出的参数称为形式参数,简称形参。如果形参的个数超过1个,各参数之间用逗号隔开。在定义函数时,函数的形参不代表任何具体的值,只有在函数调用时,才会有具体的值赋给形参。调用函数时传入的参数称为实际参数,简称实参。 项目准备 4. 函数的返回值 函数的执行结果通过返回语句return返回给调用者。函数调用时的参数传递实现了从函数外部向函数内部输入数据,而函数的返回则解决了函数向外部输出信息的问题。如果一个函数的定义中没有return语句,系统将自动在函数体的末尾插入return None语句。 # 定义函数circle2,返回圆的面积 def circle2(r): #函数定义,r为形参 area=3.14*r*r return area # 为返回值   #主程序 r=3 area=circle2(r) #函数调用,r为实参 print("半径为",r,"的圆面积为:",area) 项目准备 5. 特殊形式的参数 当调用函数时,需要将实参传递给形参。 参数传递时有两种方式:位置参数和关键参数。位置参数是指按照参数的位置来传递,关键参数是指按照参数赋值的形式来传递。当使用位置参数时,实参和形参在顺序、个数和类型上必须一一匹配。在函数调用中,通过“变量名=值”的“键-值”形式将实参传递给形参,使得参数可以不按顺序来传递,让函数参数的传递更加清晰、易用。采用这种方式传递的参数称为关键参数。 1) 位置参数与关键参数 项目准备 5. 特殊形式的参数 数的形参可以设置默认值。这种形参通常称为默认参数。Python允许定义带默认参数的函数,如果在调用函数时不为这些参数提供值,这些参数就使用默认值;如果在调用时有实参,则将实参的值传递给形参,形参定义的默认值将被忽略。具有默认参数值的函数定义格式如下: 2)默认参数 def 函数名(非默认参数, 形参名=默认值, ……): 函数体 项目准备 5. 特殊形式的参数 在Python中,函数可以接收不定个数的参数,即用户可以给函数提供可变长度的参数。这可以通过在形式参数前面使用标识符“*”来实现。 3)可变长参数 #函数定义 def all_1(*args): print(args) #不管传递几个参数到args,都是将接收的所有参数按照次序组 合到一个元组上。 #主程序 all_1("a") #程序运行结果 ('a',) all_1("a",2) #程序运行结果 ('a', 2) all_1("a",2,"b") #程序运行结果 ('a', 2, 'b') 项目准备 6. 模块 按照代码功能的不同,将代码分门别类地放在不同的脚本文件中,这些脚本文件就称为是模块(Module)。用户一旦创建了一个Python源文件,就可以作为一个模块来使用,其不带后缀的.py的文件名就是模块名。 项目准备 7. 包 为了方便管理,通常将程序文件(模块)以特定目录的形式进行打包。作为包的目录中必须至少包含一个名为__init__.py的文件,也可以包含一些模块文件和作为子包的子目录。作为子包的子目录中同样至少包含一个名为__init__.py的文件。文件__init__.py的内容可以为空。__init__.py文件的主要作用为: (1)作为python中包与普通目录的区别标识; (2)编写代码,定义类、函数、变量等对象; (3)定义__all__变量来确定采用from moduleName import *时导入的模块名称。 项目准备 8. 库及其安装 标准库 第三方库 项目准备 9. 模块的__name__属性 每个模块都有一个__name__属性(注意__name__两端各有两个下划线),该属性保存当前模块执行过程中的名称。当一个程序模块独立运行时,该__name__属性自动被赋予值为__main__的字符串。如果一个程序模块被其他程序通过import导入使用,则其__name__属性自动被赋予值为模块名(文件名)的字符串。因此,可以通过在模块中增加语句“if __name__=='__main__' :”来判断模块当前的运行状态。 目录 | CONTENT 1 项目介绍 2 项目目标 3 项目准备 4 项目实施 项目实施 任务4.1 猴子补丁 为了解决原有系统的bug,或者增加新的功能,需要对系统进行打补丁。补丁分为冷补丁和热补丁两种:冷补丁就是使用具有新功能的安装包,重新安装系统。热补丁是在不重新安装大版本的情况下,通过改变原有函数代码地址的方式,更新系统功能。 建立 “MonkeyPatch.py”文件,用于编写Python实验程序。 编写任务代码 项目实施 任务4.1 猴子补丁 def Sum(a,b): # 定义函数Sum print('Sum函数被调用!') # 通过输出信息以知道哪个函数被调用 return a+b # 将a和b的求和结果返回 def NewSum(*args): # 定义函数NewSum print('NewSum函数被调用!') # 通过输出信息以知道哪个函数被调用 s=0 # s用于保存求和结果,初始赋为0 for i in args: # i取传入的每一个参数值 s+=i # 将i加到s上 return s # 将保存求和结果的s返回 Sum=NewSum # 将NewSum赋给Sum,后面再调用Sum函数, 实际上就是执行NewSum函数 print(Sum(1,2,3,4,5)) # 调用Sum函数(实际是执行NewSum) 计算1至5的和并输出 执行程序 用鼠标右键单击右侧编辑窗口,在菜单中选择“Run ‘python主程序所在文件名’”一项执行编写好的Python程序,本次实验文件名为“MonkeyPatch”。 将在屏幕上输出结果 项目实施 任务4.1 猴子补丁 项目实施 任务4.2 第三方模块的获取与安装 Python是一个流行的开源项目,许多第三方开发者也将其开发的功能开放、供其他开发者在开源协议下免费使用。第三方模块的获取与安装有多种方法,其中最推荐的一种方法是使用pip工具。 本任务以用于科学计算的numpy模块的安装为例,介绍pip的使用方法。 项目实施 任务4.2 第三方模块的获取与安装 选择Windows 开始菜单,在“搜索程序和文件”框中输入CMD,按回车键,打开命令行控制台窗口。在命令行窗口中输入Python命令,按回车键,进入Python交互式解释器。此时用户可以在提示符>>>下输入命令或调用函数,以命令行的方式交互式地使用Python解释器 项目实施 任务4.2 第三方模块的获取与安装 在提示符>>>下输入:import numpy,此时会得到如下错误信息: 项目实施 任务4.2 第三方模块的获取与安装 在提示符下输入exit(),退出Python解释器 项目实施 任务4.2 第三方模块的获取与安装 确保系统联网,在控制台下输入pip install numpy。系统就会自动下载安装包并完成安装 项目实施 任务4.2 第三方模块的获取与安装 再次输入Python,进入Python解释器,并输入import numpy,系统不再报错,表示模块导入成功 课后练习与技能训练 一、填空题 Python语言中使用函数分为两个步骤:定义函数和 。 Python语言中函数定义需要使用 关键字。 是定义函数时函数名后面的一对小括号中给出的参数列表。 是在调用函数时函数名后面的一对小括号中给出的参数列表。 能够将一个函数的运算结果返回到调用函数的位置,以使得可以继续用该运算结果再去参与其他运算,此时则应使用 语句。 练习 课后练习与技能训练 一、填空题 6. 使用 将整个模块导入,也可以使用 将模块中的标识符直接导入当前环境, 7. 可以使用from 模块名 import 的方式导入一个模块中的所有标识符。 8. 定义一个包,就是创建一个文件夹并在该文件夹下创建一个 文件,文件夹的名字就是包名。 9. 是指在运行时动态替换已有的代码,而不需要修改原始代码。 练习 课后练习与技能训练 二、选择题 1.下列说法中错误的是() 当调用函数时,如果没有为某些形参传递对应的实参,则这些形参会自动使用默认参数值 在使用关键字参数调用函数时,实参的传递顺序可以与形参列表中形参的顺序必须一致 当普通实参传递给形参后,如果在函数体中对形参值做修改,则该修改并不会影响实参,即实参值不会改变。 如果实参是列表等对象时,可在函数体中通过形参修改实参列表中对应元素的值。 练习 课后练习与技能训练 二、选择题 2.下列关于拆分参数列表的说法正确的是() A.列表、元组拆分出来的结果作为位置参数,字典拆分出来的结果作为关键字参数 B.列表、元组和字典拆分出来的结果都作为关键字参数 C.列表、元组和字典拆分出来的结果都作为位置参数 D.列表、元组拆分出来的结果作为关键字参数,而字典拆分出来的结果作为位置参数 练习 课后练习与技能训练 三、简答题 1.写出下面程序段的输出结果。 练习 def ModifyVal(x,y): z=x x=y y=z def ModifyListElement(ls,idx,val): ls[idx]=val a,b=3,5 print(a,b) ModifyVal(a,b) print(a,b) c=[7,8,9] print(c) ModifyListElement(c,1,6) print(c) 课后练习与技能训练 三、简答题 2.写出下面程序段的输出结果。 练习 def CircleInfo(radius, color='red'): print('半径:%d,颜色:%s'%(radius,color)) CircleInfo(10) CircleInfo(20, color='green') CircleInfo(color='blue', radius=30) 课后练习与技能训练 三、简答题 函数Sum的功能是求参数的和并返回, 参数个数不限。请将程序填写完整。 练习 def Sum(*args): s=0 for i in : s+=i return print(Sum(1,2,3,4,5)) 课后练习与技能训练 三、简答题 4. 已知模块文件arithmetic.py的内容为: def plus(x,y): return x+y def multi(x,y): return x*y 编写程序,将模块导入,调用其中的函数,请将程序填写完整。 使用import导入: 练习 import arithmetic print( (3,5)) print( (5,6)) 使用from import依次导入函数: print(plus(3,5)) print(multi(5,6)) 使用from import所有标识符: from arithmetic import * print( (3,5)) print( (5,6)) $$

资源预览图

项目4  函数与模块(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
1
项目4  函数与模块(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
2
项目4  函数与模块(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
3
项目4  函数与模块(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
4
项目4  函数与模块(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
5
项目4  函数与模块(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。