Python修煉之路-按部就班

        Python已經演變爲一個龐大的生態系統,因爲其底層所有用c寫成,並且所有開放源碼,所以幾乎能夠完成其它任何編程語言能幹的事情。python雖然簡單,但要成爲高手也非一日之功。如何經過平常的功課,逐步進行修煉,我的的一些總結,分享以下,不對之處,歡迎指正。python

        語言:從某種意義上說,python不像是一門編程語言,學習起來是很快的。但裏面也有一些高深的東西如今連C++都在學習。但我的認爲,使用Python的目的就是爲了簡單、高效,所以沒必要過於追求奇巧,在效率、特殊結構、算法上去過度糾結,能使就好。linux

        編輯器:首推Sublime Text,徹底符合簡單高效跨平臺的原則,是必須掌握乃至精通的開發者「神器」。雖然基礎界面使用C++寫的,可是其插件開發和運行環境都是以Python爲基礎,對Python的編輯、開發、運行也支持的很是好,還可使用Python快速擴展出插件,很是方便。可是剛開始的一些習慣跟別的軟件不太同樣,須要一個適應過程。
git

        pip包管理:能夠快速安裝各類python擴展包,誰用誰知道。在linux上,只需sudo apt-get install python-pip就能夠裝上,而後sudo pip install xxx就能夠裝上須要的組件,效率真是高啊。固然,庫裏沒有的軟件,下載來sodu python setup.py install也不難。github

        py高級圖形:老是用控制檯的,老是感受不過癮,固然python的圖形能力也是很強悍的,並且也不是想象中的「腳本語言用圖形會很慢」。事實上,python上面的圖形界面已經有gtk/wxpython/tkinter/qt等多種支持,不只速度很好,並且繪製效果至關精美。並且,pyQtGraph能夠繪製精細的統計圖表,OpenCV這一計算機視覺的知名支持庫也有python的版本,包括OpenGL三維渲染/OpenCL高性能計算之類的庫也都能經過python調用。算法

        網絡服務:django不用說了,估計用的人很多了。Tornado也是一個被知名互聯網企業採用的高性能Web服務框架。Google當年的創始人也是python起家的,可能不少人並不知道。google網站的大部分服務仍然是使用python開發的。python的網絡能力,能夠說是「運用之妙,存乎一心」(不要學壞呀哈!)。django

        python源碼:蛋吃多了,就總想知道雞長啥模樣,這是程序猿和攻城獅的通病。想要了解python的運做機制,推薦看一看陳儒編寫的《python源碼剖析》,這應該是中國人在語言級別寫的第一本到如此深度的書了(請恕本人孤陋寡聞!),哪些搞不懂彙編、編譯器原理的童鞋,看看這個也基本能一窺編譯器、字節碼、虛擬機的端詳。固然,到了這個份兒上,書的內容已是見仁見智了,能理解到什麼程度,千萬不要爲難本身,保重啊!
編程

        無限擴展:python這一堆源代碼,講「擴展」好像說不上,由於任何增長的模塊都是內核級的,方法也有不少:一、固然是建立一個Python的Class了,import XXlib 就可使了;二、不用編譯源碼,經過擴展SDK建立一個擴展包,能夠把之前的c/C++庫Export到python中使用,這是推薦的方法,pyQt之類都是這樣的路數;三、把python解釋器鏈接到本身的程序中,經過腳本操控主程序的功能,pythonQt能夠直接將C++的對象映射到python中訪問(有點過於強悍了吧?);四、對源碼精通的,能夠直接把c的庫編譯了,跟源碼編譯上去,跟本身的庫就沒啥兩樣了。網絡

        獨立運行:跟那些複雜的安裝程序說掰掰吧。python的腳本也能夠打包運行的,使用py2exe便可,很是輕巧、幾乎沒有平臺依賴性。不少小巧的工具軟件都是這樣作出來的,可能不少人沒有意識到,python還能夠這麼玩吶!
框架

        數據分析:玩了上面的東東,若是還不過癮,試試numpy之類的科研人員的工具,再弄出幾個圖表,甚至於生成幾個動畫,瞬間「高大上」的感受(有沒有啊?),再經過rpy2(sudo pip install rpy2)調用R語言的模塊,提高一下逼格!(不知道啥叫R的,看這裏吧:http://www.r-project.org/ 。rpy2的雞在這裏:https://bitbucket.org/rpy2編程語言

        恭喜恭喜,你已經步入專業數據分析人員的行列了,這但是將來煊赫一時的「坑」啊!

        至此,這一「深坑」已經爲本身基本挖好了。

        跳吧!不要看兩邊,你將融入這藍天裏!......仍是藍海里?

        

        順便提一句,最近幾年出了個micropython(https://github.com/micropython/micropython),能夠在mcu微控制器上運行,之後沒準家裏的電飯煲運行的是python! 肚子餓的時候,運行一段python腳本,飯就行了,而後發個消息「Hello programmer,  your FAN get ready!」。

相關文章
相關標籤/搜索