恭喜你,邁入了人人學Python的時代
互聯網時代的下半場,人工智慧時代的前夕,如果不掌握一門編程語言,就像20年前不會英語一樣,在未來的職業生涯中必然會喪失競爭力。
Python 的火熱就說明了這一點。
在過去的幾年裡Python一直在快速增長,尤其是在2017年躍居為排名第一的編程語言。在Stack Ovehrflow上,關於Python相關問題的訪問數增長的比任何語言都快,作為世界上增長最快的主要編程語言,其相關行業薪資水平水漲船高。
這種增長趨勢還在持續,並且每年的增長速度都在加快。那麼問題來了——
為什麼這麼多人開始學習Python?
2017年比較熱門的話題是人工智慧,而人工智慧需要數據科學和機器學習的支撐。Python在數據科學和機器學習方面的普及,是其快速增長的主要原因。
Python擁有約13萬的第三方庫,這些庫使得Python具備多功能性,不僅可以處理簡單事件如寫入文本,還可以處理複雜高科技任務如機器學習、AI。例如,可以使用dlib庫進行人臉識別。簡單的人臉識別程序,Python甚至只要25行代碼。
Python擁有以數據為中心的庫,如pandas、NumPy、matplotlib。任何熟悉Python語法和規則的人都可以使用這些庫,用來處理、操作和可視化數據。數據驅動決策越來越受企業的歡迎,這也讓數據分析在工作中扮演了非常重要的角色。
Python在數據分析上應用 - 某一地區2014年氣溫分析
下圖是使用Python的matplotlib庫,可視化5000個點的隨機漫步,以模擬現實情況。雖然是簡單的數據模擬,但可視化後的數據猶如一件藝術品。
Python的熱門除了其在數據科學和機器學習方面的應用,還體現在其簡單、多功能性,是最適合編程入門的語言,而且它也擁有完成高級任務所需的全部功能,Python對於初學者來說非常棒。如果你不想成為數據科學家,也不想做人工智慧,只想寫寫遊戲和網頁,Python依然是最好的選擇。例如你可以利用三個常用的Python庫來製作Web應用、遊戲和數據抓取:
Django - 製作Web應用程序的特色框架。
Pygame - 用於編寫遊戲的Python模塊集合。
Beautiful Soup - 尤其適用於網路抓取。
Python是一種效率極高的語言,相比於眾多其他的語言,使用Python編寫時,程序包含的代碼更少。執行同一個任務,C語言需要10行代碼,而Python可能只需要一行代碼。Python的語法也有助於創建整潔的代碼:相比於其他語言,使用Python編寫的代碼更容易閱讀、調試和拓展。
Python被應用於眾多方面:編寫遊戲、創建Web應用程序、解決商業問題以及供各類有趣的公司開發內部工具,當然在科學領域也被大量的用於學術研究和應用研究。
作為初學者,我用Python做了什麼?
學編程最重要的就是邊學邊練,經常做項目非常重要。我是在Udacity上學習的Python,Udacity就很重視項目實戰,幫助學員把知識轉變成自己的能力。
最重要的是在工作中應用,我在工作上主要應用于海量數據的處理、分析、可視化輸出,現在每天都在使用Python做數據分析,幾十行代碼直接可視化輸出近千字的數據分析報告。
不僅將其應用在了工作上,我還使用了Python做了幾個程序應用。目前還寫了如下幾個應用:
搭建了自己的網頁博客
2048小遊戲
火車票自動搶票
抓取美女街拍圖片
基於Python色情圖片識別
pygame庫開發外星人入侵遊戲
(我做出來的外星人入侵遊戲界面)
我今年的目標是希望能寫一個遊戲上架應用,從而獲得額外的收入,同時繼續在Udacity深入學習,在機器學習方面深造。
對於新手來說,要怎樣學習Python?
Python非常容易入門,只需要具備3個條件,即:
基本的計算機操作技能即可開始
喜歡編程,想通過編程獲得一定成就
每天能抽出1-2個小時學習
另外在學習上有幾點很重要,否則容易走彎路。
選用體系化的專業課程
對於小白來說,最好的學習方式是課程內容與實際應用相結合,入門課程的內容深度不能太深,每學習一個知識點,都要將其與現實應用場景結合,練習這個知識點可以解決什麼問題、具體有什麼應用,這樣更容易培養起編程的興趣和信心。
有人審閱代碼和指導
入門編程的人,很苦鬧的一點就是遇到問題只能自己解決,甚至會因找不到解決方法而苦惱失去了興趣和信心。如果從一開始就有人指導走上正確的編程之路,可以規避很多走彎路的風險。
加入社群堅持學習
學編程可不是件容易的事兒,不是每個人都能每天堅持學習1-2小時,所以,學習編程最好也能像上學一樣有班級有同學,遇到問題可以一起討論,彼此相互鼓勵相互學習,這就是現在互聯網大背景下的「社群學習」模式,這樣也能避免學習的枯燥。
我個人給大家推薦的學習方式是「輕培訓,半自學」方式,即線上互動課程,也就是目前Udacity的產品模式。Udacity除了有課程內容緊扣現實應用和社群服務兩大特色外,還有專門的導師提供一對一編程指導,你提交的項目作業還有專門的人員進行審閱並提供專業改進意見。
因為我是在職人員,不可能完全脫產去報名培訓班,而且,我更喜歡「社群學習」的氛圍。只要每天能抽出 1-2 小時的學習,基本上不到 2 個月就能掌握Python(有編程基礎的同學會更快),更適合希望利用零散時間來學習的人。
Python是一門傑出的語言,值得你去學習。現在Udacity的Python課程支持免費試聽。如果你也想學習Python,非常鼓勵你去試聽這門來自矽谷的Python課程。
掃碼免費試聽
▼
TAG:Python |