Python 基础知识

Python模块

模块是一个包含了所有你定义的函数和变量以.py结尾的文件

  • __name__ 属性:

    • 如果模块是被导入,__name__的值为模块名字(文件名)
    • 如果模块是被直接执行,__name__的值为’__main__’

    当我们编写Python库模块的时候,我们往往运行一些测试语句。当这个程序作为库被import的时候,我们并不需要运行这些测试语句。一种解决方法是在import之前,将模块中的测试语句注释掉。而更优美的解决方法,就是使用__name__。

  • __doc__ 属性:

    介绍模块的功能

aModule.py

class aClass:
   def whoCall():
        if __name__ == '__main__':
           print ("aClass selfcall:__name:__"+__name__)
        else:
            print( "extern call:__name:__"+__name__)
aClass.whoCall()

bModule.py

from aModule import aClass
aClass.whoCall()

直接运行aModule.py,输出如下

aClass selfcall:__name:____main__

运行bModule.py,输出如下:

extern call:__name:__aModule

模块包

  • 该文件夹中必须包含一个__init__.py的文件,提醒Python,该文件夹为一个模块包。__init__.py可以是一个空文件。
  • 可以将功能相似的模块放在同一个文件夹中,构成一个模块包。通过import ModulePackage.aModule 引入ModulePackage模块包中的module模块。