PEP8 python规范神器
如需转载,请注明出处:小婷儿的博客:https://www.cnblogs.com/xxtalhr/p/10645992.html
一、Jupyter notebook 篇
Jupyter notebook的代码要想写得规范,推荐用Code prettify插件。
1、安装插件Nbextensions
pip install jupyter_contrib_nbextensions

2、无报错再执行:
jupyter contrib nbextension install --user
3、安装模块
pip install yapf

4、选取Code prettify模块

5、使用:点击工具栏最右侧的按钮使用如下

- 使用前
def batch_gradient_decent(theta,X,y,epoch,alpha=0.01):
cost_data=[lr_cost(theta,X,y)]
_theta=theta.copy()
for _ in range(epoch):
_theta=_theta - alpha * gradient(_theta,X,y)
cost_data.append(lr_cost(_theta,X,y))
return _theta,cost_data
- 点击按钮使用后
def batch_gradient_decent(theta, X, y, epoch, alpha=0.01):
cost_data = [lr_cost(theta, X, y)]
_theta = theta.copy()
for _ in range(epoch):
_theta = _theta - alpha * gradient(_theta, X, y)
cost_data.append(lr_cost(_theta, X, y))
return _theta, cost_data
二、Pycharm篇
2.1 PyCharm集成pylint
pylint是代码检查工具,不能自动修改代码,Pylint 安装
pip install pylint
2.2 PyCharm 设置
文件(file)-设置(settings)-外部工具(external-tools)-添加,其中:
- program:
是python安装路径下的Scripts路径,我的是(建议搜索pylint.exe找到路径)
C:\ProgramData\Anaconda3\Scripts\pylint.exe
- Arguments:
--reports=n --disable=C0103 $FilePath$
(最后必须以$FilePath$结尾)
- working directory:
$FileDir$
(必须是这个)
- output filters:
$FILE_PATH$:$LINE$:
- 具体配置如图:

配置完毕,选择一个Python程序,右键点击,快捷菜单中会有“Extensions Tools -> Pylint”,点击运行即可。输出结果在执行程序结果的窗口(IDE下半部分)。对于每一个 Python 模块,Pylint 的结果中首先显示一些"*"字符 , 后面紧跟模块的名字,然后是一系列的 message, message 的格式如下: __MESSAGE_TYPE: LINE_NUM:[OBJECT:] MESSAGE__ MESSAGE_TYPE 有如下几种:
- (C) 惯例。违反了编码风格标准
- (R) 重构。写得非常糟糕的代码。
- (W) 警告。某些 Python 特定的问题。
- (E) 错误。很可能是代码中的错误。
- (F) 致命错误。阻止 Pylint 进一步运行的错误。

2.3 autopep8
autopep8是一款将python代码自动排版为PEP8风格的工具,autopep8安装
pip install autopep8

autopep8配置
文件(file)-设置(settings)-外部工具(external-tools)-添加,其中:
- Name:
autopep8
(起名而已,随便起)
- Program: autopep8
- Arguments:
--in-place --aggressive --aggressive $FilePath$
- Working directory:
$ProjectFileDir$
- Output filters:
$FILE_PATH$\:$LINE$\:$COLUMN$\:.*
- 具体配置如图:

鼠标放在该文件的编辑器中→右键→External Tools→点击Autopep8。这样你的代码就符合pep8的风格了。
三、安装和使用效果

例一
'''执行autopep8前的格式
sum = 1+10*2
print('sum:',sum)
'''
# 执行autopep8后格式
sum = 1 + 10 * 2
print('sum:', sum)
例二
import numpy as np #执行 autopep8 后 n = np.array(([1, 2, 3], [4, 5, 6], [7, 8, 9]))
#执行 autopep8 前
n = np.array(([1,2,3],[4,5,6],[7,8,9]))

PEP8 python规范神器的更多相关文章
- 老李分享:pep8 python代码规范
老李分享:pep8 python代码规范 什么是PEPPEP是 Python Enhancement Proposal 的缩写,翻译过来就是 Python增强建议书 . PEP8 译者:本文基于 20 ...
- PEP8 - Python编码规范
PEP8 - Python编码规范 PEP8 规范 官方文档:https://www.python.org/dev/peps/pep-0008/ PEP8 规范 中文翻译:http://www.cnb ...
- PEP8 Python编程规范
官方文档: https://www.python.org/dev/peps/pep-0008/ ---------------------------------------------------- ...
- PEP8 Python 编码规范整理(转)
决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的.所以今天下午我根据PEP 8整理了一份,以后都照此 ...
- Python 常用 PEP8 编码规范
Python 常用 PEP8 编码规范 代码布局 缩进 每级缩进用4个空格. 括号中使用垂直隐式缩进或使用悬挂缩进. EXAMPLE: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- python——PEP8 Python 编码规范整理
决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的.所以今天下午我根据PEP 8整理了一份,以后都照此 ...
- PEP8 Python 编码规范整理(Python)
add by zhj: 这个是豆瓣网友整理的PEP8,算是PEP8的一个简易版本,因为原PEP8内容太多,所以建议先看这篇文章,然后再看PEP8中文翻译 原文:http://www.douban.co ...
- Python pep8代码规范
title: Python pep8代码规范 tags: Python --- 介绍(Introduction) 官方文档:PEP 8 -- Style Guide for Python Code 很 ...
- python PEP8代码规范及问题
最近刚刚接触Python,为了养成好习惯,尽量保证自己写的代码符合PEP8代码规范,下面是过程中报出的警告及解决方法,英文有些翻译不太准确见谅,会不断更新: PEP 8: module level i ...
随机推荐
- 23.Odoo产品分析 (三) – 人力资源板块(4) – 招聘流程(1)
查看Odoo产品分析系列--目录 安装招聘流程模块: 可以看到我们在前面的章节中设置的"生产经理"岗位,和其他的看板视图一样,每一个岗位板块提供了各种便捷的操作入口和颜色设置. ...
- 小程序实践(三):九宫格实现及item跳转
效果图: 实现效果图红色线包含部分的九宫格效果,并附带item点击时间. --------------------------------------------------------------- ...
- MFC Bresesnham算法
Bresesnham算法绘制直线段 Bresenham算法的意义:高效的将图形光栅化.其计算过程中均采用加法运算,故大大减少了程序的开销. 绘制直线段(MFC中) //传入参数:起点.终点,颜色 vo ...
- VR技术了解(作业)
增强现实技术 概念:将现实世界和虚拟世界无缝集成的新技术. 突出特点: 真实世界与虚拟的信息集成 实时交互 三维空间中增添定位虚拟物 应用 医疗领域:医生可以利用增强现实技术,轻易地进行手术部位的精确 ...
- Git:二、本地文件操作
文件必须放在本地Git仓库的文件夹下,子文件夹也可以. 1.添加/修改 git add <文件名> 2.提交 git commit -m "本次提交说明" 可以add很 ...
- java 获取当前系统可用字体名称
//获取系统的字体 public static void getLocalFontFamily(){ GraphicsEnvironment ge=GraphicsEnvironment.getLoc ...
- web前端(2)—— 前端技术介绍
前端技术 前文了解了什么是前端,那么前端技术到底有哪些呢?最核心的就这三个: html/html5 css/css3 javascript 什么是HTML HyperText Markup Langu ...
- SQL Server Browser探究
一.官网关于SQL SERVER Browser服务的解释(谷歌翻译后稍作修改的): https://docs.microsoft.com/en-us/sql/tools/configuration- ...
- AngularJS学习之旅—AngularJS 简介(一)
一.AngularJS 简介 1.AngularJS 是一个 JavaScript 框架. AngularJS 是一个 JavaScript 框架.它是一个以 JavaScript 编写的库.Angu ...
- Centos7安装搭建FTP服务器(最简便方法)
简介: vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点. vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linu ...