Python 高手之路 笔记 第1章 项目开始

1.1 Python 版本

问题:我的软件应该支持哪些 Python 版本?

回答:Python 2 已于 2020年1月1日停止更新和维护;最新稳定版本为 Python 3.8

1.2 项目布局

项目结构应该保存简单,谨慎使用包和层次结构:过深的层次结构在项目导航时变得复杂;过平的层次结构会使项目变得臃肿。

一个标准的目录结构如下:

.
├── README.md
├── bin
├── data
├── docs
│   ├── conf.py
│   ├── index.rst
│   └── quickstart.rst
├── etc
├── foobar
│   ├── __init__.py
│   ├── cli.py
│   ├── storage.py
│   └── tests
│       ├── __init__.py
│       ├── test_cli.py
│       └── test_storage.py
├── requirements.txt
├── setup.py
├── test-requirements.txt
└── tools

1.3 版本编号

PEP440 中定义版本号应该遵从一下正则表达式的格式:

N[.N]+[{a|b|c|rc}N][.postN][.devN]

需要注意的点:

  • 1.2 等于 1.2.0,1.3.4 等于 1.3.4.0 依此类推
  • N[.N]+ 相匹配的版本被认为是最终版本
  • 基于日期的版本被认为是无效的(如2020.09.01)
  • N[.N]+aN 表示 alpha版本 ,版本不稳定或缺少某些功能
  • N[.N]+bN 表示 beta版本 ,版本功能已完整,但可能存在 bugs
  • .postN 表示 后继版本 ,用来解决发行过程中的小问题
  • .devN 表示 开发版本 ,质量基本合格的发布前的版本

更高级的版本号,可以使用 PEP426 中定义的 源码标签

pbr 基于项目的 Git 版本自动生成版本号

1.4 编码风格与自动检查

Python 代码规范 PEP8 标准

  • 每个缩进层级使用4个空格。
  • 每行最多 79 个字符。
  • 顶层的函数或类的定义之间空两行。
  • 采用 ASCII 或 UTF-8 编码文件。
  • 在文件顶端,注释和文档说明之下,每行 import 语句只导入一个模块,同时按照标准库、第三方库和本地库的导入顺序分组。
  • 在小括号、中括号、大括号之间或逗号之前没有额外的空格。
  • 类的命名采用骆驼命名法;异常的定义使用 Error 前缀;函数的命名使用下划线分割小写字母;使用下划线开头定义私有的属性或方法。

pep8 工具自动检查 Python 文件是否符号 PEP8 要求。

其他的一些检查编码错误的工具。

  • pyflakes
  • pylint
  • flake8
  • hacking
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值