桐花万里python路-基础篇-10-模块及导入
- 模块
- 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式
- 在Python中,一个.py文件就称之为一个模块(Module)
- 最大的好处是大大提高了代码的可维护性
- 使用模块还可以避免函数名和变量名冲突
- 导入模块import
import sys import os sys.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
- 分类
- 标准库,执行help('modules')查看所有python自带模块列表
- 第三方开源模块,可通过pip install 模块名 联网安装
pip install prettytable
- 自定义模块
import module from module import xx from module.xx.xx import xx as rename from module.xx.xx import *
- 包Package
- 对模块文件进行划分
- __init__.py
- 添加环境变量,把父亲级的路径添加到sys.path中,就可以了,这样导入 就相当于从父亲级开始找模块了
- 跨模块导入,避免循环导入
- 绝对相对导入 .. 不建议在项目里经常使用相对导入
- 软件目录结构规范
bin/
: 存放项目的一些可执行文件,当然你可以起名script/
之类的也行。foo/
: 存放项目的所有源代码。(1) 源代码中的所有模块、包都应该放在此目录。不要置于顶层目录。(2) 其子目录tests/
存放单元测试代码; (3) 程序的入口最好命名为main.py
。docs/
: 存放一些文档。setup.py
: 安装、部署、打包的脚本。requirements.txt
: 存放软件依赖的外部Python包列表。README
: 项目说明文件
- README
- 软件定位,软件的基本功能
- 运行代码的方法: 安装环境、启动命令等。
- 使用说明
- 目录结构说明
- 常见问题说明
-
requirements.txt
-
setup.py
安装依赖时漏掉软件包。 - 方便读者明确项目使用了哪些Python包。
-
- setup.py 管理代码的打包、安装、部署问题
- 配置文件
- 是可以灵活配置的,不受外部配置文件的影响
- 程序的配置也是可以灵活控制的
- 其他