浙教版信息技术八年级第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小时内删除。