中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

受用一生的 PyCharm 技巧大全(二)

發布時間:2020-07-25 11:55:18 來源:網絡 閱讀:280 作者:學Python派森 欄目:編程語言

這個系列的一些小技巧,對于一些重試用戶來說可能是小 case,如果你覺得簡單,直接略過即可,不是所有人都像你一樣,是個天才,在你之外,仍然有許多剛入門的小伙伴。

6. 神一樣的調試技巧

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

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

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

答案當然是有。

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

受用一生的 PyCharm 技巧大全(二)

就進入了 Python Shell 的界面,這個Shell 環境和我們當前運行的程序環境是打通的,使用的是同一個 namespace,這下你可以輕松地進行調試了。學習過程中有不懂的可以加入我們的學習交流秋秋圈784中間758后面214,與你分享Python企業當下人才需求及怎么從零基礎學習Python,和學習什么內容。相關學習視頻資料、開發工具都有分享

受用一生的 PyCharm 技巧大全(二)

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

受用一生的 PyCharm 技巧大全(二)

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

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

受用一生的 PyCharm 技巧大全(二)

然后在這里打勾選中。

受用一生的 PyCharm 技巧大全(二)

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

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

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

受用一生的 PyCharm 技巧大全(二)

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

受用一生的 PyCharm 技巧大全(二)

7. 指定參數執行腳本

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

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

假設在命令行中,運行腳本的命令是這樣

python main.py init --local

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

受用一生的 PyCharm 技巧大全(二)

進入設置面板,在 Script parameters 中填入參數即可。學習過程中有不懂的可以加入我們的學習交流秋秋圈784中間758后面214,與你分享Python企業當下人才需求及怎么從零基礎學習Python,和學習什么內容。相關學習視頻資料、開發工具都有分享

受用一生的 PyCharm 技巧大全(二)

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

受用一生的 PyCharm 技巧大全(二)

8. 搜索時過濾測試文件

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

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

受用一生的 PyCharm 技巧大全(二)

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

受用一生的 PyCharm 技巧大全(二)

9. 關閉煩人的燈泡提示

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

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

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

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

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

受用一生的 PyCharm 技巧大全(二)

10. 關閉礙眼的波浪線

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

受用一生的 PyCharm 技巧大全(二)

Pycharm 本身會實時地對變量名進行檢查,如果變量名不是一個已存在的英文單詞,就會出現一條波浪線,當一個變量里有多個單詞時,Python 推薦的寫法是用下劃線來分隔(其他語言可能會習慣使用駝峰式命名法 ,但 Python 是使用下劃線),所以在 Pycharm 看來 my_name 是規范的,而 myname 會被當成是一個單詞對待,由于它在單詞庫里并沒有它,所以 myname 是不規范的。學習過程中有不懂的可以加入我們的學習交流秋秋圈784中間758后面214,與你分享Python企業當下人才需求及怎么從零基礎學習Python,和學習什么內容。相關學習視頻資料、開發工具都有分享

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

受用一生的 PyCharm 技巧大全(二)

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

受用一生的 PyCharm 技巧大全(二)

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

受用一生的 PyCharm 技巧大全(二)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

同心县| 荔浦县| 吉隆县| 东丰县| 青浦区| 旌德县| 北川| 华池县| 丁青县| 甘谷县| 常宁市| 五华县| 河津市| 大悟县| 阿鲁科尔沁旗| 定州市| 都江堰市| 乐陵市| 班戈县| 龙游县| 阳江市| 黔南| 普兰店市| 松溪县| 天等县| 西安市| 东乌| 伊宁县| 五峰| 安龙县| 万盛区| 会理县| 安福县| 安徽省| 石柱| 若尔盖县| 南雄市| 祁门县| 两当县| 湖北省| 屯留县|