1.模块和包的认识
1.1关于模块
模块:python中每个python文件都是一个独立的模块,较少的,独立的,功能相似的多个变量,函数,类型的集合!
包:包含多个python模块的文件夹,包含一个特殊的init.py声明文件,而且包含有多个模块,具备强大功能的程序!
1.2文件夹和包的区别
文件夹:普通文件夹
包:包含了一个声明文件
区别1:包可以更加有效的管理python模块,文件夹只能作为默认包进行基本管理[包含文件]!
区别2:包和文件夹中引入对应的模块代码的操作方式区别!
2.包和模块的引入
2.1import
import
#引入一个模块
import 模块名称
#使用模块中的数据
模块名称.变量名称
模块名称.函数名称
模块名称.类型名称
# 引入一个包
import 包名称
# 使用包中的数据
包名称.模块名称.变量名称/函数名称/类型名称
# 引入包中的某个模块
import 包名称.模块名称
# 使用包中的数据
包名称.模块名称.变量名称/函数名称/类型名称
# ERROR:引入包中的某个变量
import 包名称.模块名称.变量名称
2.2 from import 语法
(相对)引入包
from .import 包名称【必须在init.py中,主动通过from . import引入需要的模块】
使用数据
包名称.模块名称.变量名称/函数名称/类型名称
(相对)引入包中的模块
from .包名称 import 模块名称
# 使用数据
模块名称.变量名称/函数名称/类型
# (相对) 引入包中的模块中的数据
from .包名称.模块名称 import 变量/函数/类型
# 使用数据:当成当前文件中的数据进行数据
变量名称/函数名称/类型名称
2.3相对引入和绝对引入
-
相对引入 & 绝对引入
相对引入:相对当前文件路径,参照父级文件路径
|-- demo01/
|-- utils.py
|-- main.py [from . import utils]运行:添加参照路径:python -m demo.main
运行过程中,在main.py中找到相对路径的utils.py绝对引入:针对包/项目/模块,直接引入的方式
|-- demo/
|-- users/
|-- init.py
|-- tools.py
|-- utils.py
|- main.py
[import utils]
[from users import tools]
[绝对引入:查询路径]
[当前文件夹|PYTHONPATH|sys.path]