首頁  >  文章  >  後端開發  >  Pycharm設定代碼風格的圖文教學

Pycharm設定代碼風格的圖文教學

Y2J
Y2J原創
2017-05-11 11:00:457469瀏覽

這篇文章主要為大家詳細介紹了最全的Pycharm學習教程第二篇程式碼風格,具有一定的參考價值,有興趣的小夥伴們可以參考一下

如何創建一個Python工程並使其具有Pycharm的程式碼風格,具體如下

1、主題

  這部分教學主要介紹如何建立一個Python工程並使其具有Pycharm的程式碼風格。你將會看到Pycharm讓你的原始碼變得非常簡潔美觀,帶有合適的縮排、空格等等,因此Pycharm也是一款程式碼品質管理的利器。

  這部分教學並不會介紹如何使用Python進行程式設計,更多關於Python程式設計的知識請參考:Python程式設計

2、準備工作

  在開始之前,請確認一下情況:

  (1)安裝了Pycharm2.7或更高版本的軟體

  (2)已經新建了一個Python工程(File→New Project),詳情參考:Pycharm新建工程文件

  (3)已經在工程下添加了兩個目錄:src和test_dir(File→New or Alt+Insert),詳情參考:Pycharm新建工程文件

  (4)已經向工程目錄下添加了對應的Python文件(File→New or Alt+Insert),詳情參考:Pycharm新工程檔案

3、程式碼封包錯誤的高亮模式

  開啟一個新建的Python檔案進行編輯(F4),這個檔案中預設有兩行代碼:作者姓名和工程名稱。之所以會出現這兩行程式碼,是因為Python檔案在創建時是基於檔案模板進行創建的,因此會預先定義這兩個變數

  接下來輸入關鍵字class,當你開始輸入時,Pycharm的拼字提示機制會立即列出候選項來幫助你完成程式碼:

  這個紅色波浪線標記了下次程式碼輸入的期望位置,在這種情況下,它是一個預輸入定義符。鍵入類別名稱Solver,紅色波浪線將會移動到類別名稱之後。如果你將術滑鼠指標停留在波浪線上,將會看到所提示的錯誤訊息("Colon expected"),當然,此時位於右側滾動欄的紅色標誌也會給出相同的錯誤訊息。

  OK,輸入冒號,回車。根據Python程式碼風格標準,需要定義下一個類別聲明,當然此時我們可以透過輸入空格來取消它。

4、聚焦PEP8程式碼風格檢查

  然而,在預設情況下這些警告提醒是不可見的,所以首先需要做的就是提升它們的優先權以進行顯示。點選設定按鈕,然後在Settings/Preferences對話方塊中的Inspections 頁面,鍵入PEP8來找到所有相關選項,在對應的下拉選單中選取warning選項:

  點選應用,關閉對話框,返回原始碼編輯介面。

5、詳解PEP8程式碼風格

  現在Ptcharm已經能夠正常顯示它的程式碼規格,確保你所寫的程式碼格式的完整性。接下來當我們輸入下一語句(例如def demo(self,a,b,c):),Pycharm將根據PEP8的程式碼規範機制來報告目前存在的格式問題。

  正如你所見的那樣,Pycharm將其所支援的PEP8規範設定為預設的正規Python程式碼格式標準。如果你打開inspections的列表,(Ctrl+Alt+S→Inspections),你可以看到Pycharm在你的程式碼中載入了pep8.py工具,用來精確定位你的程式碼風格問題。

6、程式碼檢查以及相關設定

#

  順便說一下,如果你仔細觀察 Inspections page頁面中 inspection profile的缺省設定(如果你是第一次進行設定的話)會發現,Pycharm已經將所有的程式碼規則用於目前的工程中了。

  接下來我們對程式碼檢查機製做兩方面的改變:

  (1)在測試腳本中,將拼字錯誤標記為綠色

  (2)在說明在文件(註解)中,將拼字錯誤改為紅色提示

  接下來我們一一進行介紹

7、建立一個作用域

  首先我們需要建立兩個作用域用來進行兩個不同應用範圍的設定。點選設定按鈕進入Settings/Preferences對話框,開啟Scopes頁面,點選上方綠色的加號來建立一個局部類型的作用域:

##  在Add New Scope對話方塊中,鍵入作用域名稱,然後在工程管理器(樹型結構)中選擇需要包含到目前作用域中的目錄:test_dir,注意此時的Pattern列已經自動顯示載入路徑:

  重複上述步驟再新建一個Production作用域。

8、在新建的作用域中建立程式碼檢查控制檔

  接下來,建立一份缺省程式碼控制檔的拷貝檔案(處於

安全性考慮):

  然後在對它進行命名,例如我們在這裡命名為MyProjectProfile。這個新的

設定檔是先前預設缺省設定檔的複製版,兩者的設定內容完全相同。

  接下來選取我們拷貝的程式碼控製文件,定位到Spelling項目進行對應改動。為了快速找到Spelling選項葉,只需在

搜尋欄中輸入Spel即可。

  接著透過點選綠色的加號來新增我們先前新建的Test作用域,然後再點選新增Production作用域:

  在Test作用域中,程式碼檢查的嚴格等級如圖中左側所示,Production作用域中有類似設置,不過所選的

下拉列表中的安全等級不同:

  留意對話框中作用域名稱的字體顏色,如果為灰色則表示未做改動,若是藍色則表示已經更改了相關設定。

  套用變更設定​​然後關閉對話方塊。

  此時,依照要求修改後的設定檔已經完成,名稱為MyProjectProfile,其在Test作用域和Production作用域中有不同的拼字檢查設定。接下來我們將這個設定套用到對應程式碼區域,在主程式選單中選擇Code→Inspect Code,在對話方塊中指定已經定義好的作用域和設定檔:


  當然我們需要操作兩次,因為有兩個定義域需要進行相關配置的更改,並且可以將相關的配置清單匯出。

  比較一下這兩個作用域的拼字檢查結果:

  如你所見,在Production作用域為紅色波浪線,在Test作用域為綠色波浪線。

9、錯誤提示的高亮代碼顯示

  除此之外,Pycharm還會根據設定檔控制,對目前的一些錯誤進行高亮顯示處理。

  舉個例子,如果你的拼字檢查設定檔中包含"Unresolved references"這條檢查規則,同時你又使用了一條尚未進行import的符號,Pycharm就會用底線標出無法解釋的符號來提示你導入相關模組:

  參考auto-import tutorial來完成相關模組的導入工作

10、快速成型以及多次提示

  你是否已經注意到在程式碼左端經常出現一個亮起的黃色或紅色的燈泡然而你卻不希望看到它?

11、原始碼自動產生

  Pycharm提供了許多程式碼自動產生機制,你可以參考product documentation中有關自動產生程式碼的介紹:Auto-generating code,接下來我們來探討Pycharm的主程式碼產生機制。當然我們需要先將 Solver.py中已有的內容刪除,重新開始。

  首先,建立一個類別實例:

#  OK,Pycharm成功建立出了一個類別:

#  接下來我們在類別中加入一個成員方法,為了達到這個目的,首先需要在類別實例後面輸入一個點號,然後鍵入成員函數名稱。此時這個成員函數是未定義的,因此Pycharm會提示我們來建立一個:

#  然後在函數體中手動輸入原始碼,例如我們輸入一段計算二次方程式判別式的程序,其中有一個函數sqrt()來自math模組,但目前尚未被包含,我們繼續輸入,看Pycharm如何解決這個問題:

  因此,我們原始碼最終如下:

  然而,程式碼缺少一些重要的邏輯分析。我們需要分析判別式結果d,如果它是零或正數,則正常解方程式的根;如果為負數,我們需要拋出一個異常,Pycharm會如何幫助我們完成這個任務?

  讓我們用if語句來包含一塊程式碼,也就是選取當d為非負數時需要執行的語句:

  然後按下Ctrl+Alt +T,或點選主選單中的Code→Surround With選項,Pycharm將會彈出下拉式選單,顯示目前情況下可用的範圍控制結構:

  選擇if選項,Pycharm會自動加入if True:語句到選取的行:

#  這裡我們不會對布林表達式做過多解釋,根據需要我們直接將True替換成d >= 0,接下裡將遊標定位到最後一行,回車,遊標將會出現在下一行,和if保持相同的縮進,輸入else: ,然後觀察Pycharm給出的預輸入提示:

  再次回車,移動遊標,這裡我們在Pycharm強大的拼寫提示下輸入拋出異常的程式碼:

12、程式碼格式修改

  再次觀察Solver.py檔案會發現,右邊捲動槽中顯示了許多黃色標記,將滑鼠懸停在上邊,Pycharm將會顯示對應的程式碼格式問題:

  好在這些資訊都是警告訊息,並不會影響到程式碼的運行結果,但是格式問題實在太多了,那麼如何把程式碼格式調整得更為美觀規範呢?

  這裡所用到的就是code reformatting了,不妨試試看。

  為了呼叫格式化操作,只需按下Ctrl+Alt+L快捷鍵,或者在主選單中點擊Code→Reformat Code,此時我們驚訝發現所有的PEP8類別格式問題都已經消除。

  當然我們可以自訂格式化標準,開啟 code style settings對話框,選擇指定語言(Python),進行必要的變更即可:

13、新增註解文件

  程式碼格式調整完之後,左側仍留有一些黃色的標誌位,滑鼠懸停後提示類似"Missing docstring"的警告訊息,程式碼前方亮著的小黃燈泡也提示同樣的訊息:

  解決方法也很簡單,在彈出的下拉式選單中選擇Insert docstringPycharm就會自動加入一段帶格式的文字作為註解文件:

##  注意這裡有若干中註解文檔的格式,你可以在Python Integrated Tools頁面中設定目前需要插入哪種格式的註解文檔,例如Epytext、plain text等

14、輸入註解

  註釋文件用以解釋

函數的參數、傳回值、變數的型別及意義。舉個例子,我們需要控制demo()的輸入參數類型,我們就需要在註解文檔中加入對應的註解資訊:

##  至此,主函數的註解文檔完成。

  接下來在函數呼叫的過程中,若出現參數類型不符的情況,Pycharm會依據註解文件來給予回應的錯誤提示訊息:

【相關推薦】

1.

Python免費影片教學

#2.

馬哥教育python基礎語法全講解影片

#3.

Python學習手冊

以上是Pycharm設定代碼風格的圖文教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn