| |
|
开发:
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的第三方库 |
目录 前言Python学习过程中,常常听到一个词——“Pythonic”。这是一种代码风格,至于什么样的风格才算是Pythonic,并没有一个明确的定义。 不过,Python发展的30年里,众多使用者在实际环境中慢慢达成一些代码编写方面的共识,总结出了一些可供参考的经验或是规则,PEP8就是其中之一。pep8规范(官网链接) PEP8中包含的内容并不少,如果我记不住怎么办,接下来就来推荐两个能够辅助你写出符合PEP8规范代码的第三方库。 库的推荐flake8【检查Python代码】安装flake8能够扫描并检测你的Python代码,并给出符合规范的建议。安装命令:
(如果pip路径已配置完成,可以直接pip install flake8) 案例使用方法很简单,比如我编写了这么一段代码test.py:
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代码。 安装
案例仍旧以flake8中的脚本为例,black --check [filename]命令,判断代码是否需要修改。 ?(输出的框框是编码问题,一个心碎的表情,无需关注) black --diff [filename],查看black将要做的修改、 ?加上“—”标记的是需要修改部分,而修改后的内容为“+”标记后的部分。 如,上图显示的第一个“—”处,是函数定义语句,而它的修改建议“+”之后,是在定义语句前多空一行,并且函数结束后再空两行。 black [filename]命令,修改代码: ?执行这条命令,black就会修改你的源码。之后再查看源码,就显得没那么辣眼睛了。 结语要写出Pythonic的代码,需要大量阅读他人编写的规范代码,并加以长时间的练习才能达到。 两个第三方库可以提供些许的帮助,但道阻且长,请君努力。 参考Write More Pythonic Code(原文链接,收录于PyCoder's Weekly #517 March 22, 2022) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |