自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

精選14條 PyCharm 實用技巧

開發(fā) 后端
今天主要跟大家介紹PyCharm的高效使用技巧!以下代碼演示是在 Mac 環(huán)境下,Windows 也類似,Command 鍵 相當(dāng)于 Windows 上的 Control 鍵。

今天主要跟大家介紹PyCharm的高效使用技巧!

以下代碼演示是在 Mac 環(huán)境下,Windows 也類似,Command 鍵 相當(dāng)于 Windows 上的 Control 鍵。

[[278723]]

1. 代碼排版,自動PEP8

pep8 是Python 語言的一個代碼編寫規(guī)范。如若你是新手,目前只想快速掌握基礎(chǔ),而不想過多去注重代碼的的編寫風(fēng)格(雖然這很重要),那你可以嘗試一下這個工具 - autopep8

首先在全局環(huán)境中(不要在虛擬環(huán)境中安裝),安裝一下這個工具。

  1. sudo pip install autopep8 

然后在 Pycharm 里導(dǎo)入這個工具。

  1. Name: AutoPep8 
  2. Description: autopep8 your code 
  3. Program: autopep8 
  4. Arguments: --in-place --aggressive --aggressive $FilePath$ 
  5. Working directory: $ProjectFileDir$ 
  6. Output filters: $FILE_PATH$\:$LINE$\:$COLUMN$\:.* 

 

精選14條 PyCharm 實用技巧

我隨意寫了一段不符合 pep8 規(guī)范的代碼。

精選14條 PyCharm 實用技巧

點擊右鍵,選擇 External Tools -> AutoPep8

精選14條 PyCharm 實用技巧

看一下效果,還是挺明顯的。

精選14條 PyCharm 實用技巧

你可能會說,Pycharm 本身就自帶這個功能了呀,快捷鍵 Command+Option+L ,就可以實現(xiàn)一鍵pep8了。你可以對比一下,Pycharm 自帶的代碼 pep8 化功能 并沒有像這個autopep8 來得徹底。我相信你最終的選擇肯定是后者。

2. 誤刪文件,一秒找回

上周,由于自己的誤操作,在沒有任何備份的情況下,將一個自己寫了兩個星期的項目給刪除了。待我回頭神來的時候,我甚至都記不起是何時進(jìn)行的刪除操作。

做為一名老司機(jī),當(dāng)然是臨危不懼地打開了回收站,進(jìn)行一番搜尋,幾個月沒有清理過的回收站,真是一片狼藉,什么 jpg,avi 都有,不堪入目呀。

我用一分鐘快速瀏覽了一下,沒有發(fā)現(xiàn)我要找的那幾個 py 文件,我心想,應(yīng)該是文件太多了,看叉掉了。由于項目是最近寫的,文件名我還清楚地記得,既然有文件名,那就利用windows 自帶的搜索功能,結(jié)果還是沒有,這下我才開始意識到事態(tài)的嚴(yán)重性,文件可能真的「沒了」。

我已經(jīng)很久沒有清理過回收站了,為什么回收站里會沒有我的文件呢?

我想這可能是一次非同尋常的 delete,會不會是在 Pycharm 里的 發(fā)起刪除操作,不會往回收站里丟呢?經(jīng)過一番測試,在回收站還真的找不著,但是這次嘗試也無意中發(fā)現(xiàn)了 Pycharm 的隱藏的一個功能 Local History,它會保存你對文件的所有操作記錄。

就拿我的剛剛測試的文件來舉例,我先是新建了一個文件,然后對在這個文件里添加了幾行代碼。最后我將這個文件刪除了。

此時你可以在你的項目目錄里,點擊右鍵,有個 Local History 的選項,再點擊子選項 Show History,你可以看到這里有個記錄板。如果你想恢復(fù)刪除的文件,就在刪除的記錄項點擊右鍵,選擇 Revert 即可恢復(fù)。

精選14條 PyCharm 實用技巧

3. 擁抱Vim,遠(yuǎn)離鼠標(biāo)

在大多數(shù)場景之下,使用鼠標(biāo)的效率和精準(zhǔn)度,是遠(yuǎn)不如鍵盤快捷鍵的(前提是你已經(jīng)相當(dāng)熟練的掌握了快捷鍵),這個你得承認(rèn)吧。

Vi 可以滿足你對文本操作的所有需求,比可視化界面更加效率,更加 geek。如果你和我一樣,是忠實的 vim 粉。在安裝完 Pycharm 完后,肯定會第一時間將 ideaVim 這個插件也裝上,它可以讓我們在 Pycharm 中 使用 vim 來編輯代碼。

安裝方法如下,安裝完后需要重啟 Pycharm 生效。

精選14條 PyCharm 實用技巧

4. 代碼模板,效率編碼

Pycharm 提供的這個代碼模板,可以說是相當(dāng)實用的一個功能了。它可以在你新建一個文件時,按照你預(yù)設(shè)的模板給你生成一段內(nèi)容,比如解釋器路徑,編碼方法,作者詳細(xì)信息等

精選14條 PyCharm 實用技巧

按照上圖模板,生成的效果如下。

精選14條 PyCharm 實用技巧

除了新建文件時可以初始化文件,在開發(fā)編寫代碼時,也同樣使用 Pycharm 中自帶的實用的代碼模板,提高你的編碼效率。

當(dāng)你在鍵盤中敲入 Command + J 時,就可以調(diào)出一個面板,從下圖可以看出里面有許多預(yù)設(shè)的模板。

精選14條 PyCharm 實用技巧

如果我們想選擇最后一個 main ,可以繼續(xù)鍵入 main,然后就可以直接生成如下這段平時都要手動敲入的代碼。

精選14條 PyCharm 實用技巧

這里再舉個例子,for 循環(huán) 可以這樣寫。

精選14條 PyCharm 實用技巧

5. 使用書簽,快速定位

都我在看框架的源代碼時,最常使用的是 Command + B (也就是 command + 鼠標(biāo)左鍵 )一層一層地往里深入,但是當(dāng)源代碼比較多,可能一整個事件過程涉及十幾文件,函數(shù)調(diào)用錯綜復(fù)雜,對于一個龐大的項目來說,有用的可能就幾個關(guān)鍵函數(shù),每次要找到這幾個函數(shù),都要重頭從源函數(shù)再一層一層的找下去,這樣實在太麻煩了,我常常因此把自己給看暈了。

直到后來我發(fā)現(xiàn)了 Pycharm 這個書簽功能。

使用書簽功能,我可以在在關(guān)鍵的位置打上書簽,想看的時候,調(diào)用書簽,快速定位即可。

使用它,你需要記住下面下幾個快捷鍵

  1. Command + F11 打上書簽 
  2. Shift + F11 展示所有書簽 
  3. F11 刪除書簽(經(jīng)測試僅能在Windows上有效) 

在你要打書簽的位置,按下 Command + F11 ,你可以給這個位置加個序號,可以是數(shù)字也可以是字母,假如在下面這個位置 加了 1 這個序號,下次你就可以使用 Control + 1 直接跳轉(zhuǎn)到這個位置。

精選14條 PyCharm 實用技巧

當(dāng)然你也可以不加,不加的話就是匿名書簽了。你可以使用 Shift + F11 展示所有的書簽,再進(jìn)行跳轉(zhuǎn)。

6. 神一樣的調(diào)試技巧

假如我們在一個爬蟲的項目中,會使用到 正則表達(dá)式 來匹配我們想要抓取的內(nèi)容。正則這種東西,有幾個人能夠一步到位的呢,通常都需要經(jīng)過很多次的調(diào)試才能按預(yù)期匹配。在我們改了一次正則后,運行了下,需要重新向網(wǎng)站抓取請求,才能發(fā)現(xiàn)沒有匹配上,然后又改了一版,再次運行同樣需要發(fā)起請求,結(jié)果還是發(fā)現(xiàn)還是沒有匹配上,往往復(fù)復(fù),正則不好的同學(xué)可能要進(jìn)行幾十次的嘗試。

(上面這個例子可能不太貼切,畢竟是有很多種方法實現(xiàn)不用重新發(fā)請求,只是列舉了一種很笨拙且低效的調(diào)試過程,你看看就好了)

而我們在這幾十次的調(diào)試中,向同一網(wǎng)站發(fā)起請求都是沒有意義的重復(fù)工作。如果在 Pycharm 中可以像 IPython Shell 和 Jupyter Notebook 那樣,可以記住運行后所有的變量信息,可以在不需要重新運行項目或腳本,只需稍微調(diào)整下我們的代碼,直接就可以進(jìn)行正則調(diào)試。

答案當(dāng)然是有。

假如我在調(diào)試如下幾行簡單的代碼。在第 3 行處打了個斷點。然后點擊圖示位置 Show Python Prompt 按鈕。

精選14條 PyCharm 實用技巧

就進(jìn)入了 Python Shell 的界面,這個Shell 環(huán)境和我們當(dāng)前運行的程序環(huán)境是打通的,使用的是同一個 namespace,這下你可以輕松地進(jìn)行調(diào)試了。

精選14條 PyCharm 實用技巧

上面我們打了個斷點,是為了方便說明這個效果。并不是說一定要打斷點。如果不打斷點,在腳本執(zhí)行完成后,也仍然可以在這個界面查看并操作所有變量。

精選14條 PyCharm 實用技巧

現(xiàn)在我們已經(jīng)可以滿足我們的調(diào)試的需求,但是每次運行腳本,都要手動點擊 Show Python Prompt ,有點麻煩。嗯?其實這個有地方可以設(shè)置默認(rèn)打開的。這個開頭還比較隱秘,一般人還真發(fā)現(xiàn)不了。

你需要點擊圖示位置 Edit Configurations 處。

精選14條 PyCharm 實用技巧

然后在這里打勾選中。

精選14條 PyCharm 實用技巧

設(shè)置上之后,之后你每次運行后腳本后,都會默認(rèn)為你存儲所有變量的值,并為你打開 console 命令行調(diào)試界面。

除了上面這種方法,其實還有一種方法可以在調(diào)試過程中,執(zhí)行命令表達(dá)式,而這種大家可能比較熟悉了,這邊也提一下,就當(dāng)是匯總一下。但是從功能上來說,是沒有上面這種方法來得方便易用的。因為這種方法,必須要求你使用 debug 模式運行項目,并打斷點。

使用方法就是,在你打了斷點后,在圖示位置處,點擊右鍵使用 Evaluate Expression

精選14條 PyCharm 實用技巧

就彈出了一個 Evaluate Expression 窗口,這里 可以運行命令表達(dá)式,直接操作變量。

精選14條 PyCharm 實用技巧

7. 指定參數(shù)執(zhí)行腳本

你在 Pycharm 運行你的項目,通常是怎么執(zhí)行的?我的做法是,右鍵,然后點擊 Run,或者使用快捷鍵 Shift + F10 。

有時候,在運行/調(diào)試腳本的時候,我們需要指定一些參數(shù),這在命令行中,直接指定即可。

假設(shè)在命令行中,運行腳本的命令是這樣

  1. python main.py init --local 

對于剛使用 Pycharm 的同學(xué),可能并不知道 Pycharm 也是可以指定參數(shù)的。點擊下圖位置

精選14條 PyCharm 實用技巧

進(jìn)入設(shè)置面板,在 Script parameters 中填入?yún)?shù)即可。

精選14條 PyCharm 實用技巧

同時在上圖的底部,你可以看到,這里可以很方便的切換 解釋器,比你跑到這邊來要容易得多吧

精選14條 PyCharm 實用技巧

8. 搜索時過濾測試文件

接下來,介紹一個,我看框架源碼的時的一個小技巧,可能只適用一小部分人吧。

我平時會看的框架是 OpenStack ,我不知道其他框架是怎樣的,但在 OpenStack 里面帶有大量(真的很多)的單元測試文件。這給我在使用 Find in Path 時帶來了不小的困擾,你可以從下圖的搜索結(jié)果中感受一下,搜索一個函數(shù),test 文件里的結(jié)果比 正常文件要多很多。

精選14條 PyCharm 實用技巧

這些測試文件的搜索結(jié)果,對于我們看源代碼不僅沒有任何幫助的,更重要的是還干擾視線。于是我就研究了一下,從文件名入手,只要在 File mask 里填寫 !test* 可以將這些test文件過濾掉。搜索結(jié)果一下子清晰很多。

精選14條 PyCharm 實用技巧

9. 關(guān)閉煩人的燈泡提示

本來沒有想寫這個的,但是知乎上有一位朋友有這個需求,那我研究了下。

精選14條 PyCharm 實用技巧

先來說下這個燈泡提示是什么,有什么用?

當(dāng)我們在代碼里面有語法錯誤,或者代碼編寫不符合 pep8 代碼規(guī)范時,鼠標(biāo)選擇有問題的代碼,就會自動彈出小燈泡,這個燈泡是有顏色之分的,如果是紅燈泡,一般都是語法問題,如果不處理會影響代碼運行。而如果是黃燈泡,就只是一個提示,提示你代碼不規(guī)范等,并不會影響程序的運行。

雖然這個燈泡,是出于善意之舉,但我認(rèn)為它確實有點多余(可能是我個人沒有使用它的習(xí)慣),要是語法錯誤會有紅色波浪線提示。你可能會說燈泡不僅起到提示的作用,它還可以自動糾正代碼,我個人感覺并沒有人工校正來得效率,來得精準(zhǔn)。

基于有時還會像知乎上這個朋友說的這樣,會擋住我們的代碼,會經(jīng)常誤點,這確實也是一個煩惱。

我研究了下,Pycharm (2018版本)里是有開關(guān)按鈕的,將下圖中的這個選項(Show intention bulb)取消勾選,就可以關(guān)閉這個功能。

精選14條 PyCharm 實用技巧

10. 關(guān)閉礙眼的波浪線

下面我先給出了一小段代碼示例,思考一下,為什么name,my_name 不會有波浪線,而 myname 和 wangbm 會有波浪線呢?

精選14條 PyCharm 實用技巧

Pycharm 本身會實時地對變量名進(jìn)行檢查,如果變量名不是一個已存在的英文單詞,就會出現(xiàn)一條波浪線,當(dāng)一個變量里有多個單詞時,Python 推薦的寫法是用下劃線來分隔(其他語言可能會習(xí)慣使用駝峰式命名法 ,但 Python 是使用下劃線),所以在 Pycharm 看來 my_name 是規(guī)范的,而 myname 會被當(dāng)成是一個單詞對待,由于它在單詞庫里并沒有它,所以 myname 是不規(guī)范的。

每個人的變量命名習(xí)慣不一樣,如何你在項目里大量使用了 myname 這種風(fēng)格的變量命名方法,像下面這樣(隨便找了一段 cloudinit 的代碼),是讓人挺不舒服的,總有一種代碼有 bug 的錯覺。

精選14條 PyCharm 實用技巧

那么如何關(guān)閉這個非語法級別的波浪線呢?很簡單,它的開關(guān)就在你的右下角那個像 人頭像 一樣的按鈕

精選14條 PyCharm 實用技巧

然后選擇 Syntax 級別的即可。同樣一段代碼,效果如下,干凈了很多。

精選14條 PyCharm 實用技巧

11. 一鍵進(jìn)行代碼性能分析

在 Python 中有許多模塊可以幫助你分析并找出你的項目中哪里出現(xiàn)了性能問題。

比如,常用的模塊有 cProfile,在某些框架中,也內(nèi)置了中間件幫助你進(jìn)行性能分析,比如 Django ,WSGI。

做為Python 的第一 IDE, PyCharm 本身就支持了這項功能。而且使用非常方便,小白。

假設(shè)現(xiàn)在要分析如下這段代碼的性能損耗情況,找出到底哪個函數(shù)耗時最多

  1. import time 
  2. def fun1(): 
  3.  time.sleep(1) 
  4. def fun2(): 
  5.  time.sleep(1) 
  6. def fun3(): 
  7.  time.sleep(2) 
  8. def fun4(): 
  9.  time.sleep(1) 
  10. def fun5(): 
  11.  time.sleep(1) 
  12.  fun4() 
  13. fun1() 
  14. fun2() 
  15. fun3() 
  16. fun5() 

點擊 Run -> Profile '程序' ,即可進(jìn)行性能分析。

精選14條 PyCharm 實用技巧

運行完畢后,會自動跳出一個性能統(tǒng)計界面。

精選14條 PyCharm 實用技巧

性能統(tǒng)計界面由Name、Call Count、Time(ms)、Own Time(ms) ,4列組成一個表格,見下圖。

  1. 表頭Name顯示被調(diào)用的模塊或者函數(shù);Call Count顯示被調(diào)用的次數(shù);Time(ms)顯示運行時間和時間百分比,時間單位為毫秒(ms)。
  2. 點擊表頭上的小三角可以升序或降序排列表格。
  3. 在Name這一個列中雙擊某一行可以跳轉(zhuǎn)到對應(yīng)的代碼。
  4. 以fun4這一行舉例:fun4被調(diào)用了一次,運行時間為1000ms,占整個運行時間的16.7%

點擊 Call Graph(調(diào)用關(guān)系圖)界面直觀展示了各函數(shù)直接的調(diào)用關(guān)系、運行時間和時間百分比,見下圖。

精選14條 PyCharm 實用技巧

左上角的4個按鈕表示放大、縮小、真實大小、合適大小;

  1. 箭頭表示調(diào)用關(guān)系,由調(diào)用者指向被調(diào)用者;
  2. 矩形的左上角顯示模塊或者函數(shù)的名稱,右上角顯示被調(diào)用的次數(shù);
  3. 矩形中間顯示運行時間和時間百分比;
  4. 矩形的顏色表示運行時間或者時間百分比大小的趨勢:紅色 > 黃綠色 > 綠色,由圖可以看出fun3的矩形為黃綠色,fun1為綠色,所有fun3運行時間比fun1長。
  5. 從圖中可以看出Test.py直接調(diào)用了fun3、fun1、fun2和fun5函數(shù);fun5函數(shù)直接調(diào)用了fun4函數(shù);fun1、fun2、fun3、fun4和fun5都直接調(diào)用了print以及sleep函數(shù);整個測試代碼運行的總時間為6006ms,其中fun3的運行時間為1999ms,所占的時間百分比為33.3%,也就是 1999ms / 6006ms = 33.3%。

12. 使用Git做版本控制

按照如下提示點擊 Git 倉庫配置

精選14條 PyCharm 實用技巧

接著輸入倉庫地址

精選14條 PyCharm 實用技巧

點擊 Test,測試連通性,會要求輸入密碼

精選14條 PyCharm 實用技巧

若一切順利,則會看到如下界面

精選14條 PyCharm 實用技巧

測試連接成功后,點擊 Clone 就可以克隆下來了。

對于以前使用 Git 命令來管理的,現(xiàn)在可以直接使用 PyCharm 的菜單欄來操作,這些功能已經(jīng)可以滿足大多數(shù)人的日常需求了,應(yīng)該是夠用了。

精選14條 PyCharm 實用技巧

13. Tab輕松轉(zhuǎn)空格

在團(tuán)隊協(xié)作中,你難免會動到別人編輯的文件,有的人喜歡做tab做縮進(jìn),有的人喜歡用四個空格做縮進(jìn)。(個人推薦使用tab轉(zhuǎn)四個空格)

但是在同一個Python文件模塊里,tab 和 四個空格縮進(jìn)兩種風(fēng)格是不能共存的。這就需要你按照該文件原來的縮進(jìn)風(fēng)格來進(jìn)行編碼,在 Pycharm 里,可以設(shè)置自動檢測原文件的縮進(jìn)風(fēng)格來決定當(dāng)你使用tab鍵縮進(jìn)的時候,是TAB還是四個空格。

在圖示位置打勾即可開啟自動檢測。

精選14條 PyCharm 實用技巧

上面是對一個舊的 Python 模塊進(jìn)行修改時,如何決定當(dāng)前編輯的縮進(jìn)方式。

而對于新建模塊,默認(rèn)的縮進(jìn)方式,是如何確定的?

如下圖,若在 Use tab character 打上勾,則你新建一個 Python 后,就會使用 TAB 進(jìn)行縮進(jìn),反之,則使用四個空格進(jìn)行縮進(jìn)。

精選14條 PyCharm 實用技巧

14. 源碼文檔,快速預(yù)覽

Ctrl + 鼠標(biāo)左鍵 (Mac 上是:Command + 鼠標(biāo)左鍵),可以實現(xiàn)函數(shù)跳轉(zhuǎn)查看源碼, 這幾乎是每一個 PyCharmer 都會的一個慣用技巧。

這里再另外介紹兩個類似的小技巧,快速 查看函數(shù)文檔 和 預(yù)覽源代碼 。

在函數(shù)的開頭處,使用三個引號 " 包含的內(nèi)容,叫做函數(shù)文檔 (DocString)。

在編寫代碼時,順便寫好函數(shù)的接口文檔,是一個很好的編碼習(xí)慣。它介紹了該函數(shù)的參數(shù)類型及說明,返回值類型及范例,寫得好一點的還會寫出 幾個簡單的 Example Usage 有助于理解使用。這邊隨便截一個 Werkzeug 的例子。

精選14條 PyCharm 實用技巧

假如我們在使用這個類的時候,忘記了這個用法,可以按住 Ctrl + q(Mac 的快捷鍵暫未找到),在當(dāng)前頁面就可以快速預(yù)覽 LocalStack 的接口文檔。

精選14條 PyCharm 實用技巧

同樣的,如果你對這個類或者函數(shù)的代碼邏輯感興趣,也可以使用快速預(yù)覽的方式在當(dāng)前頁面展示源代碼??旖萱I是:Ctrl + shift + i (Mac:Command + shift + i)。效果如下

精選14條 PyCharm 實用技巧

如果 PyCharm 檢測到的同名函數(shù)有多個,可以點這里進(jìn)行切換選擇查看

精選14條 PyCharm 實用技巧

這兩個快捷鍵比起使用 Ctrl + 鼠標(biāo)左鍵 跳進(jìn)源代碼來說,更加方便,,就像微信小程序一樣,用完即焚,不會新產(chǎn)生一個標(biāo)簽頁,也不需要來回跳轉(zhuǎn)頁面。

以上,便是今天的分享,希望大家喜歡。

責(zé)任編輯:華軒 來源: Python開發(fā)社區(qū)
相關(guān)推薦

2024-01-08 18:05:19

PyCharm技巧功能

2022-05-11 12:15:50

scriptweb性能

2023-01-26 01:33:09

web性能優(yōu)化

2022-01-07 06:09:23

Web性能優(yōu)化

2009-09-04 10:27:28

Linux實用技巧linux操作系統(tǒng)linux

2022-03-23 09:18:10

Git技巧Linux

2009-12-21 15:50:39

2021-04-20 09:55:37

Linux 開源操作系統(tǒng)

2009-01-03 09:34:30

ASP.NET.NET性能優(yōu)化

2011-04-08 15:40:01

Oracle認(rèn)證

2022-10-11 08:00:47

多線程開發(fā)技巧

2022-11-03 10:28:59

PandasSAC機(jī)制

2024-05-17 08:52:43

SQL實用技巧行列轉(zhuǎn)換

2010-09-14 10:41:24

DIV+CSS排版

2009-12-09 11:21:30

Linux實用技巧

2019-11-25 10:12:59

Python技巧工具

2010-10-08 15:44:17

vim

2019-12-22 23:10:19

LinuxSSH加密

2009-12-23 17:32:35

Linux構(gòu)建軟路由

2022-04-04 21:33:48

進(jìn)度條Python
點贊
收藏

51CTO技術(shù)棧公眾號