首页 > 编程语言 >Pycharm 如何自动调整 Python 代码符合 pep8 编码规范

Pycharm 如何自动调整 Python 代码符合 pep8 编码规范

时间:2022-10-27 23:57:28浏览次数:78  
标签:autopep8 编码 Python 代码 pep8 var Pycharm

前言

学生时代,写的一手漂亮的好字,能给人留下好的印象。作为 IT 人,写的一手漂亮的代码也会给人留下美好的印象。
代码就是自己的脸面,不管写质量怎样,首先要写的漂亮。Python 有一套 pep8 编码规范标准。

什么是 pep8 编码规范标准

PEP是Python Enhancement Proposal的缩写,通常翻译为“Python增强提案”。
每个PEP都是一份为Python社区提供的指导Python往更好的方向发展的技术文档,其中的第8号增强提案(PEP 8)是针对Python语言编订的代码风格指南。

​尽管我们可以在保证语法没有问题的前提下随意书写Python代码,但是在实际开发中,采用一致的风格书写出可读性强的代码是每个专业的程序员应该做到的事情,
也是每个公司的编程规范中会提出的要求,这些在多人协作开发一个项目(团队开发)的时候显得尤为重要。

我们可以从Python官方网站的PEP 8链接中找到该文档https://peps.python.org/pep-0008/

这套编码规范要求有很多,没个1-2年的代码功底,你根本记不住。

举个例子

先看一个不好的示范

# Wrong:
from time import time,strftime

def long_function_name(
        var_one,var_two,var_three,var_four):
    print(var_one)
    print(var_two)
    print(time())
    return "hello"

# 调用函数
foo = long_function_name(var_one="a",var_two="b",var_three="c",var_four="d")
print(foo)

上面的代码虽然运行没有问题,但是在编辑器里面阅读会让人分分钟想骂娘

写的代码不用桨,全靠浪~~~

Pycharm 安装autopep8

如果我们想写出没有浪的代码,我们也不需要用桨,用 pycharm 的插件 autopep8 即可实现一键实现。

先pip安装autopep8

pip install autopep8

安装成功后开始在pycharm配置autopep8
依次点击file–>settings–>tools–>external tools–>点击绿色的加号添加工具弹出以下界面:
name和description可以自己随便写

找到安装的autopep8所在位置,在Script目录下
如果用的虚拟环境,那么在venv/Script目录下

Tool setting三个参数
Progarm: D:\...\venv\Scripts\autopep8.exe填写autopep8.exe的绝对地址
Arguments: --in-place --aggressive $FilePath$
Working directory: $ProjectFileDir$

自动调整pep8格式

上面的步骤安装完成后,回到 pycharm 的代码区域
右键-External Tools- autopep8

也可以在顶部Tools 中找到

点击后代码会自动调整为pep8规范

当然这个也不是100%的给你全部调整,它会调整一些基本的格式,比如缩进四个空格,函数前面空2行,变量左右两边给空格等一些基础的。
其它的不能调整的需要自己手工再调整下。

让代码更完美

pep8 让你的代码符合编码规范, 如果想写到完美,还需要进一步调整

完美看到右侧会有一些不同颜色的横线,这其实就是一些警告,需要自己再进一步调整,去掉多余代码,减少重复代码

当我们看到右侧没有各种颜色的横线,并且右上角有个绿色的√,那么恭喜你,你的代码是漂亮干净并且完美的!

标签:autopep8,编码,Python,代码,pep8,var,Pycharm
From: https://www.cnblogs.com/yoyoketang/p/16834427.html

相关文章

  • idapython修复全局变量段未识别指针
    idapython修复全局变量段未识别指针  在逆向的过程中,经常会遇到虚表或者指针数组的实现,这种时候在回溯一些危险函数调用的时候,经常找不到交叉引用,这里记录一下,下次......
  • python 脚本统计fasta文件每条scaffold的碱基长度
     001、[root@pc1test]#cata.fa>chr1aattcc>chr2ttggccgg>chr3aa[root@pc1test]#cattest.py#!/usr/bin/pythonin_file=open("a.fa","r")dict1=d......
  • python 爬取电影天堂
    代码如下:#1.定位到电影天堂必看片栏目#2.从其中提取到子页面的连接地址#3.请求子页面的连接地址并拿到下载地址importrequestsimportredomain="https://......
  • python正则匹配日期,手机号,邮箱地址,QQ号等
    2、匹配年月日日期格式2018-12-31([12]\d{3})-(0?[1-9]|1[0-2])-(0?[1-9]|[12]\d|3[01])0?[1-9]|1\d|2\d|3[01]=>0?[1-9]|[12]\d|3[01]3、匹配qq号5-12......
  • 24、python函数篇 hashlib模块、subprocess模块、logging模块
    目录一、hashlib模块1、简介2、基本操作与用法二、subprocess模块1、简介2、基本操作与用法三、logging模块1、简介2、基本操作与用法一、hashlib模块1、简介什么是哈希......
  • Python: Command Pattern
    GeovinDuCommand.py#命令模式CommandPatternGeovinDuCommand.py#WebBrowser:classWebBrowser(object):def__init__(self):self.bookmarks=......
  • python打包技巧:彻底解决pyinstaller打包exe文件太大的问题
    之前也写过很多的小工具,粉丝朋友们应该都知道在本公众号内回复任意关键字即可获取以往的工具源码或是exe可执行应用。【阅读全文】因为以往发过的小工具基本都是几十MB......
  • Python-requests 模块
    requests模块Python中原生的基于网络请求的模块,主要用来发送HTTP请求,简单便捷,效率极高.工作流程:指定url发起请求获取响应数据持久化存储requests请求......
  • Python中path中使用正则,及路由分发
    Pythonweb模版Django-15设置urls.py中的urlpatterns,用path方法时不能用正则表达式https://blog.csdn.net/Pansc2004/article/details/80495723      urlp......
  • python爬虫 数据解析
      RegularRxpression正则表达式(字符串语法匹配)常用元字符:  量词:  贪婪匹配(到最后一个匹配项停止,即全部匹配)和惰性匹配(匹配尽量少的对象,使用到回溯算法:先......