小白教程

 找回密码
 立即注册

制作自己的模块

发布者: 小白教程

创建自己的模块很容易,您一直都在做!这是因为每个Python程序也是一个模块。您只需要确保它具有.py扩展名即可。下面的例子应该清楚。

示例(另存为mymodule.py):

def say_hi():
    print('Hi, this is mymodule speaking.')

__version__ = '0.1'

上面是一个示例模块如您所见,与我们通常的Python程序相比,它没有什么特别之处。接下来,我们将了解如何在其他Python程序中使用此模块。

请记住,应该将模块放置在与我们从其导入程序的目录相同的目录中,或者将其放置在中列出的目录之一中sys.path

另一个模块(另存为mymodule_demo.py):

import mymodule

mymodule.say_hi()
print('Version', mymodule.__version__)

输出:

$ python mymodule_demo.py
Hi, this is mymodule speaking.
Version 0.1

这个怎么运作

请注意,我们使用相同的点分符号来访问模块的成员。Python很好地重用了相同的符号,以赋予其独特的“ Pythonic”感觉,因此我们不必继续学习做事的新方法。

这是使用from..import语法的版本(另存为mymodule_demo2.py):

from mymodule import say_hi, __version__

say_hi()
print('Version', __version__)

的输出mymodule_demo2.py与的输出相同mymodule_demo.py

请注意,如果__version__在导入mymodule的模块中已经声明名称,则会发生冲突。这也是可能的,因为通常每个模块都使用此名称声明其版本号。因此,始终建议您首选该import语句,即使它会使您的程序更长一些。

您还可以使用:

from mymodule import *

这将导入所有公共名称,例如say_hi但不会导入,__version__因为它以双下划线开头。

警告:请记住,应避免使用import-star,即from mymodule import *

Python的禅宗

Python的指导原则之一是:“显式优于隐式”。import this在Python中运行以了解更多信息。

上一篇:from..import语句下一篇:dir()函数

Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )

GMT+8, 2024-11-24 12:30 , Processed in 0.070893 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

返回顶部