03_Python生態(tài)和開發(fā)環(huán)境

內(nèi)容摘要:Python是極少數(shù)能夠兼顧操作簡單與功能強大的編程語言。特別是在當(dāng)今的大數(shù)據(jù)和AI時代欣福,幾乎所有的新技術(shù)都提供Python支持责球,在Python生態(tài)中可以使用的工具異常豐富。相比其它語言,Python程序的代碼行更簡潔雏逾、更易閱讀嘉裤、更易調(diào)試和擴(kuò)展。 它可以幫你快速且毫不費力地完成諸多事情栖博,使得編程充滿了樂趣屑宠。Python 是一門優(yōu)秀的語言,值得你去學(xué)習(xí)仇让!

1典奉、Python簡史

Python因為其開源、易讀寫丧叽、簡潔等特點秋柄,贏得了廣泛的群眾基礎(chǔ),被無數(shù)程序員熱烈追捧蠢正。
編程問答網(wǎng)站 Stackoverflow 的一項調(diào)查顯示:在高收入國家 Python 格外受歡迎骇笔,在過去五年中,Python的使用量出現(xiàn)了驚人的增長(年增長率達(dá)到27%)嚣崭。該調(diào)查揭示笨触,Python 是近年來增長最快的主流編程語言
在未來的十年里雹舀,Python還會繼續(xù)有一個很好的發(fā)展趨勢芦劣。據(jù)TIOBE官網(wǎng)專家預(yù)測,Python可能在3到4年內(nèi)取代C語言和Java说榆,成為世界上最流行的編程語言虚吟。需要注意的是Python和Matlab類似,都是解釋型語言签财,要追求性能串慰,那還是用C吧,但是Python也有很多優(yōu)化工具支持唱蒸,如Cython邦鲫,很多情況下優(yōu)化是沒問題的。

2神汹、怎么安裝和開始使用

Python由于其開源特性庆捺,導(dǎo)致版本很多,需要注意的是2.X和3.X是兩個系列屁魏,建議直接學(xué)3.X(未來估計2.7版本之后更新會比較少)滔以。使用Python的價值還是在于其強大的擴(kuò)展包,類似Matlab的工具包氓拼,不同的是都是免費的你画,功能上還一點不必那些收費的差抵碟。如果單獨安裝Python環(huán)境,再一個個包安裝的確比較麻煩撬即。沒關(guān)系,集成工作有人幫忙做完了呈队,那就是Anaconda工具剥槐,直接對應(yīng)你的系統(tǒng)版本下載安裝就行了。

一款優(yōu)秀的編輯器能夠幫助你更輕松地編寫 Python 程序宪摧,使您的編程之旅更加舒適粒竖。這些編譯器支持語法高亮 ,能夠通過對代碼標(biāo)以不同顏色來幫助你區(qū)分Python 程序中的不同部分几于,從而能夠讓你更好地看清程序蕊苗,并使程序的運行模式更加形象化。通過這些編譯器沿彭,你還可以將Python程序保存為文件朽砰,從而便于多次地運行和修改這些程序,實現(xiàn)您的編程目標(biāo)喉刘。

如果您對編譯器還沒有概念瞧柔, 我們推薦您使用目前比較流行的Python編譯器: Spyder (https://pypi.python.org/pypi/spyder) , 從哪里下載?別擔(dān)心Anaconda都幫你集成好了 睦裳。該編譯器與MATLAB的圖形界面風(fēng)格極其相似造锅,都采用‘三窗口’模式,包括:

  1. Editor(編輯器), Editor用于編寫代碼廉邑;
  2. Object/ Variable Explorer(變量管理器), 用于查看內(nèi)存中的變量數(shù)據(jù)哥蔚;
  3. Console(控制臺)。Console用于評估代碼并且在任何時候都可以看到運行結(jié)果蛛蒙。
    在一個大顯示器上糙箍,同時使用這三個窗口,您可以快速牵祟、高效地編寫倍靡、調(diào)試和測試Python程序。
圖1 Spyder環(huán)境的用戶界面

安裝完Anaconda课舍,在你的程序菜單下至少有三個東西塌西,一個是anaconda prompt,一個是juypter notebook筝尾,一個是spyder捡需;三個有啥區(qū)別呢?

  • anaconda prompt筹淫,其實就是cmd加環(huán)境變量設(shè)置站辉,是提供給管理員配置環(huán)境,安裝包等用的,要設(shè)置虛擬環(huán)境饰剥,不同版本下的包管理等都在這里殊霞,在這個命令環(huán)境下,可以直接用“python + 腳本”來執(zhí)行程序汰蓉,還可以用conda命令執(zhí)行各種安裝包和配置等操作(提示一下:anaconda是一個集成管理環(huán)境绷蹲,在里面你可以通過conda虛擬多個環(huán)境,它可以幫你同時管理2.7顾孽,3.6祝钢,3.7等多個python環(huán)境,有時候一個包依賴特定的python版本這個功能就很有用了)若厚。
  • spyder拦英,集成編譯環(huán)境IDE,給程序員用的测秸,在里面可以開發(fā)疤估,可以測試;
  • jupyter notebook霎冯,這個與spyder不一樣做裙,它是基于瀏覽器的,提供給用戶有一個交互式上下文環(huán)境肃晚,上面寫代碼下面就出結(jié)果锚贱,整個過程像記筆記一樣,所以叫notebook关串,定位就是教學(xué)演示的工作拧廊。適合本地不裝環(huán)境,通過瀏覽器調(diào)用服務(wù)端來進(jìn)行計算的應(yīng)用場景晋修。Jupyter生態(tài)下還有很多工具吧碾,Jupyter
    Hub,Jupyter kernel gateway等等墓卦,還支持R的內(nèi)核倦春。

好咱裝完python環(huán)境,我們試試吧落剪,再anaconda prompt里面輸入python睁本,回車,進(jìn)入環(huán)境后忠怖,先來第一行代碼:

import this

沒錯Zen of Python——Python之禪呢堰,這是Python編程和設(shè)計的指導(dǎo)原則,由Tim Peter所寫凡泣,大家好好理解一下里面的精髓吧枉疼!

3皮假、Python中的科學(xué)棧

科學(xué)棧(Scientific Stack)由一系列重要的庫集合而成。Python語言除了開發(fā)源碼骂维、易于閱讀和編寫外惹资,更重要的在于其背后有著強大的科學(xué)棧支撐(搞科研的絕對繞不開呦),這就是為什么它可以代替Matlab或者R等領(lǐng)域?qū)S谜Z言和工具集的原因所在航闺。在當(dāng)今的許多科技領(lǐng)域褪测,通過第三方的Python包,幾乎可以提供給不同類型用戶任何所需要的功能来颤。常用的科學(xué)棧包括:

  1. NumPy汰扭,提供多維數(shù)組對象(注意:python自身沒有數(shù)組這個類型)稠肘,實現(xiàn)同構(gòu)或者異構(gòu)數(shù)據(jù)的存儲福铅;提供操作這一數(shù)組對象的優(yōu)化函數(shù)和方法。
  2. SciPy项阴,它是一組子庫和函數(shù)滑黔,實現(xiàn)科學(xué)數(shù)據(jù)分析中常用到的重要標(biāo)準(zhǔn)數(shù)值函數(shù)功能。如三次樣條插值和數(shù)值積分的函數(shù)环揽。
  3. Matplotlib, 它提供了功能強大的繪圖和可視化庫略荡,可以實現(xiàn)豐富的二維和三維可視化功能。
  4. PyTables歉胶,它是當(dāng)今十分流行的HDF5數(shù)據(jù)存儲的封裝器汛兜,實現(xiàn)了基于層次數(shù)據(jù)庫和文件格式的優(yōu)化磁盤I/O操作。
  5. Pandas通今,其在NumPy基礎(chǔ)上構(gòu)建粥谬,提供更加豐富的時間序列和表格數(shù)據(jù)管理及分析類,Pandas里面的數(shù)據(jù)框Dataframe類型非常強大辫塌,誰用誰知道哦漏策!;并在繪圖方面與Matplotlib庫臼氨、在數(shù)據(jù)存儲和讀取方面與PyTables緊密結(jié)合掺喻。
    當(dāng)然,還有很多優(yōu)秀的第三方庫储矩,實在無法一一列舉感耙,自能在實踐中學(xué)習(xí),但只要你能想到持隧,估計就已經(jīng)有人做了抑月。

4、不得不說的Notebook

Jupyter Notebook 是一個交互式筆記本舆蝴,支持運行 40 多種編程語言谦絮。其本質(zhì)是一個 Web 應(yīng)用程序题诵,便于創(chuàng)建和共享文學(xué)化程序文檔,支持實時代碼层皱,數(shù)學(xué)方程性锭,可視化,支持Markdown語法叫胖。 用途包括:數(shù)據(jù)清理和轉(zhuǎn)換草冈,數(shù)值模擬,統(tǒng)計建模瓮增,機器學(xué)習(xí)等等怎棱。Jupyter Notebook保存的文件叫ipynb,與py格式不同绷跑,通過渲染可以轉(zhuǎn)換為html直接放到網(wǎng)站上拳恋,也可以導(dǎo)出pdf直接作為教學(xué)材料。
通過Jupyter Notebook工具砸捏,我們可以在本機上連接遠(yuǎn)端的高性能計算機谬运,并利用此高性能計算機運行計算量較大的Python程序,節(jié)約計算時間垦藏。界面長這樣子:


圖2 Jupyter Notebook在瀏覽器內(nèi)的樣子

Jupyter Notebook還可以通過筆記本擴(kuò)展(nbextensions)其功能梆暖,實質(zhì)上是一種JavaScript模塊,可以加載到筆記本前端頁面上掂骏,可以大大提升用戶體驗轰驳。比如:變量瀏覽啊,類的縮放弟灼,筆記本提綱生成等等级解。合理的應(yīng)用這些擴(kuò)展工具,能有效提高你的工作效率袜爪。

一句話總結(jié):我是一個最早學(xué)C蠕趁,研究生隨導(dǎo)師用Fortran,為了做程序界面還自學(xué)過VB辛馆,Delphi(Pascal語法俺陋,古董了,現(xiàn)在的FMX技術(shù)支持跨平臺編譯)昙篙,做點面向?qū)ο罄白矗髞聿┦苛擞肕atlab較多,三年前開始逐漸接觸python苔可,深刻理解了為什么它叫膠水語言缴挖,總之,早一天使用焚辅,早一天受益映屋,誰用誰知道唄苟鸯!

友情提示:學(xué)python看書沒用,因為很難記住棚点,只有動手早处。

擴(kuò)展閱讀:
《A Byte of Python》中譯本

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市瘫析,隨后出現(xiàn)的幾起案子砌梆,更是在濱河造成了極大的恐慌,老刑警劉巖贬循,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咸包,死亡現(xiàn)場離奇詭異,居然都是意外死亡杖虾,警方通過查閱死者的電腦和手機烂瘫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來亏掀,“玉大人忱反,你說我怎么就攤上這事泛释÷算担” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵怜校,是天一觀的道長间影。 經(jīng)常有香客問我,道長茄茁,這世上最難降的妖魔是什么魂贬? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮裙顽,結(jié)果婚禮上付燥,老公的妹妹穿的比我還像新娘。我一直安慰自己愈犹,他們只是感情好键科,可當(dāng)我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著漩怎,像睡著了一般勋颖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上勋锤,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天饭玲,我揣著相機與錄音,去河邊找鬼叁执。 笑死茄厘,一個胖子當(dāng)著我的面吹牛矮冬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播次哈,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼欢伏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了亿乳?” 一聲冷哼從身側(cè)響起硝拧,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎葛假,沒想到半個月后障陶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡聊训,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年抱究,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片带斑。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡鼓寺,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出勋磕,到底是詐尸還是另有隱情妈候,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布挂滓,位于F島的核電站苦银,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏赶站。R本人自食惡果不足惜幔虏,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贝椿。 院中可真熱鬧想括,春花似錦、人聲如沸烙博。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽习勤。三九已至踪栋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間图毕,已是汗流浹背夷都。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人囤官。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓冬阳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親党饮。 傳聞我的和親對象是個殘疾皇子肝陪,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容