1.Python模块:一个.py文件就是一个模块,模块是Python程序的基本组织单位。在模块中可以定义变量、函数、类,以及可执行的代码。
2.导入模块的具体语法

2.自定义模块:当开发一些复杂的项目,为了让项目结构更清晰,更便于项目的维护管理 及 代码的复用,可能会把一个项目拆分为若干个模块。
3.all:是一个模块级别的特殊变量,用于指定 from 模块名 import * 时会导入哪些功能(*通配了哪些功能)。
python
__all__ = ["log_separator1", "log_separator3", "PI"]
PI = 3.1415926
NAME = "黑马"
def log_separator1():
print("- " * 30)
def log_separator2():
print("+ " * 30)
def log_separator3():
print("# " * 30)
def log_separator4():
print("* " * 30)

注意:__all__控制的是 from ... import * 时,要导入的功能,并不会影响直接导入具体的功能(如: from ... import 功能) 。
4.包:本质就是一个文件夹,该文件夹中可以包含若干python模块(.py文件),文件夹下还包含了一个__init__.py。
作用:模块文件较多时,用来管理多个模块。(包的本质也是一个模块)

注意:在通过 'from 包名 import *' 导入全部模块的时候,需要在 init.py 文件中添加 'all=[]',控制允许导入的模块列表 。