摘要:然而,每個(gè)人對(duì)編輯器的喜好各不相同,甚至引發(fā)出諸如神的編輯器與編輯器之神這種信仰之爭。我們用來寫的工具有兩類一種是被稱為的集成開發(fā)環(huán)境,它們?yōu)殚_發(fā)而生。但僅我上述提及的幾個(gè)其實(shí)也足夠用了。正如標(biāo)題所說工欲善其事,必先利其器。
通常來說,每個(gè)程序員都有自己趁手的兵器: 代碼編輯器 。你要是讓他換個(gè)開發(fā)環(huán)境,恐怕開發(fā)效率至少下降三成。然而,每個(gè)人對(duì)編輯器的喜好各不相同,甚至引發(fā)出諸如“神的編輯器”與“編輯器之神”這種信仰之爭。但也正由此可見,個(gè)性化的編輯器對(duì)于一個(gè)程序員的重要性。
對(duì)編程新手來說,開發(fā)環(huán)境的選擇常常成為入門后的第一道坎。因?yàn)閾v鼓了半天沒能成功運(yùn)行代碼而被迫從入門到放棄的情景并不少見。初上手時(shí)選擇的編輯器是否易用也會(huì)直接影響你的學(xué)習(xí)熱情。
今天就來講講 我對(duì) Python 編輯器的經(jīng)驗(yàn) 。
我們用來寫 Python 的工具有兩類:
一種是被稱為 IDE 的 集成開發(fā)環(huán)境 ,它們?yōu)殚_發(fā)而生。如 IDLE、PyCharm、Spyder 等。
另一種更像是 文本編輯器 ,只不過比較強(qiáng)大,可以支持編寫和運(yùn)行代碼。如 SublimeText、Emacs、Vim 等。在此我主要介紹下我個(gè)人平常用的幾款。
1. IDLE
講真,再怎么降低標(biāo)準(zhǔn),IDLE 恐怕也算不上一個(gè)“好”的編輯器。不論是自動(dòng)補(bǔ)全、語法提示,還是項(xiàng)目文件管理,甚至是高亮提示,它要么不支持,要么支持得很勉強(qiáng)。“用戶體驗(yàn)”基本沒有,更要命的是,經(jīng)常在某些系統(tǒng)或某些版本下無法運(yùn)行或無法輸入。
但沒辦法,人是親兒子啊!安裝完 Python 什么配置都不用做(甚至不用理會(huì)環(huán)境變量),就可以用它來編寫和運(yùn)行代碼了。對(duì)一個(gè)沒什么計(jì)算機(jī)基礎(chǔ)的新人來說,還要啥自行車要啥手表呢?直接寫就完啦!
所以在我的零基礎(chǔ)教程,以及其他不少入門級(jí)教程里,都把 IDLE 當(dāng)做了一開始的演示開發(fā)環(huán)境。但我不得不強(qiáng)調(diào)下, IDLE 僅僅是編程世界的敲門磚 ,它讓你快速上手,但不可能陪你走下去。盡早去尋找屬于你的工具吧。
2. SublimeText
Sublime 是一個(gè)功能豐富的文本編輯器。除了寫 Python 外,我也會(huì)拿它寫一寫其他代碼如 JS、HTML、CSS,并且它也是我日常使用的記事本和文本編輯器。你們看到的大多數(shù)微信推送文章,最初的草稿都是是用 Sublime 寫成的。
默認(rèn)安裝后,如果你的電腦上已裝好 Python,Sublime 就可以運(yùn)行 .py 文件,并且具有語法提示、補(bǔ)全的功能。不支持更復(fù)雜的語法檢查,也不支持控制臺(tái)輸入(input),但可以通過安裝額外插件來補(bǔ)充功能。如果你電腦上有多個(gè)版本的 Python,選擇起來也稍復(fù)雜。因此 我常年打開著 Sublime,寫一些代碼片段 ,或者審核學(xué)員提交的作業(yè)時(shí)使用。
Sublime 是收費(fèi)軟件,但可以免費(fèi)使用。
3. PyCharm
這是我在課程中和答疑群里主要推薦的開發(fā)工具。除了一開始配置可能會(huì)遇到點(diǎn)麻煩,以及啟動(dòng)時(shí)間略慢以外,真的是很好用。PyCharm 在項(xiàng)目內(nèi)部提供了對(duì)編碼、第三方庫的管理,形成一個(gè)小的沙盒,避免系統(tǒng)中其他的配置對(duì)開發(fā)環(huán)境造成的干擾,讓新手少踩點(diǎn)坑。不過有點(diǎn)不幸的是:如果你沒有按照它設(shè)想的那樣配置好,有可能因此踩到新的坑。
我個(gè)人用 PyCharm 做的開發(fā)主要是課程和演示項(xiàng)目 。如果你在使用其他編輯器時(shí)遇到問題,不妨同我的例子保持一致試試,減少不必要的折騰。
PyCharm 也是收費(fèi)軟件,但有免費(fèi)的社區(qū)版和教育版(需申請(qǐng))。我用的就是社區(qū)版,功能足夠?qū)W習(xí)了。如果你一定需要漢化版或者專業(yè)版,可自行網(wǎng)上搜索。
4. IPython
IPython 是一個(gè)交互式的開發(fā)環(huán)境,也就是我們課程一開始用過的 Python Shell 的加強(qiáng)版。通過 pip install ipython 即可安裝。主要是增加了自動(dòng)補(bǔ)全和歷史命令記錄,語法高亮也看著舒服點(diǎn)。但新手可能不太會(huì)用到。如果你到了上服務(wù)器運(yùn)行代碼的階段,那一定得裝一個(gè)。
同 Sublime 一樣,IPython 我也一直開著。因?yàn)?交互式的環(huán)境很適合調(diào)試幾句代碼,測試一下某個(gè)語法的特性,看看某個(gè)模塊里方法的調(diào)用,甚至用 help() 命令去看文檔 。看過我答疑的同學(xué)也知道,我經(jīng)常是針對(duì)問題在 IPython 里運(yùn)行一段代碼貼過去。我強(qiáng)烈建議大家養(yǎng)成運(yùn)行代碼的習(xí)慣,尤其是在你看書看教程的時(shí)候,不要光顧著看,一定把編輯器開著隨時(shí)敲一敲代碼跑一跑。很多問題通過幾次嘗試自然就領(lǐng)會(huì)了。
5. Jupyter
也就是 IPython Notebook。它相當(dāng)于是把上面提到的 IPython 做成了網(wǎng)頁版,但又不僅僅是網(wǎng)頁版。
我之前很少用,但最近有點(diǎn)愛上它:因?yàn)?用它來寫爬蟲或數(shù)據(jù)分析實(shí)在太舒服了! 寫爬蟲的時(shí)候免不了反復(fù)嘗試,有了交互式的 Jupyter,你可以步步為營,逐步修正你的代碼,而不用每次都從頭抓。數(shù)據(jù)分析則是因?yàn)樗?matplotlib 以及 echarts 都結(jié)合得很好,無需彈窗,頁面上直接顯示繪圖結(jié)果。
對(duì)于想深入數(shù)據(jù)分析的同學(xué),拿一本《利用 Python 進(jìn)行數(shù)據(jù)分析》,再就著一個(gè)開著的 Jupyter 頁面,一個(gè)個(gè)例子去玩吧。
另外,因?yàn)槭蔷W(wǎng)頁版的,所以如果你有服務(wù)器的話,甚至可以用它做一個(gè)隨時(shí)隨地寫代碼的在線版 Python 工具。不過自己用用就好,千萬不要直接對(duì)外公布,它會(huì)把你的服務(wù)器環(huán)境暴露在外。
5.Emacs
終于來了,神的編輯器。
這是多年開發(fā)的老習(xí)慣。你們看到的編程教室網(wǎng)站就是在 Emacs 上寫成的。但這個(gè)門檻較高,也不存在推薦了,大家看看就好。
為了用 Emacs 我都改了自己的鍵位。最近手指有點(diǎn)疼,考慮是不是再加個(gè)腳踏板。
以上是我常用的編輯器。算是有點(diǎn)分裂,不過確實(shí)各有各的優(yōu)勢。所以沒必要爭論哪個(gè)更好,按自己的需要選擇用著順手的就好。
對(duì)于初學(xué),我還是建議用 PyCharm ,功能比較完善,各方面相對(duì)均衡。之前寫過兩篇關(guān)于 PyCharm 的介紹文章,
公眾號(hào)(Crossin的編程教室)里回復(fù) PyCharm 可以看到。
不過似乎最近的版本又做了一些改動(dòng),可能我又得再寫一篇新的了。
而其他還有不少優(yōu)秀的編輯器,如評(píng)價(jià)很好的 VSCode、Atom、Vim、Spyder 等(不推薦 PyScripter),因我自己并無長期使用經(jīng)驗(yàn),就不搬運(yùn)網(wǎng)上的介紹了。如果你在使用或者有興趣,搜索下會(huì)有很多教程。有推薦的歡迎留言。但僅我上述提及的幾個(gè)其實(shí)也足夠用了。
正如標(biāo)題所說:工欲善其事,必先利其器。選個(gè)好的編輯器,學(xué)習(xí)效率大增,起碼像少半個(gè)括號(hào)少半個(gè)引號(hào)這種錯(cuò)誤就不太會(huì)出現(xiàn)了。
不過最終嘛,工具還是看誰來用。只要你寫得夠多,記事本也能成就大牛。(但認(rèn)真地說:如果你還不是大牛,任何開發(fā)相關(guān)的事情都不要用 Windows 自帶的記事本!)
════
其他文章及回答:
如何自學(xué)Python | 新手引導(dǎo) | 精選Python問答 | Python單詞表 | 區(qū)塊鏈 | 人工智能 | 雙11 | 嘻哈 | 爬蟲 | 排序算法 | 我用Python | 高考 | 世界杯 | requests
歡迎搜索及關(guān)注: Crossin的編程教室
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/44905.html
摘要:接上回第二部分,編寫爬蟲。進(jìn)入微信嵌套選擇圖片和上傳圖片接口,實(shí)現(xiàn)一鍵上傳圖片,遇到問題看吧,我現(xiàn)在已經(jīng)可以通過爬蟲獲取的提問標(biāo)題了。微信故意省略想做小偷站的,看到這里基本上就能搞出來了。下一篇,采集入庫 上回,我裝了環(huán)境 也就是一對(duì)亂七八糟的東西 裝了pip,用pip裝了virtualenv,建立了一個(gè)virtualenv,在這個(gè)virtualenv里面,裝了Django,創(chuàng)建了一個(gè)...
摘要:常見的八大排序算法,他們之間關(guān)系如下被人忽視的面向?qū)ο蟮牧笤瓌t后端掘金前言作為文集的第一篇,我覺得有必要介紹一下大概的寫作規(guī)劃。 Java多線程干貨系列—(四)volatile關(guān)鍵字| 掘金技術(shù)征文 - 掘金原本地址:Java多線程干貨系列—(四)volatile關(guān)鍵字博客地址:http://tengj.top/ 前言 今天介紹下volatile關(guān)鍵字,volatile這個(gè)關(guān)鍵字可能...
摘要:常見的八大排序算法,他們之間關(guān)系如下被人忽視的面向?qū)ο蟮牧笤瓌t后端掘金前言作為文集的第一篇,我覺得有必要介紹一下大概的寫作規(guī)劃。 Java多線程干貨系列—(四)volatile關(guān)鍵字| 掘金技術(shù)征文 - 掘金原本地址:Java多線程干貨系列—(四)volatile關(guān)鍵字博客地址:http://tengj.top/ 前言 今天介紹下volatile關(guān)鍵字,volatile這個(gè)關(guān)鍵字可能...
摘要:的主要功能包括拼寫檢查,書簽,完整的,功能,即時(shí)項(xiàng)目切換,多選擇,多窗口等等。目前,是最受歡迎的前端開發(fā)工具之一。缺點(diǎn)是一款收費(fèi)軟件,不過可以無限期使用。注意在安裝時(shí)勾選,這樣在右鍵單擊文件時(shí)就可以直接使用打開。 Sublime text 簡介 Sublime text具有漂亮的用戶界面和強(qiáng)大的功能,例如代碼縮略圖,Python的插件,代碼段等。還可自定義鍵綁定,菜單和工具欄。Subl...
閱讀 2356·2021-11-25 09:43
閱讀 2866·2021-11-24 09:39
閱讀 2933·2019-08-30 11:10
閱讀 1138·2019-08-29 16:34
閱讀 603·2019-08-29 13:25
閱讀 3362·2019-08-29 11:21
閱讀 2864·2019-08-26 11:39
閱讀 2398·2019-08-26 11:34