模块基础概念
Posted chacecai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块基础概念相关的知识,希望对你有一定的参考价值。
模块(Module)
- 一个.py文件为一个模块
- 可维护性
- 可扩展性
- 每个模块有独立的命名空间
模块分类
- 内置标准模块
- 第三方开源模块
- 自定义模块
模块调用
- import module
- from module import xx
- from module.xx.xx import xx as rename
- from module.xx.xx import *
模块查找路径
- sys.path
- 按照路径列表顺序去查找模块名,只要找到就停止
- 空元素代表当前目录,所以自定义当前目录模块会被优先导入
import sys
print(sys.path)
[‘‘,
‘/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip‘,
‘/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6‘,
‘/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload‘,
‘/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages‘]
包(Package)
- 把相关的模块放在一个文件夹中,这个文件夹就被称为包
- 文件夹内必须存在__init__.py文件,该文件用于标识该文件夹为包
跨模块导入
- 添加环境变量,把父级路径添加到sys.path中,从父级开始查找
import sys ,os
# __file__的是打印当前被执行的模块.py文件相对路径,注意是相对路径
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)
from proj import settings
绝对&相对导入
- .. 上层路径
- . 当前路径
以上是关于模块基础概念的主要内容,如果未能解决你的问题,请参考以下文章