Python自定义模块

您所在的位置:网站首页 python怎么建模块 Python自定义模块

Python自定义模块

2024-06-03 09:26:10| 来源: 网络整理| 查看: 265

首页 > Python > Python模块和包 Python自定义模块   到目前为止,读者已经掌握了导入 Python 标准库并使用其成员(主要是函数)的方法,接下来要解决的问题是,怎样自定义一个模块呢? 前面章节中讲过,Python 模块就是 Python 程序,换句话说,只要是 Python 程序,都可以作为模块导入。例如,下面定义了一个简单的模块(编写在 demo.py 文件中): name = "Python教程" add = "http://c.biancheng.net/python" print(name,add) def say(): print("人生苦短,我学Python!") class CLanguage: def __init__(self,name,add): self.name = name self.add = add def say(self): print(self.name,self.add) 可以看到,我们在 demo.py 文件中放置了变量(name 和 add)、函数( say() )以及一个 Clanguage 类,该文件就可以作为一个模板。 但通常情况下,为了检验模板中代码的正确性,我们往往需要为其设计一段测试代码,例如: say() clangs = CLanguage("C语言中文网","http://c.biancheng.net") clangs.say() 运行 demo.py 文件,其执行结果为:

Python教程 http://c.biancheng.net/python 人生苦短,我学Python! C语言中文 http://c.biancheng.net

通过观察模板中程序的执行结果可以断定,模板文件中包含的函数以及类,是可以正常工作的。 在此基础上,我们可以新建一个 test.py 文件,并在该文件中使用 demo.py 模板文件,即使用 import 语句导入 demo.py: import demo

注意,虽然 demo 模板文件的全称为 demo.py,但在使用 import 语句导入时,只需要使用该模板文件的名称即可。

此时,如果直接运行 test.py 文件,其执行结果为:

Python教程 http://c.biancheng.net/python 人生苦短,我学Python! C语言中文 http://c.biancheng.net

可以看到,当执行 test.py 文件时,它同样会执行 demo.py 中用来测试的程序,这显然不是我们想要的效果。正常的效果应该是,只有直接运行模板文件时,测试代码才会被执行;反之,如果是其它程序以引入的方式执行模板文件,则测试代码不应该被执行。 要实现这个效果,可以借助 Python 内置的 __name__ 变量。当直接运行一个模块时,name 变量的值为 __main__;而将模块被导入其他程序中并运行该程序时,处于模块中的 __name__ 变量的值就变成了模块名。因此,如果希望测试函数只有在直接运行模块文件时才执行,则可在调用测试函数时增加判断,即只有当 __name__ =='__main__' 时才调用测试函数。 因此,我们可以修改 demo.py 模板文件中的测试代码为: if __name__ == '__main__': say() clangs = CLanguage("C语言中文网","http://c.biancheng.net") clangs.say() 这样,当我们直接运行 demo.py 模板文件时,其执行结果不变;而运行 test.py 文件时,其执行结果为:

Python教程 http://c.biancheng.net/python

显然,这里执行的仅是模板文件中的输出语句,测试代码并未执行。 自定义模块编写说明文档 我们知道,在定义函数或者类时,可以为其添加说明文档,以方便用户清楚的知道该函数或者类的功能。自定义模块也不例外。 为自定义模块添加说明文档,和函数或类的添加方法相同,即只需在模块开头的位置定义一个字符串即可。例如,为 demo.py 模板文件添加一个说明文档:

''' demo 模块中包含以下内容: name 字符串变量:初始值为“Python教程” add    字符串变量:初始值为“http://c.biancheng.net/python” say() 函数 CLanguage类:包含 name 和 add 属性和 say() 方法。 '''

在此基础上,我们可以通过模板的 __doc__ 属性,来访问模板的说明文档。例如,在 test.py 文件中添加如下代码: import demo print(demo.__doc__) 程序运行结果为:

Python教程 http://c.biancheng.net/python demo 模块中包含以下内容: name 字符串变量:初始值为“Python教程” add    字符串变量:初始值为“http://c.biancheng.net/python” say() 函数 CLanguage类:包含 name 和 add 属性和 say() 方法。

关注公众号「站长严长生」,在手机上阅读所有教程,随时随地都能学习。本公众号由C语言中文网站长亲自运营,长期更新,坚持原创。

微信扫码关注公众号

  优秀文章 Linux进程管理及作用 C语言函数指针(指向函数的指针)详解 Linux last和lastlog命令:查看过去登陆的用户信息 虚拟机是什么 Go语言通过内存缓存来提升性能 Go语言表达式求值器 NumPy Matrix矩阵库 Redis HyperLoglog基数统计 Qt布局管理详解(5种布局控件) MATLAB是什么(超级详细)


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭