桐花万里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中,就可以了,这样导入 就相当于从父亲级开始找模块了
    • 跨模块导入,避免循环导入
    • 绝对相对导入 .. 不建议在项目里经常使用相对导入
  • 软件目录结构规范
      1. bin/: 存放项目的一些可执行文件,当然你可以起名script/之类的也行。
      2. foo/: 存放项目的所有源代码。(1) 源代码中的所有模块、包都应该放在此目录。不要置于顶层目录。(2) 其子目录tests/存放单元测试代码; (3) 程序的入口最好命名为main.py
      3. docs/: 存放一些文档。
      4. setup.py: 安装、部署、打包的脚本。
      5. requirements.txt: 存放软件依赖的外部Python包列表。
      6. README: 项目说明文件
    • README
      • 软件定位,软件的基本功能
      • 运行代码的方法: 安装环境、启动命令等。
      • 使用说明
      • 目录结构说明
      • 常见问题说明
    • requirements.txt

      •  

        方便开发者维护软件的包依赖。将开发过程中新增的包添加进这个列表中,避免在setup.py安装依赖时漏掉软件包。
      • 方便读者明确项目使用了哪些Python包。
    • setup.py 管理代码的打包、安装、部署问题
    • 配置文件
      • 是可以灵活配置的,不受外部配置文件的影响
      • 程序的配置也是可以灵活控制的
  • 其他
原文地址:https://www.cnblogs.com/zhujingxiu/p/8310835.html