(高职)6.1 模块ppt课件.pptx

上传人:春哥&#****71; 文档编号:15317606 上传时间:2022-05-12 格式:PPTX 页数:11 大小:279.85KB
返回 下载 相关 举报
(高职)6.1 模块ppt课件.pptx_第1页
第1页 / 共11页
(高职)6.1 模块ppt课件.pptx_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《(高职)6.1 模块ppt课件.pptx》由会员分享,可在线阅读,更多相关《(高职)6.1 模块ppt课件.pptx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、6.1 模块PYTHON 程序设计丁辉 商俊燕 范晓玲第六章 使用别人的积木块模块与包u6.1 模块模块u6.2 包包u6.3 标准库标准库u6.4 模块与包应用精选案例模块与包应用精选案例u小结小结2022年5月12日36.1 模块2022年5月12日4编程,很多的时候要会使用别人的积木块来搭建自己的程序,站在巨人的肩上编程,将会做到事半功倍。Python语言的优点之一是免费开源,除自带丰富的模块外,有很多的编程爱好者,编写了大量功能强大的第三方库。用好Python自带的库和第三方库,是学习Python语言的基本目标。1. 模块 Python中的模块实际上就是包含函数、类、变量的程序文件,即

2、一个扩展名为.py的Python程序文件。我们可以在需要的时候,通过import将它引用过来。l模块导入 Python中提供了以下三种方式导入模块:(1)import 模块名(2)import 模块名 as 模块别名(3)from 模块名 import 函数名/子模块名/属性 每种导入方式,对于模块内方法和属性的调用是有区别。“import 模块名”方式导入时,调用方法和属性格式为“模块名.属性/方法”。“import 模块名 as 模块别名”方式导入时,使用“模块别名.属性/方法”调用。“from 模块名 import 函数名/属性/子模块名”方式导入,可以有针对性的导入某个函数或者是子模块

3、,直接调用相关的属性和方法,当然如果用“from 模块名 import *”则将导入模块的全部。2022年5月12日51. 模块(续)l模块导入示例 import math print(math.pi) #调用math模块的pi属性 print(math.pow(3,5) #调用math模块的pow()方法243.0 import math as shuxue print(shuxue.pi) from math import pow pow(3,5)243.0 math.piTraceback (most recent call last): File , line 1, in math.p

4、iNameError: name math is not defined from math import * 导入了math模块的全部属性和方法,因此math模块内的全部方法和属性都可以直接调用。 pi pow(2,3)8.0 sqrt(67)通过模块名调用属性、方法、子模块时,则会出现错误提示6.1 模块2022年5月12日62. 模块的路径Python自带的模块或者是第三方库,在安装时,系统自动将模块的存放路径记录在sys.path列表中,在导入时,Python解释器会根据sys.path记录的路径去寻找要导入的模块。那么自己编写的模块,如何能让解释器知道路径呢?有两种方法。第一种方法是

5、在sys.path列表里添加自己所写模块的路径;第二条方法是设置系统的环境变量,使其包含模块的路径。(1)列表里添加路径【例5-6】程序中调用了【例5-5】的函数,即通过“import eg5_5.py”把eg5_5.py模块导入到eg5_6.py中。在那里我们没有特别强调eg5_5.py的路径,是因为eg5_5.py和eg5_6.py在同一个路径下,所以Python解释器能够找到。如果eg5_5.py和eg5_6.py不在同一路径下,则需要将eg5_5.py的路径添加到sys.path列表中。现在eg5_5.py存放在“e:py_study”路径下,则eg5_6.py代码修改如下:#eg5_

6、6.py#导入sys模块import sys#sys.path列表里追加eg5_5.py的路径“d:python3.6”sys.path.append(“e:py_study)#导入eg5_5.py模块import eg5_5def evenDec(m): if m%2 =0 and m0: #range()的终止值是int(m/2)+1,不能超过此值,否则会有重复的输出 for i in range(3,int(m/2)+1): if i%2=1 and eg5_5.prime_judg(i) and eg5_5.prime_judg(m-i): print(%d=%d+%d%(m,i,m-

7、i)evenDec(34)6.1 模块2022年5月12日72. 模块的路径(续)(2)修改系统环境变量的值 在windows桌面上,右击“计算机”,选择“属性”命令; 在左图上点击“高级系统设置”,弹出“系统属性”对话框,点击“环境变量”即可进入右图所示的环境变量设置对话框; 在右图所示“新建系统变量”对话框中,变量名框输入“PYTHONPATH”,把“e:py_study”添加到“变量值”的列表中,点击“确定”结束环境变量的设置。6.1 模块2022年5月12日8【例5-6】的代码可以做如下修改。不需要修改sys.path列表的值,直接导入eg5_5.py模块即可。#eg5_6.py im

8、port eg5_5 def evenDec(m): if m%2 = 0 and m 0: #range()的终止值是int(m/2)+1,不能超过此值,否则会有重复的输出 for I in range(3,int(m/2)+1): if i%2=1 and eg5_5.prime_judg(i) and eg5_5.prime_judg(m-i): print(“%d=%d+%d”%(m,I,m-i)evenDec(34)6.1 模块2022年5月12日93. 命名空间 命名空间表示标识符的可见范围。标识符就是用来标识某个对象的,包括变量名、函数名、模块名、类名等。一个标识符可在多个命名空

9、间中定义,但它在不同命名空间中的含义是互不相关的。如有两个“刘卫东”同学在同一个学校不同的班级里,老师在各自的班级里点名时,直接喊“刘卫东”就可以了,自然就是本班的“刘卫东”同学,如果在全校点名时,就需要区分是哪个班的“刘卫东”了,这时候点名,需要采用“班级+刘卫东”的形式了。那么班级就是命名空间。 在Python中,每个模块都会维护一个独立的命名空间,在模块外使用标识符时,需要加上模块名。如math.pi,当然,也需要结合模块的导入方式,如果使用“from 模块名 import 函数名/属性/子模块名”方式导入时,一定要注意不同的模块里不要存在相同的标识符。6.1 模块2022年5月12日1

10、04. _name_属性 Python中为了区分代码块是单独运行,还是作为模块导入到另一个代码中进行运行,通过对模块的_name_属性值的判断来进行识别。 模块作为单独的程序运行时,_name_的属性值是“_main_”,而作为模块导入时,_name_属性的值就是该模块的名字了,因此,从现在开始,每个py程序文件中,如果有函数、类的定义,则都进行这样的判断。即增加一个if _name = _main_的判断。如【例5-5】的代码修改如下:#eg5_5_1.py#write by ding#2018-5-8import mathdef prime_judg(s): #由于range()不包含终值,所以要加1 for i in range(2,int(math.sqrt(s)+1): if s%i=0: break else: return True return False if _name_ = _main_: print(prime_judg(13)6.1 模块2022年5月12日11

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁