一、模块

一个py文件就是一个模块

二、模块之间的数据交流

我们可以在任意一个模块中使用另外一个模块中所有的全局变量(普通变量\函数\类)

如果想要在一个模块中使用另外一个模块的内容,必须先导入模块

三、模块的分类

  1. 系统模块 - 系统已经定义好的模块,程序员可以直接导入使用
  2. 第三方库模块(其他程序员或者机构定义的模块) - 需要先下载放到工程中以后再导入使用
  3. 自定义模块(在工程中创建的模块) - 程序员直接导入使用

四、导入模块

  1. 导入方式
    import 模块名 ----- 导入指定模块,导入后可以使用这个模块中所有的全局变量, 使用方式: 模块名.变量
    from 模块名 import 变量1,变量2,变量3,… ----- 导入指定模块,导入后可以使用这个模块中指定的变量,使用方式: 直接用
    from 模块名 import * ----- 导入指定模块,导入后可以使用模块中所有的全局变量
  2. 重命名
    import 模块名 as 新模块名 ----- 导入模块的时候对模块进行重命名,重命名后通过新模块名来使用模块
    from 模块 import 变量1 as 新变量1, … ----- 导入模块的时候对指定的变量进行重命名

五、导入模块的原理

当代码执行到import 或者 from-import 导入模块的时候,系统会自动进入指定模块,执行这个模块中所有的代码。

阻止模块中内容的导入:

如果一个模块中的部分代码不希望在被导入的时候执行,就将这个代码写在 if _ name _ == ‘_ main _’ 中。

(每个模块都有一个__name__属性,这个属性保存的是模块名,默认值都是文件名。当我们直接执行某个模块的时候,这个模块
的__name__的值会自动变成__main__, 其他没有被执行的__name__的值都是自己的文件名)