如需转载,请注明出处:小婷儿的博客: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规范神器的更多相关文章

  1. 老李分享:pep8 python代码规范

    老李分享:pep8 python代码规范 什么是PEPPEP是 Python Enhancement Proposal 的缩写,翻译过来就是 Python增强建议书 . PEP8 译者:本文基于 20 ...

  2. PEP8 - Python编码规范

    PEP8 - Python编码规范 PEP8 规范 官方文档:https://www.python.org/dev/peps/pep-0008/ PEP8 规范 中文翻译:http://www.cnb ...

  3. PEP8 Python编程规范

    官方文档: https://www.python.org/dev/peps/pep-0008/ ---------------------------------------------------- ...

  4. PEP8 Python 编码规范整理(转)

    决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的.所以今天下午我根据PEP 8整理了一份,以后都照此 ...

  5. Python 常用 PEP8 编码规范

    Python 常用 PEP8 编码规范 代码布局 缩进 每级缩进用4个空格. 括号中使用垂直隐式缩进或使用悬挂缩进. EXAMPLE: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  6. python——PEP8 Python 编码规范整理

    决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的.所以今天下午我根据PEP 8整理了一份,以后都照此 ...

  7. PEP8 Python 编码规范整理(Python)

    add by zhj: 这个是豆瓣网友整理的PEP8,算是PEP8的一个简易版本,因为原PEP8内容太多,所以建议先看这篇文章,然后再看PEP8中文翻译 原文:http://www.douban.co ...

  8. Python pep8代码规范

    title: Python pep8代码规范 tags: Python --- 介绍(Introduction) 官方文档:PEP 8 -- Style Guide for Python Code 很 ...

  9. python PEP8代码规范及问题

    最近刚刚接触Python,为了养成好习惯,尽量保证自己写的代码符合PEP8代码规范,下面是过程中报出的警告及解决方法,英文有些翻译不太准确见谅,会不断更新: PEP 8: module level i ...

随机推荐

  1. Java面试题总结(不定期更新)

    1.HashMap和Hashtable的区别? HashMap:key.value都可以为空,线程不安全.初始容量16,扩容方式每次为2倍 Hashtable:不支持null key 和null va ...

  2. Jmeter和Loadrunner的异同

    1.jmeter的架构跟loadrunner原理一样,都是通过中间代理,监控&收集并发客户端发现的指令,把他们生成脚本,再发送到应用服务器,再监控服务器反馈的结果的一个过程. 2.分布式中间代 ...

  3. 通过UNIX域套接字传递描述符的应用

      传送文件描述符是高并发网络服务编程的一种常见实现方式.Nebula 高性能通用网络框架即采用了UNIX域套接字传递文件描述符设计和实现.本文详细说明一下传送文件描述符的应用. 1. TCP服务器程 ...

  4. webpack项目轻松混用css module

    前言 本文讲述css-loader开启css模块功能之后,如何与引用的npm包中样式文件不产生冲突. 比如antd-mobilenpm包的引入.在不做特殊处理的前提下,样式文件将会被转译成css mo ...

  5. web前端(9)—— CSS属性

    属性 终于到css属性,前面就零零散散的用了什么color,font-size之类,本篇博文就专项的介绍它了 字体属性 font-family 此属性是设置字体样式的,比如微软雅黑,方正书体,华文宋体 ...

  6. CENTOS7错误:Cannot find a valid baseurl for repo: base/7/x86_6

    CENTOS7错误:Cannot find a valid baseurl for repo: base/7/x86_6 解决办法: 1.进入/etc/sysconfig/network-script ...

  7. Scrapy(爬虫框架)中,Spider类中parse()方法的工作机制

    parse(self,response):当请求url返回网页没有指定回调函数,默认的Request对象的回调函数,用来处理网页返回的response,和生成的Item或者Request对象 以下分析 ...

  8. 安装Window 10系统------计算机经验

    为什么这次安装window10系统呢?不是和window7系统的安装方法一样么?如果你是这样的想的话,是不完全对的,因为window10系统的安装有些繁杂,需要耐心.下面我就准备了官方原版的windo ...

  9. 4.11Python数据处理篇之Matplotlib系列(十一)---图例,网格,背景的设置

    目录 目录 前言 (一)图例legend 1.默认不带参数的图例 2.添加参数的图例 3.将图例移动到框外 (二)网格grid 1.说明 2.源代码: 3.输出效果 (三)背景axses 1.设置全局 ...

  10. nuxt博客项目

    最近使用nuxt服务端渲染自己开发了一个博客,主要用到的技术有nuxt.nginx.koa2.mysql.https.OAuth2.0(github登录),有兴趣的可以看看,能star一下就更好了. ...