Python模块和包
模块
定义:Python 模块(Module),是一个 Python 文件,以 .py 结尾.  模块能定义函数,类和变量,模块里也能包含可执行的代码。
模块的导入方式
语法:[from 模块名] import [模块|类|变量|函数|*] [as 别名]
常用组合:
import 模块名
from 模块名 import 类、变量、方法等
from 模块名 import *
import 模块名 as 别名
from 模块名 import 功能名 as 别名
import 模块名
基本语法:
import 模块名  | 
案例:导入time模块
# 导入时间模块  | 
from 模块名 import 功能名
基本语法:
from 模块名 import 功能名  | 
案例:导入time模块中的sleep方法
# 导入时间模块中的sleep方法  | 
as定义别名
基本语法:
# 模块定义别名  | 
案例
# 模块别名  | 
# 功能别名  | 
自定义模块
每个Python文件都可以作为一个模块,模块的名字就是文件的名字。
测试模块
在实际开发中,当一个开发人员编写完一个模块后,为了让模块能够在项目中达到想要的效果,这个开发人员会自行在py文件中添加一些测试信息。此时会出现一个问题,无论是当前文件,还是其他已经导入了该模块的文件,在运行的时候都会自动执行test函数的调用。
解决方案:
def test(a, b):  | 
注意事项:当导入多个模块的时候,且模块内有同名功能. 当调用这个同名功能的时候,调用到的是后面导入的模块的功能
__all__ 变量
如果一个模块文件中有__all__变量,当使用from xxx import *导入时,只能导入这个列表中的元素


Python包
定义:从物理上看,包就是一个文件夹,在该文件夹下包含了一个 __init__.py 文件,该文件夹可用于包含多个模块文件。从逻辑上看,包的本质依然是模块。
作用:当我们的模块文件越来越多时,包可以帮助我们管理这些模块, 包的作用就是包含多个模块,但包的本质依然是模块

创建包
步骤:
新建包
my_package新建包内模块:
my_module1和my_module2在模块内补充代码

导入包
- 方式一
 
import 包名.模块名  | 
- 方式二
 
注意:必须在__init__.py文件中添加__all__ = [],控制允许导入的模块列表。 __all__针对的是from ... import *这种方式,对 import xxx这种方式无效
from 包名 import *  | 







