ChuannBlog

4.1 模块(module)

模块定义

模块可以包含可执行的语句和函数的定义,模块内的语句目的是初始化模块,而且只在import语句第一次导入该模块时才执行。
简单说就是把一些常用方法封装到一个文件,不需要每次编程都写一长串的方法。

模块的导入和使用

注意事项

  1. 模块必须和执行文件处于同一级目录下
  2. 模块内的变量名如果以一个下划线,开头表示私有变量不能被引用
  3. 如果模块既被其他脚本引用,自身也在使用,应当利用__name__在自身使用和被引用时表现出不同值的特点进行控制
if __name__ == '__main__'
    模块自身运行时执行的代码
  1. 自定义的模块名不应当和系统内置或者安装的模块名重复

深入理解

  1. 导入模块,是新建一块名称空间,存放模块内的名字,并将里面的名字与模块名进行绑定,以便在执行文件引用
  2. 模块搜索路径
    • sys.path可以查看
    • 顺序为:
      1. 当前目录下的模块
      2. 内置模块
      3. 安装的拓展模块
  3. 导入当前目录下的模块时会生成编译的模块缓存文件,以便下一次更快地加载模块
    • 系统会检测文件修改时间以判断是否重新编译模块
  4. dir()函数可以查看模块内定义的方法,不会列出内置函数或者变量的名字