欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pycharm學(xué)習(xí)教程(2) 代碼風(fēng)格

 更新時(shí)間:2017年05月02日 14:02:49   作者:山在嶺就在  
這篇文章主要為大家詳細(xì)介紹了最全的Pycharm學(xué)習(xí)教程第二篇代碼風(fēng)格,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

如何創(chuàng)建一個(gè)Python工程并使其具有Pycharm的代碼風(fēng)格,具體如下

1、主題

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

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

2、準(zhǔn)備工作

  在開(kāi)始之前,請(qǐng)確認(rèn)一下情況:

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

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

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

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

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

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

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

 ?。▍⒄?a rel="nofollow" target="_blank" >Pycharm拼寫(xiě)提示來(lái)了解Pycharm更多關(guān)于拼寫(xiě)提示的信息)

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

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

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

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

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

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

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

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

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

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

  接下來(lái)我們對(duì)代碼檢查機(jī)制做兩方面的改動(dòng):

 ?。?)在測(cè)試腳本中,將拼寫(xiě)錯(cuò)誤標(biāo)記為綠色

 ?。?)在說(shuō)明文檔(注釋)中,將拼寫(xiě)錯(cuò)誤改為紅色提示

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

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

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

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

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

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

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

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

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

  然后通過(guò)單擊綠色的加號(hào)來(lái)添加我們之前新建的Test作用域,然后再次單擊添加Production作用域:

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

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

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

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

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

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

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

9、錯(cuò)誤提示的高亮代碼顯示

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

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

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

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

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

11、源碼自動(dòng)生成

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

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

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

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

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

  因此,我們?cè)创a最終如下:

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

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

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

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

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

  再次回車,移動(dòng)光標(biāo),這里我們?cè)赑ycharm強(qiáng)大的拼寫(xiě)提示下輸入拋出異常的代碼:

12、代碼格式修改

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

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

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

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

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

13、添加注釋文檔

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

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

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

14、輸入注釋

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

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

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

  更多有關(guān)Pycharm注釋文檔的信息參見(jiàn): type hinting

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論