模块

Python模块(Module)是一个Python文件,以.py后缀结尾,包含了Python对象定义和Python语句
模块能定义函数、类和变量,模块内也能包含可执行的代码。

导入模块

导入模块的方式

  1. # 基础方式
  2. 1. import 模块名
  3. 2. from 模块名 import 功能名
  4. 3. from 模块名 import *
  5. # 别名方式
  6. 4. import 模块名 as 别名
  7. 5. from 模块名 import 功能名 as 别名

import

  1. # 导入模块
  2. import 模块名
  3. # 调用模块
  4. 模块名.功能名()
  1. import math
  2. print(math.sqrt(9)) # 3

from...import...

  1. from 模块名 import 功能1,功能2...
  1. from math import sqrt
  2. print(sqrt(9)) # 3

from...import *

  1. from 模块名 import *
  2. *表示导入所有功能
  1. from math import *
  2. print(sqrt(9)) # 3

as定义别名

模块定义别名(模块起别名)

  1. import 模块名 as 别名

功能定义别名(功能起别名)

  1. from 模块名 import 功能 as 别名

制作模块

模块的名字就是文件的名字

  • 自定义模块名必须要符合标识符命名规则
  • 自定义的文件名不能与已有的模块名重复,否则模块功能无法使用;
  • 使用**from 模块名 import 功能**时,如果功能名字重复默认只调用最后定义或导入的功能

    制作模块的步骤

    定义模块(类似于分文件、分模块设计功能)

    单文件写功能函数代码。

    测试模块

    在功能函数代码中,使用if的方式添加测试代码。

  • 功能函数代码文件内,访问**__name__**返回的是**__main__**

  • 在功能函数文件外,访问**__name__**返回的是模块文件名。 ```python

    添加测试代码示例——功能函数内访问

    def testA(a, b): print(a + b)

测试代码

if name == “main“: testA(2, 2)

  1. <a name="IEaHx"></a>
  2. ### 调用模块
  3. ```python
  4. # 导入模块
  5. import 导入模块
  6. # 调用模块
  7. 模块.功能名()

模块路径查找顺序

当前目录 > PYTHON PATH路径目录

__all__列表

如果一个模块文件中,有all变量列表时,当使用**from 模块名 import ***导入时,默认只能导入这个列表中的元素名称下的功能

  1. # 模块代码----myModule
  2. __all__ = ["testA"]
  3. def testA():
  4. print("testA")
  5. def testB():
  6. print("testB")
  7. # 模块嗲用
  8. from myModule import *
  9. testA() # testA
  10. testB() # 报错

包的使用方法

把相互有联系的模块,放到同一个文件夹下,并在这个文件夹创建一个**__init__.py**文件,这个文件夹称之为包。

制作包

制作包的步骤

在解析器(Pycharm)==> [New] ==> [Python Package] ==> 输入包名 ==> [OK] ==> 新建功能模块。

导入包

导入方法一

  1. # 导入包
  2. import 包名.模块名
  3. # 调用包
  4. 包名.模块名.目标

导入方法二

该方法必须在**__init__.py**文件中添加**__all__ = []**,控制允许导入的模块列表。

  1. # 导入包
  2. from 包名 import *
  3. # 调用包
  4. 模块名.目标