版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第13课Python的模块新知导入
今天我们学习利用Python的模块解决一些实际问题,那么什么是Python的模块?主要模块有哪些?怎样利用模块来解决问题呢?带着疑问我们就一块来学习吧!新知讲解使用函数可将代码块与主程序分离,使程序更加容易理解。还可将函数存储在称为模块的独立文件中,既可隐藏程序代码细节,又可在不同程序中重复使用函数。
模块(Module)是用来把函数、变量,以及其他东西组织成更大的、更强的程序。Python提供了大量模块,有些模块内置在Python之中,如用于数学计算的模块math;
有些模块需要单独下载,如用于科学计算的模块numpy。一、模块概念模块就是一个以.py结尾的独立的程序代码的文件,实现了特定的功能。在Python中,模块分为以下几种:1、系统内置模块:如math、random、time等。2、自定义模块:自定义模块是用户编写的模块,对某段逻辑或某些函数进行封装后,供其他程序调用。3、第三方的开源模块:如numpy、matplotlib等,可以通过pipinstall进行安装后调用。日积月累在自定义模块时,有几点要注意:(1)为了使IDLE能找到我们自定义模块,该模块要和调用的程序在同一目录下,否则在导入模块时会提示找不到模块的错误。(2)模块名要遵循Python变量命名规范,不要使用中文、特殊字符等。(3)自定义的模块名不要和系统内置的模块名相同,可以先在IDLE交互环境里先用“importmodel_name”命令检查,若成功则说明系统已存在此模块,然后考虑更改自定义的模块名。二、模块导入在Python中,模块中的函数不能直接使用,需要先导入。模块的导入主要有以下两种方法:导入整个模块文件,使用模块中的函数,格式如下:Import<模块>[as<别名>]<模块>.<函数名>()
这种导入模块的方法,相当于给导入的模块名称重新起一个别名,便于记忆,很方便地在程序中调用。from<模块>import<函数名><函数名>()导入模块中的指定函数,直接使用该函数,格式如下:函数名如果有多个,可用逗号“,”隔开。函数名可用通配符“*”导出所有的函数。
这种方法要慎用,因为导出的函数名称容易和其它函数名称冲突,失去了模块命名空间的优势。例如,计算2的平方根,先导人模块,再使用函数,如图所示。导入整个模块文件又如计算2的3次幂,导入指定函数后,就可以直接使用该函数,如图所示。只导入模块中指定函数使用dir()函数查看math模块内部的函数名模块导入后,可以使用内置函数dir()查看模块内部的函数名(以及类和常量标识符名称等),如图所示。日积月累三、常用内置模块math和randommath模块是Python提供的内置数学类模块,下表列出math模块中的2个常量和2个函数。1.math模块名称数学表示含义圆周率piππ的近似值,15位小数自然常数eee的近似值,15位小数pow(x,y)xy计算x的y次幂sqrt(x)ꇌ√x计算x的平方根random模块提供了不同类型的随机数函数,表13-2列出了常用的4个随机数生成函数。2.random模块名称含义seed(x)给随机数一个种子值,默认随机种子是系统时钟random()随机生成一个0至1(不含1)之间的实数uniform(a,b)随机生成一个a至b之间的实数randint(a,b)随机生成一个a至b之间的整数采用蒙特卡洛方法计算π的值。圆周率π是一个无理数,没有任何一个公式能够精确计算π值,π的计算只能采用近似算法。蒙特卡洛方法(MonteCarlomethod)也称统计模拟方法,是指使用随机数来解决计算问题的方法。四、Python模块的应用实例1.问题分析
首先构造一个单位正方形和1/4圆,如图所示。随机向单位正方形内抛洒大量“点”,而每个点可能在圆内或者在圆外。当随机点数量达到一定程度,在1/4圆内的点将构成其面积(S圆=π/4),全部点将构成正方形面积(S正=1)。此时,抛点落在圆内的概率(p),就是上述面积之比(P=S圆/S正=π/4)得到π=4p。随机点的数量越大,得到的一值越精确。根据上述分析,单位正方形内抛点的横坐标和纵坐标可通过随机函数产生。通过计算抛点到原点的距离(d)来判断该点是否落在圆内。若抛点落在圆内,则计数器(point)加1。2.设计算法随机向单位正方形内抛洒大量点(num),可通过循环实现。抛点落在圆内的概率为p=point/num其算法用流程图表示,如图所示。根据设计的算法,其程序代码如下所示。3.编写程序Importrandomimportmathnum=int(input("请输入投点数:"))point=0Foriinrange(1,num+1):xy=random.random(),random.random()dist=math.sqrt(x**2+y**2)if_dist<=1.0:point=point+1Pi=4*(point/num)print("Pi的值是:",Pi)程序中用到了random模块的random()函数和math模块的sqrt()函数。
按“F5”键,分别输人20000和20000000,运行结果如图所示。4.调试运行可见,投入的点越多,计算的一值越精确。immportp=[1,2,3,4,5,6]n=3print()然后,新建建“列表元素的循环左移”文lst_move.py,程序代码如下请填写空缺的代码。随堂练习1.程序填空。首先,自定义函数left(),并保存到模块文件move.py,如图所示。课堂小结总结本节课所学内容板书设计一、模块概念二、模块导入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宠物用品销售代理
- 造船行业安全生产总结
- 通讯行业助理岗位描述
- 旅游景点的卫生环境
- 大班新学期个人工作计划
- 心电监护室护士监测心电
- 2024土壤植株病虫害防治效果检测服务合同3篇
- 社会公益组织前台服务总结
- 高考新课标语文模拟试卷系列之43
- 丰乐亭记语文阅读理解
- 浙江大学实验报告(流体力学)
- 建龙资料备案正版表格
- 化工原理期末考试练习题及答案
- 解码万达商管运作架构:组织结构图、各部管理职责
- 走进无字书图书馆(课堂PPT)
- 网络安全运维培训测试题
- 民政部主管社团管理办法
- 内蒙古自治区重大建设项目档案验收实施细则
- 四方合作协议合同书(共4页)
- 防护设备操作手册
- 学前教育-幼儿园环境创设对幼儿创造力和审美性影响研究
评论
0/150
提交评论