Why python? 那些最好的程式員不是為了得到更高的薪水或者得到公眾的仰慕而編程,他們只是覺得這是一件有趣的事情。 —— Linux 之父 Linux Torvalds 作為一個使用主義的學習者,最關心的問題一定是“我為什麼要選擇python,學會之後我可以用來做什麼?” 首先,對於初學者來說 ...
Why python?
那些最好的程式員不是為了得到更高的薪水或者得到公眾的仰慕而編程,他們只是覺得這是一件有趣的事情。
—— Linux 之父 Linux Torvalds
作為一個使用主義的學習者,最關心的問題一定是“我為什麼要選擇python,學會之後我可以用來做什麼?”
首先,對於初學者來說,比起其他編程語言,python更容易上手。
python的設計哲學是優雅、明確、簡單。在官方的The Zen of Python(《Python之禪》)
中,有一句話:There should be one-and preferably only -obvious way to do it.
python追求的是找到最好的解決方案。相比之下,其他語言追求的是多種解決方案。
如果你試著讀一段寫的不錯的python代碼,會發現像是在讀英語一樣。這也是python的最大優點,它使你能夠專註於解決問題而不是去搞明白語言本身
其次,python功能強大,很多你本來應該操心的事情,python都替你考慮到了。當你用python語言編寫程式的時候,你不需要考慮如何管理你的程式使用的記憶體之類的底層細節。並且python有恆豐富的庫,其中有官方的,也有第三方開發的,你想做的功能模塊很有可能別人已經寫好了,你只需要調用,不需要重新發明輪子。這就像是擁有了智能手機,可能任意安裝需要的APP。
這幅漫畫形容了python的庫有多強大,倒入一個反重力庫就可以飛起來了。
第三,python能做的事情很多。
在職場中,使用python工作的主要是這樣的幾類人:
- 網站後端程式員:使用python搭建網站、後臺服務會比較容易維護,當需要增加新功能,用python可以比較容易的實現。不少知名網站都是用了python開發,比如:
- 自動化運維:越來越多的運維開始傾向於自動化,批量處理大量的運維任務。python在系統管理上的優勢在於強大的開發能力和完整的工具鏈。
- 數據分析師:python能快速開發的特性可以讓你迅速驗證你的想法,而不是把時間浪費咋程式本身上,並且有豐富的第三方庫的支持,也能幫你節省時間。
- 游戲開發者:一般是作為游戲腳本化內嵌在游戲中,這樣做的好處是你可以利用游戲引擎的高性能,又可以受益於腳本化開發的優點。只需要修改腳本內容就可以調整游戲,不需要重新編譯游戲,特方便。
- 自動化測試:對於測試來說,需要掌握Script的特性,會在設計腳本中有更好的效果。python是目前比較流行的Script。
如果你是一名業餘開發者,只要想在資源少的情況下快速做出自己想要的東西、自動化的解決生活中的問題,那麼python可以幫你做到這幾類事情:
- 網站開發
藉助功能豐富的框架django,flask,豐富的設計模板bootstrap,你可以快速搭建自己的網站,還可以做到移動端自適應。
- 用爬蟲爬取或處理大量信息
- 當你需要獲取大量數據或是批量處理數據的時候,python爬蟲可以快速做到這些,從而節省你的重覆勞動時間。比如:微博私信機器人、批量下載美劇、運行投資策略、刷折扣機票、爬合適房源、系統管理員的腳本任務等等。
- 在包裝其他語言的程式
- python又叫做膠水語言,因為它可以用混合編譯的方式使用C/C++/JAVA等等語言的庫。另外,樹莓派作為微型電腦也是用了python作為主要開發語言。
最後沒付送一張選擇編程語言的小測試,你可以根據你需要,選擇學習哪種語言。