IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 让Python代码符合PEP8的第三方库 -> 正文阅读

[Python知识库]让Python代码符合PEP8的第三方库

目录

前言

库的推荐

flake8【检查Python代码】

安装

案例

缺点

black【修改Python代码】

安装

案例

?结语

参考


前言

Python学习过程中,常常听到一个词——“Pythonic”。这是一种代码风格,至于什么样的风格才算是Pythonic,并没有一个明确的定义。

不过,Python发展的30年里,众多使用者在实际环境中慢慢达成一些代码编写方面的共识,总结出了一些可供参考的经验或是规则,PEP8就是其中之一。pep8规范(官网链接)

PEP8中包含的内容并不少,如果我记不住怎么办,接下来就来推荐两个能够辅助你写出符合PEP8规范代码的第三方库。

库的推荐

flake8【检查Python代码】

安装

flake8能够扫描并检测你的Python代码,并给出符合规范的建议。安装命令:

# Linux/macOS
$ python3 -m pip install flake8

# Windows
$ python -m pip install flake8

(如果pip路径已配置完成,可以直接pip install flake8)

案例

使用方法很简单,比如我编写了这么一段代码test.py:

from math import hypot

def vectorabs(x,y):
    return hypot(x, y)

x = 3
y=4
print(vectorlength(x,y))

math库中的hypot函数用于返回欧几里得范数,如果参数x,y表示一个向量,那么函数返回向量的模。

接下来让flake8对代码进行检查,命令及输出结果如下:

?以第一行输出为例“test.py”是检查的代码文件名;

“3:1”指第三行第一列;

“E302”为flake8错误代码;

剩余部分是flake8给出的修改建议,此处为导入包的语句应该和函数定义语句之间空两行,但是我空了一行。

第二条输出建议是,函数的参数x,y逗号后面应该加入一个空格。

......

缺点

flake8并不能完美地给出建议,比如常量的命名应该全为大写,并适当加入下划线以分割语义,如PI,MAX_NUM等。

而变量和函数名的规范应当是小写,并加以下划线做语义分割。

flake8是不知道你起的名字是不是用来存储常数值的,也就没办法建议你用大写还是小写。同样的,如果你命名中并未用下划线做语义上的分割,flake8也不会给予建议,因为它也不知道哪几个字母放一起就是一个单独的语义块。

因此,flake8不会过多在命名上提供建议,这些情况就需要我们自己注意了。

black【修改Python代码】

flake8很好用,那万一我酣畅淋漓地写了几百行上千行代码,一检测发现每行有两三处需要修改,多麻烦、多累呀。

那black就可以出场了,它能帮你自动修改Python代码。

安装

# Linux/macOS
$ python3 -m pip install black

# Windows
$ python -m pip install black

案例

仍旧以flake8中的脚本为例,black --check [filename]命令,判断代码是否需要修改。

?(输出的框框是编码问题,一个心碎的表情,无需关注)

black --diff [filename],查看black将要做的修改、

?加上“—”标记的是需要修改部分,而修改后的内容为“+”标记后的部分。

如,上图显示的第一个“—”处,是函数定义语句,而它的修改建议“+”之后,是在定义语句前多空一行,并且函数结束后再空两行。

black [filename]命令,修改代码:

?执行这条命令,black就会修改你的源码。之后再查看源码,就显得没那么辣眼睛了。

结语

要写出Pythonic的代码,需要大量阅读他人编写的规范代码,并加以长时间的练习才能达到。

两个第三方库可以提供些许的帮助,但道阻且长,请君努力。

参考

Write More Pythonic Code(原文链接,收录于PyCoder's Weekly #517 March 22, 2022)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:06:36  更:2022-04-04 12:08:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:01:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码