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