



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Python自定义模块到目前为止,读者已经掌握了导入Python标准库并使用其成员(主要是函数)的方法,接 下来要解决的问题是,怎样自定义一个模块呢?前面章节中讲过z Python模块就是Python程序,换句话说,只要是Python程序,都可以作为模块导入。例如,下面定义了一个简单的模块(编写在demo.py文件中):name = Python 教程”add = print(name,add)def say():print(人生苦短,我学 Python ! ”)class CLanguage:def_init_(self,name,add): = nameself.add
2、= adddef say(self):print(/self.add)可以看到,我们在demo.py文件中放置了变量(name和add )、函数(say()以及一个Clanguage类,该文件就可以作为一个模板。但通常情况下,为了检验模板中代码的正确性,我们往往需要为其设计一段测试代码,例如:say()clangs = CLanguage(C 语言中文网)clangs.say()运行demo.py文件,其执行结果为:Python 教程 人生苦短,我学Python !C 语言中文 通过观察模板中程序的执行结果可以断定,模板文件中包含的函数以及类,是可以正常工作 的。在此基础上,
3、我们可以新建一个testpy文件,并在该文件中使用demo.py模板文件, 即使用import语句导入 demo.py :1.import demo注意,虽然demo模板文件的全称为demo.py ,但在使用import语句导入时,只需要使用该模板文件的名称即可。此时,如果直接运行testpy文件,其执行结果为:Python 教程 人生苦短,我学Python !C 语言中文 可以看到,当执行test.py文件时,它同样会执行demo.py中用来测试的程序,这显然 不是我们想要的效果。正常的效果应该是,只有直接运行模板文件时,测试代码才会被执行; 反之,如果是其它程序以引入的方式执行模板文件,那
4、么测试代码不应该被执行。要实现这个效果,可以借助Python内置的_name_变量。当直接运行一个模块时,name变量的值为_main_ ;而将模块被导入其他程序中并运行该程序时,处于模块中的_name_变量的值就变成了模块名。因此,如果希望测试函数只有在直接运行模块文件时 才执行,那么可在调用测试函数时增加判断,即只有当_name_二=时才调用测 试函数。因此,我们可以修改demo.py模板文件中的测试代码为:if _name_ = _main_say()clangs = CLanguage(C语言中文网“J :”)clangs.say()这样,当我们直接运行demo.py模板文件时,其执行
5、结果不变;而运行test.py文件时,其执行结果为:Python 教程 显然,这里执行的仅是模板文件中的输出语句,测试代码并未执行。m定义模块编写说明文档我们知道,在定义函数或者类时,可以为其添加说明文档,以方便用户清楚的知道该函数或者类的功能。自定义模块也不例外。为自定义模块添加说明文档,和函数或类的添加方法相同,即只需在模块开头的位置定义一个字符串即可。例如,为demo.py模板文件添加一个说明文档:demo模块中包含以下内容:name字符串变量:初始值为Python教程”add字符串变量:初始值为 : demoprint(demo._doc_)程序运行结果为:Python 教程 demo模块中包含以下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拜访冬天活动方案
- 拱桥活动策划方案
- 拼音王国探索活动方案
- 捐款大会活动方案
- 换电池小米活动方案
- 排球活动优惠活动方案
- 探访公益小学活动方案
- 接种门诊体验活动方案
- 插画速写课间活动方案
- 携手迎春活动方案
- GB/T 9765-2009轮胎气门嘴螺纹
- GB/T 23806-2009精细陶瓷断裂韧性试验方法单边预裂纹梁(SEPB)法
- 2022年04月四川宜宾市叙州区面向区内外考试选调在编在职教师136人考试押题库【1000题】含答案附带详解析
- FZ/T 74001-2020纺织品针织运动护具
- 图解“双均线双交叉”期货、股票操作系统课件
- 宫外孕右输卵管妊娠腹腔镜下盆腔粘连分解术、右输卵管妊娠开窗取胚术手术记录模板
- 教科版 科学小学二年级下册期末测试卷及参考答案(基础题)
- 美军标电子装备环境试验-mil-std-810g
- 混凝土重力坝设计说明书
- 应用回归分析(第三版)何晓群_刘文卿_课后习题答案_完整版
- 道路及两侧便道保洁方案.docx
评论
0/150
提交评论