模块与包
模块的概念
在python中一个.py文件就是一个模块。
使用模块可以提高代码的可维护性。
模块分为三种:
- python标准库
- 第三方模块
- 自定义模块
模块的导入方法
1.import语句
import module1[, module2[,... moduleN]
当我们使用import语句的时候,python解释器会去sys.path中搜索对应的文件
2.from ... import 语句
from modname import name1[, name2[, ... nameN]]
3.from ... import * 语句
from modname import *
提供了一个简单的方法来导入一个模块中的所有项目。(不推荐使用)
包
引入了包以后,只要顶层的包名不与别人冲突,那所有模块都不会与别人冲突
每一个包目录下面都会有一个__init__.py
的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录(文件夹),而不是一个包。__init__.py
可以是空文件,也可以有Python代码,因为__init__.py
本身就是一个模块,而它的模块名就是对应包的名字。
调用包就是执行包下的__init__.py文件
注:导入包时,如果python解释器找不到,那么需要把myapp的这层路径添加到sys.path中
import sys,os BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(BASE_DIR)
调试代码时可以使用:
if __name__ == '__main__': # 在本文件中运行时 __name__ 就等于 __main__ pass