溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Pycharm代碼應(yīng)用風(fēng)格是什么

發(fā)布時間:2021-10-13 15:39:03 來源:億速云 閱讀:170 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“Pycharm代碼應(yīng)用風(fēng)格是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Pycharm代碼應(yīng)用風(fēng)格是什么”吧!

1、主題

  這部分教程主要介紹如何創(chuàng)建一個Python工程并使其具有Pycharm的代碼風(fēng)格。你將會看到Pycharm使你的源碼變得非常簡潔美觀,帶有合適的縮進(jìn)、空格等等,因此Pycharm也是一款代碼質(zhì)量管理的利器。

  這部分教程并不會介紹如何使用Python進(jìn)行編程,更多有關(guān)Python編程的知識請參照:Python編程

  2、準(zhǔn)備工作

  在開始之前,請確認(rèn)一下情況:

 ?。?)安裝了Pycharm2.7或更高版本的軟件

 ?。?)已經(jīng)新建了一個Python工程(File→New Project),詳情參照:Pycharm新建工程文件

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

 ?。?)已經(jīng)向工程目錄下添加了對應(yīng)的Python文件(File→New or Alt+Insert),詳情參照:Pycharm新建工程文件

  3、代碼報(bào)錯的高亮模式

  打開一個新建的Python文件進(jìn)行編輯(F4),這個文件中默認(rèn)有兩行代碼:作者姓名和工程名稱。之所以會出現(xiàn)這兩行代碼,是因?yàn)镻ython文件在創(chuàng)建時是基于文件模板進(jìn)行創(chuàng)建的,因此會預(yù)定義這兩個變量。

  接下來輸入關(guān)鍵字class,當(dāng)你開始輸入時,Pycharm的拼寫提示機(jī)制會立即列出候選項(xiàng)來幫助你完成代碼:

Pycharm代碼應(yīng)用風(fēng)格是什么

  這個紅色波浪線標(biāo)記了下次代碼輸入的期望位置,在這種情況下,它是一個預(yù)輸入定義符。鍵入類名Solver,紅色波浪線將會移動到類名之后。如果你將術(shù)鼠標(biāo)指針懸停在波浪線上,將會看到所提示的錯誤信息("Colon expected"),當(dāng)然,此時位于右側(cè)滾動欄的紅色標(biāo)志也會給出相同的錯誤信息。

Pycharm代碼應(yīng)用風(fēng)格是什么

  OK,輸入冒號,回車。根據(jù)Python代碼風(fēng)格標(biāo)準(zhǔn),需要定義下一個類聲明,當(dāng)然此時我們可以通過輸入空格來取消它。

  4、聚焦PEP8代碼風(fēng)格檢查

  然而,在默認(rèn)情況下這些警告提醒是不可見的,所以首先需要做的就是提升它們的優(yōu)先級以進(jìn)行顯示。單擊設(shè)置按鈕,然后在Settings/Preferences對話框中的 Inspections 頁面,鍵入PEP8來找到所有相關(guān)選項(xiàng),在對應(yīng)的下拉菜單中選中warning選項(xiàng):

Pycharm代碼應(yīng)用風(fēng)格是什么

  單擊應(yīng)用,關(guān)閉對話框,返回源碼編輯界面。

  5、詳解PEP8代碼風(fēng)格

  現(xiàn)在Ptcharm已經(jīng)能夠正常顯示它的代碼規(guī)范,確保你編寫的代碼格式的完整性。接下來當(dāng)我們輸入下一條語句(例如def demo(self,a,b,c):),Pycharm將根據(jù)PEP8的代碼規(guī)范機(jī)制來報(bào)告當(dāng)前存在的格式問題。

Pycharm代碼應(yīng)用風(fēng)格是什么

  正如你所見到的那樣,Pycharm將其所支持的PEP8規(guī)范設(shè)置為默認(rèn)的正規(guī)Python代碼格式標(biāo)準(zhǔn)。如果你打開inspections的列表,(Ctrl+Alt+S→Inspections),可以看到Pycharm在你的代碼中加載了pep8.py工具,用來精確定位你的代碼風(fēng)格問題。

Pycharm代碼應(yīng)用風(fēng)格是什么

  6、代碼檢查以及相關(guān)設(shè)置

  順便說一下,如果你仔細(xì)觀察 Inspections page頁面中 inspection profile的缺省設(shè)置(如果你是第一次進(jìn)行設(shè)置的話)會發(fā)現(xiàn),Pycharm已經(jīng)將所有的代碼規(guī)則用于當(dāng)前的工程中了。

  接下來我們對代碼檢查機(jī)制做兩方面的改動:

  (1)在測試腳本中,將拼寫錯誤標(biāo)記為綠色

  (2)在說明文檔(注釋)中,將拼寫錯誤改為紅色提示

  接下來我們一一進(jìn)行介紹

  7、創(chuàng)建一個作用域

  首先我們需要創(chuàng)建兩個作用域用來進(jìn)行兩個不同應(yīng)用范圍的設(shè)置。單擊設(shè)置按鈕進(jìn)入 Settings/Preferences對話框,打開Scopes頁面,單擊上方綠色的加號來創(chuàng)建一個局部類型的作用域:

Pycharm代碼應(yīng)用風(fēng)格是什么

  在Add New Scope對話框中,鍵入作用域名稱,然后在工程管理器(樹型結(jié)構(gòu))中選擇需要包含到當(dāng)前作用域中的目錄:test_dir,注意此時的Pattern欄已經(jīng)自動顯示加載路徑:

Pycharm代碼應(yīng)用風(fēng)格是什么

  重復(fù)上述步驟再新建一個Production作用域。

  8、在新建的作用域中創(chuàng)建代碼檢查控制文件

  接下來,創(chuàng)建一份缺省代碼控制文件的拷貝文件(處于安全考慮):

  Pycharm代碼應(yīng)用風(fēng)格是什么

  然后在對它進(jìn)行命名,例如我們這里命名為MyProjectProfile。這個新的配置文件是之前默認(rèn)缺省配置文件的復(fù)制版,兩者的設(shè)置內(nèi)容完全相同。

  接下來選中我們拷貝的代碼控制文件,定位到Spelling項(xiàng)進(jìn)行相應(yīng)改動。為了快速找到Spelling選項(xiàng)葉,只需在搜索欄中輸入Spel即可。

  然后通過單擊綠色的加號來添加我們之前新建的Test作用域,然后再次單擊添加Production作用域:

Pycharm代碼應(yīng)用風(fēng)格是什么

  在Test作用域中,代碼檢查的嚴(yán)格等級如圖中左側(cè)所示,Production作用域中有類似設(shè)置,不過所選擇的下拉列表中的安全等級不同:

Pycharm代碼應(yīng)用風(fēng)格是什么

  留意對話框中作用域名稱的字體顏色,如果為灰色則說明未做改動,若是藍(lán)色則說明已經(jīng)更改了相關(guān)設(shè)置。

  應(yīng)用更改設(shè)置然后關(guān)閉對話框。

  此時,按照要求修改后的配置文件已經(jīng)完成,名為MyProjectProfile,其在Test作用域和Production作用域中有不同的拼寫檢查設(shè)置。接下來我們將這個配置應(yīng)用于對應(yīng)代碼區(qū)域,在主程序菜單中選擇Code→Inspect Code,在對話框中指定已經(jīng)定義好的作用域和配置文件:

Pycharm代碼應(yīng)用風(fēng)格是什么

  當(dāng)然我們需要操作兩次,因?yàn)橛袃蓚€定義域需要進(jìn)行相關(guān)配置的更改,并且可以將相關(guān)的配置清單導(dǎo)出。

  比較一下這兩個作用域的拼寫檢查結(jié)果:

Pycharm代碼應(yīng)用風(fēng)格是什么

Pycharm代碼應(yīng)用風(fēng)格是什么

  正如你所見,在Production作用域?yàn)榧t色波浪線,在Test作用域?yàn)榫G色波浪線。

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

  除此之外,Pycharm還會根據(jù)配置文件控制,對當(dāng)前的一些錯誤進(jìn)行高亮顯示處理。

  舉個例子,如果你的拼寫檢查配置文件中包含"Unresolved references"這條檢查規(guī)則,同時你又使用了一條尚未進(jìn)行import的符號,Pycharm就會用下劃線標(biāo)出無法解釋的符號來提示你導(dǎo)入相關(guān)模塊:

Pycharm代碼應(yīng)用風(fēng)格是什么

  參考auto-import tutorial來完成相關(guān)模塊的導(dǎo)入工作

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

  你是否已經(jīng)注意到在代碼左端經(jīng)常出現(xiàn)一個亮起的黃色或者紅色的燈泡然而你卻并不希望看到它?

  11、源碼自動生成

  Pycharm提供了很多代碼自動生成機(jī)制,你可以參照product documentation中有關(guān)自動生成代碼的介紹:Auto-generating code,接下來我們探討一下Pycharm的主代碼生成機(jī)制。當(dāng)然我們需要先將 Solver.py中已有的內(nèi)容刪除,重新開始。

  首先,創(chuàng)建一個類實(shí)例:

Pycharm代碼應(yīng)用風(fēng)格是什么

  OK,Pycharm成功創(chuàng)建出了一個類:

Pycharm代碼應(yīng)用風(fēng)格是什么

  接下來我們向類中添加一個成員方法,為了達(dá)到這個目的,首先需要在類實(shí)例后面輸入一個點(diǎn)號,然后鍵入成員函數(shù)名稱。此時這個成員函數(shù)是未定義的,因此Pycharm會提示我們來創(chuàng)建一個:

Pycharm代碼應(yīng)用風(fēng)格是什么

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

Pycharm代碼應(yīng)用風(fēng)格是什么

  因此,我們源碼最終如下:

Pycharm代碼應(yīng)用風(fēng)格是什么

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

  讓我們用if語句來包含一塊代碼,即選中當(dāng)d為非負(fù)數(shù)時需要執(zhí)行的語句:

Pycharm代碼應(yīng)用風(fēng)格是什么

  然后按下Ctrl+Alt+T,或者單擊主菜單中的Code→Surround With選項(xiàng),Pycharm將會彈出一個下拉菜單,顯示當(dāng)前情況下可用的范圍控制結(jié)構(gòu):

Pycharm代碼應(yīng)用風(fēng)格是什么

  選擇if選項(xiàng),Pycharm會自動添加if True:語句到選中的行:

Pycharm代碼應(yīng)用風(fēng)格是什么

  這里我們并不對布爾表達(dá)式做過多解釋,根據(jù)需要我們直接將True替換成d >= 0,接下里將光標(biāo)定位到最后一行,回車,光標(biāo)將會出現(xiàn)在下一行,和if保持相同的縮進(jìn),輸入else:,然后觀察Pycharm給出的預(yù)輸入提示:

Pycharm代碼應(yīng)用風(fēng)格是什么

  再次回車,移動光標(biāo),這里我們在Pycharm強(qiáng)大的拼寫提示下輸入拋出異常的代碼:

Pycharm代碼應(yīng)用風(fēng)格是什么

  12、代碼格式修改

  再次觀察Solver.py文件會發(fā)現(xiàn),右邊滾動槽中顯示了很多黃色標(biāo)記,將鼠標(biāo)懸停在上邊,Pycharm將會顯示對應(yīng)的代碼格式問題:

Pycharm代碼應(yīng)用風(fēng)格是什么

  好在這些信息都是警告信息,并不會影響到代碼的運(yùn)行結(jié)果,但是格式問題實(shí)在是太多了,那么如何把代碼格式調(diào)整得更為美觀規(guī)范呢?

  這里所用到的就是code reformatting了,不妨嘗試一下。

  為了調(diào)用格式化操作,只需按下Ctrl+Alt+L快捷鍵,或者在主菜單中單擊Code→Reformat Code,此時我們驚奇發(fā)現(xiàn)所有的PEP8類格式問題都已經(jīng)消除。

  當(dāng)然我們可以自定義格式化標(biāo)準(zhǔn),打開 code style settings對話框,選擇指定語言(Python),進(jìn)行必要的更改即可:

Pycharm代碼應(yīng)用風(fēng)格是什么

  13、添加注釋文檔

  代碼格式調(diào)整完之后,左側(cè)仍然留有一些黃色的標(biāo)志位,鼠標(biāo)懸停后提示類似于"Missing docstring"的警告信息,代碼前方亮著的小黃燈泡也提示同樣的信息:

Pycharm代碼應(yīng)用風(fēng)格是什么

  解決方法也很簡單,在彈出的下拉菜單中選擇Insert docstring,Pycharm就會自動添加一段帶格式的文本作為注釋文檔:

Pycharm代碼應(yīng)用風(fēng)格是什么

  注意這里有若干中注釋文檔的格式,你可以在Python Integrated Tools頁面中設(shè)置當(dāng)前需要插入哪種格式的注釋文檔,例如Epytext、plain text等

  14、輸入注釋

  注釋文檔用以解釋函數(shù)的參數(shù)、返回值、變量的類型及含義。舉個例子,我們需要控制demo()的輸入?yún)?shù)類型,我們就需要在注釋文檔中添加相應(yīng)的注釋信息:

Pycharm代碼應(yīng)用風(fēng)格是什么

  至此,主函數(shù)的注釋文檔完成。

  接下來在函數(shù)調(diào)用的過程中,若出現(xiàn)參數(shù)類型不匹配的情況,Pycharm會依據(jù)注釋文檔來給出響應(yīng)的錯誤提示信息:

Pycharm代碼應(yīng)用風(fēng)格是什么

到此,相信大家對“Pycharm代碼應(yīng)用風(fēng)格是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI