博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PEP8 python规范神器
阅读量:5008 次
发布时间:2019-06-12

本文共 2367 字,大约阅读时间需要 7 分钟。

 
如需转载,请注明出处:小婷儿的博客:

一、Jupyter notebook 篇

Jupyter notebook的代码要想写得规范,推荐用Code prettify插件。

1、安装插件Nbextensions

 1 pip install jupyter_contrib_nbextensions 

2、无报错再执行:

 1 jupyter contrib nbextension install --user 

3、安装模块

 1 pip install yapf 

4、选取Code prettify模块

 

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

  • 使用前
1 def batch_gradient_decent(theta,X,y,epoch,alpha=0.01):2     cost_data=[lr_cost(theta,X,y)]3     _theta=theta.copy() 4     for _ in range(epoch):5         _theta=_theta - alpha * gradient(_theta,X,y)6         cost_data.append(lr_cost(_theta,X,y))7     return _theta,cost_data

 

  • 点击按钮使用后
  • 1 def batch_gradient_decent(theta, X, y, epoch, alpha=0.01):2     cost_data = [lr_cost(theta, X, y)]3     _theta = theta.copy()4     for _ in range(epoch):5         _theta = _theta - alpha * gradient(_theta, X, y)6         cost_data.append(lr_cost(_theta, X, y))7     return _theta, cost_data

 

二、Pycharm篇

2.1 PyCharm集成pylint

  pylint是代码检查工具,不能自动修改代码,Pylint 安装 

  1 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安装

 1 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*2print('sum:',sum)'''# 执行autopep8后格式sum = 1 + 10 * 2print('sum:', sum)

例二

1 import numpy as np2 3 #执行 autopep8 后4 5 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]))

 

 

 

转载于:https://www.cnblogs.com/xxtalhr/p/10645992.html

你可能感兴趣的文章
Jmeter如何把CSV文件的路径设置成一个变量,且变量的值是一个相对路径
查看>>
免费的自动构建CI
查看>>
iOS10 app连接不上网络的问题
查看>>
结对开发之电梯调度最终稿(徐梦迪&刘博)
查看>>
simple java mail
查看>>
信息建模
查看>>
二进制中1的个数
查看>>
Android ListView 滚动时背景变黑色
查看>>
《机器学习》第一章 引言 笔记加总结
查看>>
每天一点点之vue框架开发 - 引入bootstrap
查看>>
【刷题】洛谷 P3806【模板】点分治1
查看>>
使用ffmpeg步骤
查看>>
RabbitMQ inequivalent arg 'durable' for exchange 'csExchange' in vhost '/': received
查看>>
《2017中国云计算评测报告》
查看>>
有木有兄弟在研究HTML5和css3啊?进来唠叨一下,分享一下你的资源
查看>>
Hibernate 中一对多和多对多映射
查看>>
EL表达式_详解
查看>>
Mybatis 数据库物理分页插件 PageHelper
查看>>
虚函数、纯虚函数详解
查看>>
z-stack中数据的发送,广播、组播、点对点
查看>>