与 Python 编码规范相关的模块,如:
this:【标准库】python 之禅,The Zen of Pythonflake8:PEP8(检查代码风格)+ Pyflakes(检查代码错误)+ McCabe(检查代码复杂度)等工具组合,用于检查 Python 代码风格和质量。black:less is more,不妥协的代码格式化工具
概述
编码规范
pep8:Python 程序规范代码标准/风格指南
- 建议:直接使用 IDE 的相关工具来实现规范。
this
this:【标准库】python 之禅,The Zen of Python
1 | The Zen of Python, by Tim Peters |
flake8
flake8:PEP8(检查代码风格)+ Pyflakes(检查代码错误)+ McCabe(检查代码复杂度)等工具组合,用于检查 Python 代码风格和质量。
pylint:检查违反 PEP8 规范和常见错误的库,静态检查,过于严格、速度慢些,OUTmypy:Python 代码静态检查工具
- flake8 官方文档
- 当前选择:flake8
- 检查行长度、变量名称等
1 | flake8 test.py |
1 | --exclude : 排除的文件或者目录,使用逗号分割,可以是直接文件名,也可以是正则匹配的文件名,默认:default: .svn,CVS,.bzr,.hg,.git,__pycache |
black
black:less is more,不妥协的代码格式化工具
autopep8:以最低限度的标准对不符合 pep8 标准的代码进行修正yapf:旨在让代码看起来更整洁更友好,pep8 + 代码风格不一致的地方重新格式化。
- 当前选择:blake,不妥协
- 常见功能
- 自动格式化代码,如重新缩进行、修复缩进、重构常见的比较错误等
遇到的问题
- 问题:
git项目下 black 有点问题,报UnicodeDecodeError: 'gbk' codec can't decode byte 0xb9 in position 20: illegal multibyte sequence - 解决方案:原因在于 black 的源代码中有个地方打开时没有加 encoding
1 | # {python_dir}\lib\site-packages\black\__init__.py,line:5822,open()里加个 encoding |
