- 模块的定义,包的定义
- 模块的导入,包的导入
- 常用模块的学习(不定期更新)
一、模块的定义,包的定义
模块的定义:模块的本质就是一个以py结尾的文件。
包的定义:包的本质就是包含多个模块的文件集合,包自带__init__.py文件
二、模块的导入,包的导入
模块的导入的本质:
1、import module_name
导入模块的本质就是将module_name的全部代码执行一遍,并把结果赋值给module_name
所以在使用模块中的方法的时候,就需要用module_name.方法()来执行模块中的方法。
2、from module A import 变量a/方法a/类a
这种方法导入模块的本质是将import后面的部分直接复制到当前文件中
所以使用的时候直接:变量a/方法a/类a的形式去调用即可。
包的导入的本质:
import 包名
这种方式导入包的本质就是将被导入的包的__init__.py文件执行一遍。
from 包名 import 模块a/函数a。。
这种方式导入就是将import后面的内容复制到当前文件下
以上所说的都是在同一层级目录下的引入模块,那么如果是跨文件调用模块呢?
需要在当前的文件下,将需要导入的模块/包的路径添加到sys.path
import os import sys BASE_DIR =os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0,BASE_DIR)
os.path.abspath(__file__)--->获取当前文件的绝对路径
os,dirname(A)----->获取文件A(不包含文件名)的路径,可以理解是上一层目录