- 一个模块就是一个包含pytho代码的文件, 后缀名成是.py就可以,模块就是个python文件
- 使用模块进行拆分程序,方便维护;增加复用率;当做命名空间使用,避免命名冲突
- 模块的定义和普通文件无很大区别
- 导入
- 假如模块名称直接以数字开头,需要借助importlib帮助:a = importlib("123.say()")
- import module_name ///module_name.function_name ///module_name.class_name
- import 模块 as 别名 用法和直接用类似
- 假如模块名称直接以数字开头,需要借助importlib帮助:a = importlib("123.say()")
- 有选择的导入
- from module_name import func_name, class_name
- 此方法使用的时候可以直接使用导入的内容,不需要前缀
- from ... import *
- 此方法导入也会导入自动处理的语句:如print("hello")
- 使用 if _name_ == "_main_" 可以忽略不想要的输入
- sys.path (列表)属性可以获取路径列表
- 添加搜索路径: sys.path.append(dir)
-
模块的加载顺序
1.搜索内存中已经加载好的模块
2.搜索python的内置模块
3.搜索sys.path路径
- 用于将模块包含在一起的文件夹就是包
|---包
|---|--- init.py 包的标志文件
|---|--- 模块1
|---|--- 模块2
|---|--- 子包(子文件夹)
|---|---|--- init.py 包的标志文件
|---|---|--- 子包模块1
|---|---|--- 子包模块2
- 导入
- import package_name
- 直接导入一个包,默认使用_init_.py中的内容
- 直接导入一个包,默认使用_init_.py中的内容
- from ... import 导入
- from package import module1, module2, module3, .....
- 此种导入方法不执行__init__的内容
- import package_name