浙教版信息技术八年级第13课Python的模块教学设计
课题 | Python的模块[来源:Zxxk.Com] | 单元 | 第三单元 | 学科 | 信息技术 | 年级 | 八年级 |
学习 目标 | 知识目标:理解模块的概念,掌握模块的导入及函数引用方法, 技能目标:掌握两个常用内置模块math和random。通过学习能够编写简单使用模块的应用程序。 情感目标:培养学生的创造性思维能力、探索精神,让学生体验成功的喜悦;。 | ||||||
重点 | 理解模块的概念,掌握模块的导入及函数引用方法;掌握两个常用内置模块math和random。 | ||||||
难点 | 通过学习能够编写简单使用模块的应用程序。 | ||||||
教学过程 | |||
教学环节 | 教师活动 | 学生活动 | 设计意图 |
导入新课 | 今天我们学习利用Python的模块解决一些实际问题,那么什么是Python的模块?主要模块有哪些?怎样利用模块来解决问题呢?带着疑问我们就一块来学习吧! | 思考并回答问题 | 激发学生学习兴趣并快速进入学习状态 |
讲授新课 | 使用函数可将代码块与主程序分离,使程序更加容易理解。 还可将函数存储在称为模块的独立文件中,既可隐藏程序代码细节,又可在不同程序中重复使用函数。 一、模块概念 模块(Module) 是用来把函数、变量, 以及其他东西组织成更大的、更强的程序 Python提供了大量模块, 有些模块内置在Python之中, 如用于数学计算的模块math; 有些模块需要单独下载, 如用于科学计算的模块numpy。 模块就是一个以.py结尾的独立的程序代码的文件,实现了特定的功能。 日积月累 在Python中, 模块分为以下几种:[来源:Zxxk.Com] 1.系统内置模块:如math、random、time等。 2.自定义模块:自定义模块是用户编写的模块,对某段逻辑或某些函数进行封装后,供其他程序调用。 3.第三方的开源模块:如numpy、matplotlib等, 可以通过pip install进行安装后调用。 在自定义模块时,有几点要注意: (1)为了使IDLE能到我们自定义模块,该模块要和调用的程序在同一目录下,否则在导入模块时会提示不到模块的错误。 (2)模块名要遵循Python变量命名规范,不要使用中文、特殊字符等。 (3)自定义的模块名不要和系统内置的模块名相同,可以先在IDLE 交互环境里先用“import model_name”命令检查,若成功则说明系统已存在此模块,然后考虑更改自定义的模块名。 二、模块导入 在Python中, 模块中的函数不能直接使用, 需要先导入。 模块的导入主要有以下两种方法: 导入整个模块文件,使用模块中的函数,格式如下: Import <模块> [as<别名>] <模块>.<函数名>() 这种导入模块的方法,相当于给导入的模块名称重新起一个别名,便于记忆,很方便地在程序中调用。 导入模块中的指定函数,直接使用该函数,格式如下: from<模块>import<函数名> <函数名>() 函数名如果有多个,可用逗号“,”隔开。 函数名可用通配符“*”导出所有的函数。 这种方法要慎用,因为导出的函数名称容易和其它函数名称冲突,失去了模块命名空间的优势。 例如,计算2的平方根,先导人模块,再使用函数,如图所示。 导入整个模块文件 又如计算2的3次幂,导入指定函数后,就可以直接使用该函数,如图所示。 只导入模块中指定函数 日积月累 模块导入后, 可以使用内置函数dir() 查看模块内部的函数名(以及类和常量标识符名称等),如图所示。 使用dir() 函数查看math模块内部的函数名 三、常用内置模块math和random 学python需要什么1.math模块 math模块是Python提供的内置数学类模块,下 表列出math模块中的2个常量和2个函数。 2.random模块 random模块提供了不同类型的随机数函数, 表13-2列出了常用的4个随机数生成函数。 四、Python模块的应用实例 采用蒙特卡洛方法计算π的值。 圆周率π是一个无理数,没有任何一个公式能够精确计算π值, π的计算只能采用近似算法。 蒙特卡洛方法(MonteCarlomethod) 也称统计模拟方法, 是指使用随机数来解决计算问题的方法。 1.问题分析 首先构造一个单位正方形和1/4圆,如图所示。 随机向单位正方形内抛洒大量“点”,而每个点可能在圆内或者在圆外 当随机点数量达到一定程度,在1/4圆内的点将构成其面积(S圆=π/4),全部点将构成正方形面积 (S正=1)。 此时,抛点落在圆内的概率(p),就是上述面积之比(P=S圆/S正=π/4)得到π=4p。 随机点的数量越大,得到的一值越精确。 2.设计算法 根据上述分析,单位正方形内抛点的横坐标和纵坐标可通过随机函数产生 通过计算抛点到原点的距离(d)来判断该点是 若抛点落在圆内,则计数器(point) 加1。 随机向单位正方形内抛洒大量点(num) ,可通过循环实现。 抛点落在圆内的概率为p=point/num 其算法用流程图表示,如图所示。 3.编写程序 根据设计的算法, 其程序代码如下所示。 Import random import math num=int(input("请输入投点数:") ) point = 0 For i in range(1, num+1) : x y=random.random(),random.random() dist=math.sqrt(x**2+y**2) if_dist<=1.0: point =point+ 1 Pi=4*(point/num) print("Pi的值是:", Pi) 程序中用到了random模块的random()函数和math模块的sqrt() 函数。 4.调试运行 按“F5”键,分别输人20000和20000000,运行结果如图所示。 可见,投入的点越多,计算的一值越精确。 随堂练习 1.程序填空。 首先, 自定义函数left() , 并保存到模块文件move.py,如图所示。 然后,新建 建“列表元素的循环左移”文lst_move.py, 程序代码如下请填写空缺的代码。 Immport ( ) p=[1,2,3,4,5,6] n=3 print( ) | 通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。 学生小组间讨论,共同完成任务。 通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。 学生小组间讨论,共同完成任务。 [来源:学科网ZXXK] 通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。 通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。 [来源:学*科*网] 学生小组间讨论,共同完成任务。 学生小组间讨论,共同完成任务,并分组汇报。 | 通过小组合作,加强学生组内团结、共同完成任务 培锻炼学生的语言组织能力和表达的能力。 加强学生组内团结、共同完成任务 [来源:学,科,网Z,X,X,K] 培锻炼学生的语言组织能力和表达的能力。 加强学生组内团结、共同完成任务 加强学生组内团结、共同完成任务 培锻炼学生的语言组织能力和表达的能力。 培养学生独立完成练习的能力。 |
课堂小结 | 分小组总结归纳,教师补充。 | 各组汇报总结,其他小组成员做补充。 | 锻炼学生的总结能力,逻辑思维、语言表达能力。 |
布置作业 | 1.运行下列语句,观察结果。 >>>import random >>>dir(random) >>>help(random) >>>random.random() >>>random.rand int(1, 10) | ||
板书 | 一、模块概念 二、模块导入 三、常用内置模块math和random 四、Python模块的应用实例 | ||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论