软件编程思想课件.ppt

软件编程思想课件.ppt

ID:57036196

大小:99.00 KB

页数:26页

时间:2020-07-27

软件编程思想课件.ppt_第1页
软件编程思想课件.ppt_第2页
软件编程思想课件.ppt_第3页
软件编程思想课件.ppt_第4页
软件编程思想课件.ppt_第5页
资源描述:

《软件编程思想课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第12章模块√模块概述√模块和文件√命名空间√导入模块√导入模块属性√模块内建函数包√模块的其他特性什么是模块当代码量变得相当大的时候,把代码分成一些有组织的代码段。这些代码片段相互间有一定的联系,可能是一个包含数据成员和方法的类,也可能是一组相关但彼此独立的操作函数。这些代码段是共享的,允许"调入"一个模块,实现代码重用.这个把其他模块中属性附加到你的模块中的操作叫做导入(import)。那些自我包含并且有组织的代码片断就是模块(module)。模块是按照逻辑来组织Python代码的方法;文件是物理层上组织模块的方

2、法。模块的文件名就是模块的名字加上扩展名.py一个名称空间就是一个从名称到对象的关系映射集合。string模块中的atoi()函数就是string.atoi()。通过句点属性标识指定了各自的名称空间-防止了名称冲突的发生。搜索路径和路径搜索路径搜索:指查找某个文件的操作搜索路径:去查找一组目录。模块的导入需要一个叫做“路径搜索”的过程。即在文件系统“预定义区域”中查找文件。>>>importxxxTraceback(innermostlast):File"",line1,in?Im

3、portError:Nomodulenamedxxx默认搜索路径>>>sys.path['','/usr/local/lib/python2.x/','/usr/local/lib/python2.x/plat-sunos5','/usr/local/lib/python2.x/lib-tk','/usr/local/lib/python2.x/lib-dynload','/usr/local/lib/Python2.x/site-packages',]sys.path.append('/home/wesc/py/l

4、ib')名称空间名称空间是名称(标识符)到对象的映射。向名称空间添加名称的操作过程涉及到绑定标识符到指定对象的操作(以及给该对象的引用计数加1)局部名称空间,全局名称空间和内建名称空间名称查找,确定作用域,覆盖名称查询.访问一个属性时,解释器必须在三个名称空间中的一个找到它。首先从局部名称空间开始,如果没有找到,解释器将继续查找全局名称空间.如果这也失败了,它将在内建名称空间里查找。>>>fooTraceback(innermostlast):File"",line1,in?NameError:foo遮

5、蔽效应。局部名称空间中找到的名字会隐藏全局或内建名称空间的对应对象。这就相当于"覆盖"了那个全局变量。遮蔽效应deffoo():print"callingfoo()..."bar=200print"infoo(),baris",barbar=100print"in__main__,baris",barfoo()in__main__,baris100callingfoo()...infoo(),baris200无限制的名称空间可以在任何需要放置数据的地方获得一个名称空间。deffoo():passfoo.__doc

6、__='Oops,forgottoadddocstrabove!'foo.version=0.2导入模块importmodule1importmodule2importmodule1[,module2[,...moduleN]]推荐顺序:?Python标准库模块?Python第三方模块?应用程序自定义模块多行导入从一个模块导入许多属性时,fromTkinterimportTk,Frame,Button,Entry,Canvas,Text,LEFT,DISABLED,NORMAL,RIDGE,END多行的from-im

7、port语句fromTkinterimportTk,Frame,Button,Entry,Canvas,TextfromTkinterimportLEFT,DISABLED,NORMAL,RIDGE,END扩展的import语句(as):使用自己想要的名字替换模块的原始名称。>>>importlongmodulename>>>short=longmodulename>>>dellongmodulenamefromcgiimportFieldStorage...可以替换为...fromcgiimportFieldSto

8、rageasform模块导入的特性载入时执行模块:加载模块会导致这个模块被“执行”。也就是被导入模块的顶层代码将直接被执行。包括设定全局变量以及类和函数的声明。导入(import)和加载(load):一个模块只被加载一次,无论它被导入多少次。这可以阻止多重导入时代码被多次执行。导入到当前名称空间的名称from-import把名字导入当前的名称空

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。