《《Python基础案例教程》第5章 Python函数模块.pptx》由会员分享,可在线阅读,更多相关《《Python基础案例教程》第5章 Python函数模块.pptx(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Python基础案例教程第5章 Python函数模块PythonPython基础案例教程基础案例教程(微课版)(微课版)第第5 5章章 PythonPython函数模块函数模块第第5 5章章 PythonPython函数模块函数模块函数是Python语言中的基本模块,对于需要重复使用的代码块,将它们以函数的形式组织在一起,可以大大提升编程效率。Python中很多内置函数如print()、input()等,除此之外,类似面积的计算、二元一次方程的求解、特定格式的输出等等也都可定义为函数。内置函数和自定义函数使得Python代码结构更加简洁清晰,易于维护。本章除了可以学习Python的函数之外,还
2、将介绍模块的使用,包括模块的调用和封装等。教 学 内 容01 函数02 模块目录目录CONTENTS第第5 5章章 PythonPython函数模块函数模块第第5 5章章 PythonPython函数模块函数模块函数其实就是能够实现某个功能,相对独立的代码块。编写程序时,提前定义好函数,在程序中就可以重复调用,从而降低代码的重复率,大大提高编程效率。Python中函数主要包括内置函数和自定义函数两种。5.1 函 数本课知识点 (1)sorted()排序函数5.1.1 5.1.1 内置函数内置函数sorted()函数有3个参数,其中iterable是要排序的对象,key参数可以自定义排序的规则,
3、而reverse参数默认值为False,表示按升序排序,当reverse参数值为True时,表示按降序排序。本课知识点 (2)enumerate()函数5.1.1 5.1.1 内置函数内置函数enumerate()也是内置函数,它的作用是将一个序列转变为一个索引序列,新的序列包含了原来列表中的元素的值及其索引。秋高气爽,学院要举办秋季运动会,投掷组裁判员王青松希望能有一个程序,在投掷比赛时,输入所有参赛运动员的成绩后,就能自动打印该项目的获奖名单。你能帮他编写程序,实现这样的效果吗?案例分析5.1.1 5.1.1 内置函数内置函数案例1 打印获奖名单案例分析“案例1 打印获奖名单”算法流程图5
4、.1.1 5.1.1 内置函数内置函数“案例1 打印获奖名单”代码案例分析“案例1 打印获奖名单”测试结果5.1.1 5.1.1 内置函数内置函数拓展阅读1 内置函数函数名功能示例abs()取绝对值abs(2)2,abs(-2)2min()找出最小的数min(4,8,12,5,16)=4max()找出最大的数max(3,7,4,2,11)=7int()取整数或转换为整数类型int()=0,int(4.8)=4,int(4)=4ord()返回字符对应的ASC II 值ord(A)=65,ord(*)=42list()将元组转换成列表t=(2,9,4),list(t)=2,9,4表5.1 Pyth
5、on常见内置函数5.1.1 5.1.1 内置函数内置函数拓展阅读2operator 模块表5.2 operator 模块常用函数5.1.1 5.1.1 内置函数内置函数函数功能示例add()加add(3,5)=8mul()乘mul(3,5)=15mod()取模mod(3,5)=3neg()取负neg(3)=-3,neg(-3)=3lt()小于lt(3,5)=True ge()大于等于ge(3,5)=False拓展阅读3itemgetter()函数5.1.1 5.1.1 内置函数内置函数operator 模块中的itemgetter()函数,它的作用是获取对象指定对位置的数据。使用sorted(
6、)函数对a列表进行排序时,排序时按照自定义的规则(key=itemgetter(1)),即按列表a中的每个元素中第1个位置上的数值进行排序。课后练习1阅读程序,写出结果。5.1.1 5.1.1 内置函数内置函数2完善程序,并写出运行结果。请在横线处填写合适的代码,输入两个数字,求出它们的最大因数。输入数字 44和32,输出的结果为:3编写程序,求出图中阴影部分的面积。本课知识点 (1)定义函数的方法5.1.25.1.2定义函数定义函数def 函数名(参数):函数体return 返回值说明:调用函数时,参数和返回值可以没有,但是函数名后面的小括号和冒号必须有。本课知识点 (2)定义函数的语法规则
7、5.1.25.1.2定义函数定义函数 函数包括函数名、参数、函数体和返回值几部分,它在定义时,要遵循一定的语法规则。def开头:函数以def关键词开头,后面紧跟着函数名、小括号和冒号;参数:参数必须放在小括号内,可以是一个参数,也可以是多个参数,参数列表中间用逗号隔开。函数体:函数的内容要使用缩进来表示语句属于函数体。返回值:函数结束时,一般会返回一个值,可以是任意一种类型的数据,也可是表达式。如果没有返回值,默认就是返回None。在学习数学几何知识时,已知圆柱体的底面半径和高,就能求出圆柱体的表面积和体积。如果能自定义一个函数,设置函数的参数为圆柱体的半径和高,用户输入任意半径和高,通过函数
8、就能自动返回要求的结果。案例分析案例2 求圆柱体的表面积和体积5.1.25.1.2定义函数定义函数案例分析“案例2 求圆柱体的表面积和体积”算法流程图5.1.25.1.2定义函数定义函数案例分析“案例2 求圆柱体的表面积和体积”代码5.1.25.1.2定义函数定义函数案例分析“案例2 求圆柱体的表面积和体积”测试结果5.1.25.1.2定义函数定义函数拓展阅读1形式参数与实际参数5.1.25.1.2定义函数定义函数Python语言中,参数是函数的重要组成部分。如图所示,函数参数分为形式参数和实际参数,简称形参和实参。在定义函数时小括号中的参数都是形参。在主程序中调用函数时,代入的参数是实参。拓
9、展阅读2必须参数与默认参数5.1.25.1.2定义函数定义函数必须参数是调用函数时必须传入的参数,而且在调用时参数的数量和顺序要和定义时一致。而默认参数是在定义函数时,给参数添加一个默认值。调用函数时默认参数可以不传入任何值,此时函数就会使用参数的默认值,但是要注意默认参数在定义时必须放在最后。拓展阅读3round()函数5.1.25.1.2定义函数定义函数Python语言中的round()函数的作用是对浮点数取近似值,同时还可以设定保留几位小数。课后练习1阅读程序,写出结果。2完善程序,并写出运行结果。输入一个十进制正整数,求出它各数位上数字的和。请在横线处填写合适的代码,完成程序的编写,写
10、出程序运行结果,并上机验证。输入数字15,则输出的结果:5.1.25.1.2定义函数定义函数输出的结果为:输入数字100,则输出的结果:课后练习3编写程序,自定义一个函数,求字典中值最大的元素。利用自定义的函数找出下面A组中身高最高的人。5.1.25.1.2定义函数定义函数A=李明:1.73,王强:1.68,金星:1.83,孙国涛:1.75本课知识点 (1)变量的作用域5.1.35.1.3 调用函数调用函数程序中的变量能起作用的范围,就是它的作用域。一般情况下,在函数内部声明的变量,它的作用域就限于函数内部,不能在函数外部访问,我们称这样的变量叫局部变量。而定义在函数外部的变量,它的作用域是整
11、个程序,这样的变量叫全局变量。本课知识点 (2)global语句global 变量名例:a=1 def fun():global aa=4 fun()prin(a=,a)运行结果:a=4说明:在函数内部用global 语句声明变量a为全局变量后,那么在函数内部就可以改变全局变量的a的值了。5.1.35.1.3 调用函数调用函数方舟子给自己的电脑设置了密码“abc123”,但是他觉得还不够安全。请你帮他设计一个预防恶意登录的程序,登录时如果输入密码连错三次,就会提示“此账号已被冻结,请10分钟后再登录!”案例分析案例3 预防恶意登录5.1.35.1.3 调用函数调用函数案例分析“案例3 预防恶意
12、登录”算法流程图5.1.35.1.3 调用函数调用函数案例分析“案例3 预防恶意登录”代码5.1.35.1.3 调用函数调用函数案例分析“案例3 预防恶意登录”测试结果5.1.35.1.3 调用函数调用函数拓展阅读1函数有返回值Python语言中,调用函数完成指定的功能后,如求值计算,需要使用return语句返回求值的结果,这个结果就是返回值。如图所示,返回值的类型可以是数字、字符串、列表等,也可以是一个表达式。5.1.35.1.3 调用函数调用函数拓展阅读2函数无返回值 有时候函数也可以没有返回值,如上所示,它可以是一组打印操作。当没有任何返回值的时候,会返回一个空值None。5.1.35.
13、1.3 调用函数调用函数课后练习1阅读程序,写出程序运行结果,并上机验证。2编写程序,利用函数计算1n的和。输入a和b的值分别为3和5,输出结果为:5.1.35.1.3 调用函数调用函数第第5 5章章 PythonPython函数模块函数模块在Python语言中,在一个程序里可以调用函数来实现某个特定的功能,如果有多个程序都需要用到同一个或同一系列函数,则可以将这些函数存储在一个独立的文件里,也就是模块里,以供其他程序导入使用。Python提供了很多内置的模块,如前面使用过的operator运算符模块,当然也可以自己定义并封装一个模块,方便导入调用。5.2 模 块本课知识点 (1)导入整个模块
14、5.2.1 5.2.1 调用模块调用模块当上述代码运行时,首先导入time时间模块,即打开time.py文件,程序中的print(time.strftime(%Y-%m-%d)语句调用了获取时间函数strftime()。调用时用了模块名time和函数名strftime,中间用点“.”分隔。import 模块名模块名.函数名()如 import time#导入时间模块 print(time.strftime(%Y-%m-%d)#按照指定的年月日格式打印输出:2020-05-05本课知识点 (2)random()函数5.2.1 5.2.1 调用模块调用模块random()函数的作用是随机生成一个大
15、于等于0,小于1的实数。import random random.random()如 import random print(random.random()运行结果:0.1124064801518655学校元旦联欢会,为了鼓励同学们积极参与,设定了抽奖环节,只要表演节目或是参加游戏的同学就可以得到一次抽奖机会,百分百中奖。因此特别请了计算机系的李小华同学编写了这样一个随机抽奖程序。案例分析案例4 随机抽奖游戏5.2.1 5.2.1 调用模块调用模块案例分析“案例4 随机抽奖游戏”算法流程图“案例4 随机抽奖游戏”代码5.2.1 5.2.1 调用模块调用模块案例分析“案例4 随机抽奖游戏”测试结
16、果5.2.1 5.2.1 调用模块调用模块拓展阅读1fromimport导入模块中指定函数Python语言除了可以导入整个模块文件之外,也可以使用fromimport 语句导入模块中的一个或多个指定函数。在本例程序中,使用了from random import random 语句,就仅仅导入了random模块中的random函数,在调用random函数时可以不用在函数名前加上模块名,语句直接写为num=random()。5.2.1 5.2.1 调用模块调用模块拓展阅读2sys模块 sys模块是Python语言中很常用的模块,它提供了许多用于操作Python运行环境的函数和变量。函数功能sys.
17、argv获取正在执行的命令行参数的参数列表sys.exit(0)表示退出程序sys.maxsize获取最大的Int值sys.platform返回操作系统的名称表5.3 sys模块常用函数5.2.1 5.2.1 调用模块调用模块拓展阅读3random模块random模块在程序中也很常用,它可以生成随机浮点数、整数、字符串等。表5.4 random模块常用函数5.2.1 5.2.1 调用模块调用模块函数功能random.random()随机生成一个浮点数random.uniform()在指定范围内随机生成一个浮点数random.randint()在指定范围内随机生成一个整数random.choic
18、e()从任意一个序列里随机选取一个元素返回random.shuffle()将一个序列中的元素随机打乱课后练习1连线题,阅读程序,请将语句与其可能的运行结果用直线连起来。2编写一个猜数游戏的程序。计算机随机生成一个110之间的整数a,用户通过键盘输入所猜想的数字,如果大于a,就显示“大了!”,如果小于就显示“小了!”,直到猜中为止。猜中后显示“经过n次,你终于猜中了,恭喜你!”。5.2.1 5.2.1 调用模块调用模块本课知识点 (1)封装模块5.2.2 5.2.2 封装模块封装模块封装模块其实就是将多个函数的封装放在一个扩展名为“.py”文件中,模块的名称就是文件的名字。在编写其他程序时可以使
19、用import语句导入自定义模块,导入的方法和导入标准库模块一样。本课知识点 (2)模块文件中的注释文件中定义了一个打印分隔符的函数,供其他文件调用。在定义模块的时候,一般会在文件最前面加上几行注释,前面2行是标准注释,图中第1行是表示当前定义的模块可以直接在Unix/Linux/Mac上运行,第2行注释表示当前文件所使用的是标准UTF-8编码。#!/usr/bin/env python3#-*-coding:utf-8-*-def printline(n):print(-.format(n)5.2.2 5.2.2 封装模块封装模块在编写数学相关的程序时,经常会遇到求各种形状面积的计算的问题,
20、你能不能自己编写一个模块文件,包含各种形状的面积计算函数,如三角形、矩形、圆形、梯形等,以便于其他程序调用。案例分析案例5 常见形状的面积计算5.2.2 5.2.2 封装模块封装模块案例分析“案例5 常见形状的面积计算”算法流程图5.2.2 5.2.2 封装模块封装模块案例分析自定义模块文件 shapeArea.py 代码 主程序“案例5 常见形状的面积计算.py”代码5.2.2 5.2.2 封装模块封装模块案例分析“案例5 常见形状的面积计算”测试结果5.2.2 5.2.2 封装模块封装模块拓展阅读1模块的分类 Python的模块通常有三种,第一种是系统自带的模块,Python系统内置了20
21、0多个模块,这些内置的模块统称为标准库;第二种是第三方模块,Python还有大量的第三方模块,如Pillow(图像处理模块)、requests(处理网络资源的模块)等,使用他人写好的模块,可以省去很多自己编写的麻烦,极大地提高了程序开发效率。第三种是自定义模块,也就是用户自己写的模块。自定义模块文件在使用时一般和主程序文件放在同一位置,这样在调用时就不用指明模块文件的所在路径。5.2.2 5.2.2 封装模块封装模块拓展阅读2模块文件名模块文件的扩展名是“.py”,主程序调用模块时需引用模块文件名。文件名只能由字母、数字和下划线组成,而且不能与Python关键字同名,也不能和系统内置的模块名重复。5.2.2 5.2.2 封装模块封装模块课后练习1阅读程序,写出结果。2编写程序。三角形的三条边是a,b,c(a,b,c三条边的值均大于0),若a2+b2=c2,则它是以c为斜边的直角三角形。请你定义一个模块文件,用上述方法判断其是否为直角三角形,并在主程序调用此模块,输入三角形三条边的值,打印出判断结果。5.2.2 5.2.2 封装模块封装模块输出结果为:THANKS FOR WATCHING