PEP8 python規範神器

 
如需轉載,請註明出處:小婷兒的博客:http://www.javashuo.com/article/p-wbawruot-dw.html

1、Jupyter notebook 篇

Jupyter notebook的代碼要想寫得規範,推薦用Code prettify插件。html

一、安裝插件Nbextensionspython

 1 pip install jupyter_contrib_nbextensions app

二、無報錯再執行:編輯器

 1 jupyter contrib nbextension install --user 工具

三、安裝模塊編碼

 1 pip install yapf spa

四、選取Code prettify模塊插件

 

五、使用:點擊工具欄最右側的按鈕使用以下code

  • 使用前
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

 

2、Pycharm篇

2.1 PyCharm集成pylint

  pylint是代碼檢查工具,不能自動修改代碼,Pylint 安裝 htm

  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的風格了。

3、安裝和使用效果

 

例一

'''執行autopep8前的格式
sum = 1+10*2
print('sum:',sum)
'''
# 執行autopep8後格式
sum = 1 + 10 * 2
print('sum:', sum)

例二

1 import numpy as np
2 
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]))

 

 

相關文章
相關標籤/搜索