在TIOBE Index最近釋出的程式語言排行榜上,Python躥升到了第3名的位置,是目前炙手可熱的程式語言。今年無論如何也要花半年的時間推出一個Python開發的系列課程,爭取每週更新幾篇,內容暫定為以下幾個主題。
一、Python語言基礎
二、Python Web開發
三、Python爬蟲開發
四、Python資料分析和視覺化
五、Python機器學習
這裡我們先簡單的扯兩句為什麼去了解和學習Python。日常生活中有很多工都可以通過計算機來解決,我們可以通過程式設計來控制計算機工作,當然程式設計可能對很多人來說並不是一件容易的事情,尤其是當你從C或者C++這樣的語言開始起步的時候。
今天你也可能會聽到很多類似於“每個人都應該學習程式設計”這樣的說法,但是選擇什麼樣的語言作為開始長久以來都是一個很難回答的問題。現在這個問題有了一個很好的答案,那就是從Python開始你的程式設計之旅。
Python是一種解釋型的程式語言(程式碼一句一句直接執行,不需要提前處理成機器碼,事實上Python的直譯器是先將Python原始碼翻譯成了位元組碼,再解釋執行這些翻譯後的位元組碼),解釋型語言的特點是很容易實現跨平臺,但是會以犧牲執行效率作為代價,但是在計算機硬體已經高度發達的今天,我們做開發的時候可能追求得更多的並不是程式的執行效率而是專案的開發效率,所以在開發應用系統時,我們更傾向於使用Java、Python、JavaScript這些看起來並沒有執行效率但卻能提升開發效率的語言。
相比C++和Java,Python可以讓開發者用更少的程式碼來做更多的事情,它在程式碼可讀性和語法簡潔性上做得非常出色的。Python支援物件導向、函式式、過程式三種程式設計正規化,而且擁有動態型別系統和垃圾回收機制,我們可以使用Python來實現任務的自動化,可以通過Python來開發網站,也可以用它來為很多的系統提供後臺服務。
Python提供了非常完善的基礎程式碼庫,覆蓋了檔案、網路、GUI、資料庫等方面;同時Python也擁有非常良好的生態系統,大量的三方庫在很大程度上簡化了開發工作。如果要給Python語言貼標籤,我個人覺得可以貼上“優雅”、“明確”、“簡單”,以下就隨便列舉幾點來誇一誇這個語言。
- 學習曲線低,尤其適合非專業人士
- 開源軟體,大量的三方庫和強大的生態圈
- 解釋型語言,完美的平臺可移植性
- 支援主流的程式設計正規化,物件導向和函數語言程式設計
- 可擴充套件性和可嵌入性,可以呼叫C/C++程式碼反之亦可以
- 程式碼規範程度高,可讀性強
對於目前Python的應用領域,就我個人瞭解的情況包括了以下幾個方面。
- 雲基礎設施 (主要開發語言:Python / Java / Go)
- DevOps(主要開發語言:Python / Shell / Ruby / Go)
- 網路爬蟲 (主要開發語言:Python / PHP / C++)
- 資料分析挖掘 (主要開發語言:Python / R / Scala / Matlab)
- 機器學習 (主要開發語言:Python / R / Java / Lisp)
而市場上提供的Python的職位主要集中在以下幾個方面。
- Python伺服器後臺開發 / 遊戲伺服器開發 / 資料介面開發
- Python自動化運維
- Python資料分析 / 資料視覺化 / 科學計算
- Python爬蟲
- Python機器學習 / 聊天機器人 / 影象識別和處理
以下幾張圖提供給對Python感興趣的小夥伴參考。
圖1. 2018年2月TIOBE-index程式語言排行榜
圖2. 2018年2月全國Python招聘崗位資訊 圖3. 2017年全國主要城市Python開發者平均薪資 最後說一句特別沒有營養的話:“學習Python最好的時間是10年前或者現在”。歡迎大家來一起交流Python開發中的那些事。print('人生苦短, 我用Python!')