如何让 Python 代码更专业?

你好,我是征哥,新来的朋友,还请点上面的卡片关注一下。

自己写代码只给自己看,其实怎么写都行。一旦有团队合作,或者要分享自己的代码,就要好好写了,专业的代码可以为自己积累技术影响力。

今天就来分享如何使用 black、mypy、pylint 来让自己的代码更加专业。

1、用 black 来格式化

black 可以按照 PEP8 的规范进行格式化,同时注重代码的阅读体验。

如果问我对哪一种格式化工具最满意,毫无疑问是 black。写完代码,觉得代码看着不爽,就在命令行 black xxx.py 就可以了,也可以 black 一个目录,对该目录的所有文件进行格式化。

安装:

pip install black

除了简单的 black 文件名或目录,black 还有很多选项非常实用。

比如指定 Python 版本进行格式化(不同版本略有不同):

black -t py310 some_python_file.py
#black --target-version=py310

设置代码行的长度:

black -l 79 some_python_file.py

仅仅检查而不修改:

black --check some_python_file.py

2、用 mypy 检查类型提示

mypy 是 Python 的静态类型检查器,可用于检查添加到 Python 代码中的类型注释。mypy 在检查不同函数甚至模块之间的类型依赖关系方面非常强大。

之前写过一篇文章 mypy 这个工具,让Python的类型提示变得非常实用

里面有安装、使用、配置的方法,这里就不再赘述。

3、使用 pylint 分析代码

Pylint 是一个自动 Python 代码分析工具,可以检测编程错误并根据 PEP8 给出重构建议。

安装:

pip install pylint

使用:

$ pylint some_python_scripts.py
************* Module some_python_scripts
some_python_scripts.py:1:0: C0114: Missing module docstring (missing-module-docstring)
some_python_scripts.py:5:16: C0103: Argument name "n" doesn't conform to snake_case naming style (invalid-name)
some_python_scripts.py:5:0: C0116: Missing function or method docstring (missing-function-docstring)
some_python_scripts.py:21:0: C0116: Missing function or method docstring (missing-function-docstring)
some_python_scripts.py:21:18: W0621: Redefining name 'numbers' from outer scope (line 46) (redefined-outer-name)
some_python_scripts.py:27:14: C0209: Formatting a regular string which could be a f-string (consider-using-f-string)
------------------------------------------------------------------
Your code has been rated at 7.50/10 (previous run: 7.50/10, +0.00)

根据以上输出,重构代码。

为 VSCode 配置这三个工具

1、为 VSCode 配置 black:

打开首选项 -> 设置,搜索 Python,按下图进行配置

5d3aa13197e317b622aa9160d8dfb150.png

2、为 VSCode 配置 mypy:

b142d1440a540221e5a8c9fa31221429.png

3、为 VSCode 配置 pylint:

484bdbebbf37e41755acb72195dff1af.png

最后的话

本文分享了让代码更加专业的方法,如果有帮助,还请点在看、转发,帮助更多的朋友。

6af7c7fbdad94fd9c7b41988813f9d67.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值