Pycharm IDE設(shè)置系列教程(二十二):代碼質(zhì)量協(xié)助技巧和竅門(mén)(下)
PyCharm是一種Python IDE,其帶有一整套可以幫助用戶(hù)在使用Python語(yǔ)言開(kāi)發(fā)時(shí)提高其效率的工具。此外,該IDE提供了一些高級(jí)功能,以用于Django框架下的專(zhuān)業(yè)Web開(kāi)發(fā)。
PyCharm最新版本2019.3現(xiàn)已發(fā)布,增加用于Jupyter筆記本的交互式小部件,MongoDB支持以及所有Python 3.8功能的代碼幫助,還有其他功能改進(jìn)提高Python語(yǔ)言開(kāi)發(fā)效率!感興趣的朋友歡迎下載體驗(yàn)~
生成源代碼
PyCharm提供了許多自動(dòng)生成代碼的可能性。您可以在產(chǎn)品文檔中探索自動(dòng)生成功能。讓我們探索主要的代碼生成過(guò)程。為此,只需刪除文件Solver.py的所有內(nèi)容,然后從頭開(kāi)始。
首先,創(chuàng)建一個(gè)類(lèi)的實(shí)例:
接下來(lái),按Alt+Enter并選擇意圖動(dòng)作 創(chuàng)建類(lèi)'Solver':
PyCharm設(shè)置了一個(gè)類(lèi):
接下來(lái),讓我們向類(lèi)實(shí)例添加一個(gè)方法。為此,請(qǐng)?jiān)陬?lèi)實(shí)例之后鍵入一個(gè)點(diǎn),然后鍵入方法名稱(chēng)。該方法尚不存在,PyCharm建議創(chuàng)建一個(gè)方法:
讓我們做一些手工工作-輸入源代碼。在計(jì)算判別式時(shí),我們必須提取平方根。有一個(gè)專(zhuān)門(mén)的函數(shù)sqrt庫(kù) math,但沒(méi)有進(jìn)口。好的,無(wú)論如何都要鍵入它,然后看看PyCharm如何處理它。按,Alt+Enter然后選擇導(dǎo)入'math':
因此,我們來(lái)到了這樣的源代碼:
import mathclass Solver(object): def demo(self,a,b,c): d = b ** 2 - 4 * a * c disc = math.sqrt(d) root1 = (- b + disc) / (2 * a) root2 = (- b - disc) / (2 * a) print (root1, root2) return root1, root2
但是,它缺乏一些重要的分析。我們想分析radicand d。如果為零或正,則將計(jì)算判別式和方程根。當(dāng)radicand為負(fù)數(shù)時(shí),讓我們提出一個(gè)例外。PyCharm如何幫助完成這項(xiàng)任務(wù)?
讓我們用ifConstruct 包圍一段代碼。選擇要完成的語(yǔ)句(如果d為非負(fù)數(shù)),然后按Ctrl+Alt+T (或在主菜單上選擇“代碼” |“環(huán)繞”):
if從建議列表中選擇選項(xiàng)。如您所見(jiàn),PyCharm自動(dòng)添加if True:并縮進(jìn)選定的行:
我們對(duì)布爾表達(dá)式完全不感興趣,因此讓我們將selected更改 True為d >= 0。接下來(lái),將插入號(hào)放在最后一行的末尾,然后按Enter。插入符位于下一行,其縮進(jìn)與if語(yǔ)句相同;輸入else: clause here,然后查看有關(guān)預(yù)期縮進(jìn)的PyCharm報(bào)告:
Enter再次按下時(shí),插入標(biāo)記將停在縮進(jìn)位置。在這里,您可以使用PyCharm強(qiáng)大的自動(dòng)代碼完成功能鍵入異常表達(dá)式:
重新格式化代碼
讓我們?cè)俅慰纯次覀兊腟olver.py文件。其右裝訂線顯示黃色條紋。當(dāng)您將鼠標(biāo)指針懸停在條紋上時(shí),PyCharm將在代碼中顯示相應(yīng)問(wèn)題的描述:
好消息是它們只是警告,不會(huì)影響結(jié)果。壞消息是它們太多了,無(wú)法一一修復(fù)。是否可以使源代碼漂亮又漂亮,而不必大驚小怪?
PyCharm說(shuō)-是的。這是代碼重新格式化的功能。因此,讓我們嘗試更改整個(gè)文件的格式。為此,請(qǐng)按Ctrl+Alt+L(或在主菜單上選擇“代碼” |“重新格式化代碼”):
現(xiàn)在看一下代碼-與PEP8相關(guān)的弊端都消失了。
請(qǐng)注意,您可以自己定義格式設(shè)置規(guī)則。為此,請(qǐng)打開(kāi)代碼樣式設(shè)置,選擇語(yǔ)言(在本例中為Python),然后進(jìn)行必要的更改:
添加文檔注釋
好的,格式化現(xiàn)在已修復(fù),但仍有一些條紋。不可避免的黃色燈泡顯示了添加文檔字符串注釋的可能性:
選擇此建議,并查看文檔字符串注釋中添加的某些參數(shù):
請(qǐng)注意,您必須在編輯器設(shè)置的文檔注釋存根頁(yè)面的插入類(lèi)型占位符中選中 文檔注釋字符串中的插入類(lèi)型占位符復(fù)選框:
有多種docstring格式,并且文檔注釋以您在Python Integrated Tools頁(yè)面中選擇的格式創(chuàng)建。如果愿意,可以將文檔字符串格式更改為Epytext或純文本。
類(lèi)型提示
文檔注釋可用于定義參數(shù),返回值或局部變量的預(yù)期類(lèi)型。我們?yōu)槭裁葱枰@一切?例如,我們希望控制傳遞給該demo()方法的參數(shù)的類(lèi)型。為此,我們將相應(yīng)的信息添加到文檔注釋中(順便說(shuō)一下,請(qǐng)注意文檔注釋中的代碼完成!):
接下來(lái),當(dāng)您查看方法調(diào)用時(shí),您會(huì)看到PyCharm的檢查類(lèi)型檢查器突出顯示了錯(cuò)誤的參數(shù):
=====================================================
有關(guān)詳細(xì)信息,請(qǐng)繼續(xù)關(guān)注我們接下來(lái)的教程“Pycharm IDE設(shè)置系列教程”。我們很快就會(huì)發(fā)布其他文章。
想要了解或購(gòu)買(mǎi)PyCharm正版授權(quán)的朋友可以。