Python 的模块
课题
Python的
模块
单元
算法与程序
设计
学科信息年级八年级主备人时间
教学目标1、理解模块的概念,掌握模块的导入及函数引用方法。
2、掌握Python的两个常用内置模块math和random。
3、理通过实例,培养学生对模块应用的能力。
重点模块的概念,模块的导入及函数的引用。
难点模块的导入及函数的引用。
教学过程二次备课
一、知识回顾
回顾斐波那契数列实例
在实例中应用了几个内置函数:range() int() input() print()
可以将这些函数看成一件件工具,帮助我们完成实例工程。
为了方便调用,我们还自定义了一个fib()函数,帮助我们完成斐波
那契数列中第N个数,并且还可以方便后续的使用。
二、模块概念
随着我们自定义的函数越来越多,可以用复制粘贴的方法再次使用,
也可以将这些函数放在一个py文件中,也就相当于把我们制作好的
工具放在一个工具箱中,有需要的时候再拿出来使用。
这个存放工具的箱子就是——模块
★ 知识链接:
1、模块(module):用来把函数、变量,以及其他东西组织成更大
的、更强的程序。
2、模块是一个保存了Python代码的文件(.py)。
模块能定义函数,类和变量,也能包含可执行的代码。
3、模块的种类:
(1)内置模块,如math、random、time等;
(2)自定义模块,自己编写函数后封装;
(3)开源模块,numpy、matplotlib等,通过pip install安装。
思考:我们编写的程序也是保存为.py文件的,它和模块文件有区
别吗?
三、模块导入
内置函数可以直接使用,如int(),但是模块中的函数需要先导入模块才能使用里面的函数,如math模块中的sqrt()函数,必须先打开math模块工具箱,再拿出sqrt()函数工具使用。
这个过程我们称“模块导入”。
以math模块为例:
先介绍此模块中的常用函数,再以sqrt()为例介绍练习。
任务一:计算2的平方根
任务二:计算2的3次幂
pow()函数语法格式: pow(x, y)
说明:计算x的y次幂,功能同x**y
★ 日积月累:
内置函数dir()查看模块内部的函数名(以及类和常量标识符名称等)
四、常用内置模块math和random
(一)math模块
(二)random模块
五、应用:求圆周率π值
圆周率π是一个无理数,没有任何一个公式能够精确计算π值。
采用蒙特卡洛方法计算π值。
蒙特卡洛方法(Monte Carlo method),也称统计模拟方法,是指使
用随机数来解决很多计算问题的方法。
原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值。
它非常强大和灵活,又相当简单易懂,很容易实现。
对于许多问题来说,它往往是最简单的计算方法,有时甚至是唯一可行的方法。
它诞生于上个世纪40年代美国的“曼哈顿计划”,名字来源于赌城蒙特卡洛,象征概率。
一个正方形内部相切一个圆,圆和正方形的面积之比是: 42πr)
(πr S S 22正圆== 在这个正方形内部,随机产生num 个点(这些点服从均匀分布),计算它们与中心点的距离是否大于圆的半径,以此判断是否落在圆的内部。
此时,内切圆内的点数point 与正方形内的点数num 之比近似于内切圆面积与正方形的面积之比。
4πnum point =
统计圆内的点数point ,与num 的比值乘以4,就是π的值。
理论上,num 越大,计算的π值越精确。
(一)问题分析
构造一个单位正方形和1/4圆
投点落在单位正方形内随机均匀分布
(二)设计算法
通过随机函数随机产生一个投点(x, y ),使用勾股定理计算出投点到原点的距离: 22y x d +=。
若投点在扇形内,则计数器point
加1。
44141πr πr S S 22正
圆==
(三)编写程序
(四)调试运行
保存文件后,按F5运行程序。
◎拓展应用:time模块中perf_counter()函数能记录程序运行时间(单位:秒),尝试使用该函数统计程序运行所用的时间。