Python自定义模块

8个月前 (04-26)
到目前为止,读者已经掌握了导入 Python 标准库并使用其成员(主要是函数)的方法,接下来要解决的问题是,怎样自定义一个模块呢?

前面章节中讲过,Python 模块就是 Python 程序,换句话说,只要是 Python 程序,都可以作为模块导入。例如,下面定义了一个简单的模块(编写在 demo.py 文件中):

name = "Python教程"

add = "http://c.biancheng网站站点" rel="nofollow" />

say()

clangs = CLanguage("C语言中文网","http://c.biancheng网站站点" rel="nofollow" /> Python教程 http://c.biancheng网站站点" rel="nofollow" />

import demo

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

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

Python教程 http://c.biancheng网站站点" rel="nofollow" /> __name__ 变量。当直接运行一个模块时,name 变量的值为 __main__;而将模块被导入其他程序中并运行该程序时,处于模块中的 __name__ 变量的值就变成了模块名。因此,如果希望测试函数只有在直接运行模块文件时才执行,则可在调用测试函数时增加判断,即只有当 __name__ =='__main__' 时才调用测试函数。

因此,我们可以修改 demo.py 模板文件中的测试代码为:

if __name__ == '__main__':

say()

clangs = CLanguage("C语言中文网","http://c.biancheng网站站点" rel="nofollow" />

Python教程 http://c.biancheng网站站点" rel="nofollow" /> '''
demo 模块中包含以下内容:
name 字符串变量:初始值为“Python教程”
add    字符串变量:初始值为“http://c.biancheng网站站点" rel="nofollow" />

import demo

print(demo.__doc__)

程序运行结果为:

Python教程 http://c.biancheng网站站点" rel="nofollow" />