Python具有簡單、易學、免費、開源、可移植、可擴展、可嵌入、物件導向等優點,而且從事Python開發,所從事的工作機會和工作及工作內容可選擇的餘地很多,未來發展空間也很大。
用Python 寫爬蟲(推薦學習:Python影片教學)
根據我所知很多初學Python 的人都是用它來寫爬蟲程式。小到抓取一個小黃圖網站,大到一個網路公司的商業應用。透過Python 入門爬蟲比較簡單易學,不需要在一開始掌握太多太基礎太底層的知識就可以很快上手,而且很快可以做出成果,非常適合小白一開始想做出點看得見的東西的成就感。
除了入門,爬蟲也被廣泛應用到一些需要數據的公司、平台和組織,透過抓取網路上的公開數據,來實現一些商業價值是非常常見的做法。當然這些選手的爬蟲就要厲害的多了,需要處理包括路由、儲存、分散式運算等很多問題,與小白的抓黃圖小程序,複雜度差了很多倍。
Web 程序
除了爬蟲,Python 也廣泛應用到了Web 端程序,例如你現在正在使用的知乎,主站後台就是基於Python 的tornado 框架,豆瓣的後台也是基於Python。除了 tornado (Tornado Web Server),Python 常用的 Web 框架還有 Flask(Welcome | Flask (A Python Microframework)),Django (The Web framework for perfectionists with deadlines) 等等。透過上述框架,你可以很方便實現一個Web 程序,例如我認識的一些朋友,就透過Python 自己編寫了自己的部落格程序,包括之前的zhihu.photo,我就是透過Flask 實現的後台(出於版權等原因,我已經停掉了這個網站)。除了上述框架,你也可以嘗試自己實作一個 Web 框架。
桌面程式
Python 也有很多UI 函式庫,你可以很方便地完成一個GUI 程式(話說我最開始接觸程式設計的時候,就覺得寫GUI 好酷炫,不過搞了好久才在VC6 搞出一個小程序,後來又輾轉Delphi、Java等,最後接觸到Python 的時候,我對GUI 已經不感興趣了)。 Python 實作 GUI 的實例也不少,包括大名鼎鼎的 Dropbox,就是 Python 實作的伺服器端與客戶端程式。
人工智慧(AI)與機器學習
人工智慧是現在非常火熱的一個方向,AI熱潮讓Python語言的未來充滿了無限的潛力。現在釋放出來的幾個非常有影響力的AI框架,大多是Python的實現,為什麼呢?因為Python足夠動態、具有足夠性能,這是AI技術所需的技術特點。例如基於Python的深度學習庫、深度學習方向、機器學習方向、自然語言處理方向的一些網站基本上都是透過Python來實現的。
機器學習,尤其是現在火熱的深度學習,其工具框架大都提供了Python介面。 Python在科學計算領域一直有著較好的聲譽,其簡潔清晰的語法以及豐富的計算工具,深受此領域開發者喜愛。
早在深度學習以及Tensorflow等框架流行之前,Python中即有scikit-learn,能夠很方便地完成幾乎所有機器學習模型,從經典資料集下載到構建模型只需要簡單的幾行代碼。配合Pandas、matplotlib等工具,能很簡單調整。
而Tensorflow、PyTorch、MXNet、Keras等深度學習框架更是大幅拓展了機器學習的可能。使用Keras編寫一個手寫數字識別的深度學習網路僅需要寥寥數十行程式碼,即可藉助底層實現,方便地調用包括GPU在內的大量資源完成工作。
值得一提的是,無論什麼框架,Python只是作為前端描述用的語言,實際計算則是透過底層的C/C 實現。由於Python能很方便地引入和使用C/C 專案和函式庫,從而實現功能和效能上的擴展,這樣的大規模計算中,讓開發者更關注邏輯於資料本身,而從記憶體分配等繁雜工作中解放出來,是Python被廣泛應用於機器學習領域的重要原因。
科學計算
Python 的開發效率很高,效能要求較高的模組可以用 C 改寫,Python 呼叫。同時,Python 可以更高層次的抽象問題,所以在科學計算領域也非常熱門。包括 scipy、numpy 等用於科學計算的第三方函式庫的出現,更是方便了又一定數學基礎,但是電腦基礎一般的朋友。
圖像處理
這方面不熟,列幾個關鍵字吧,如果有錯誤,請斧正。
keywords : OpenCV, Pillow, PIL
小結
時間問題,暫到這裡。基本上可以不負責任地認為,Python 可以做任何事情。
但是,如果你打算以此為業,我的建議是,不要侷限在 「學Python」這樣的思維上。要在技術領域立足,光是學會了Python的語法是不夠的,你需要很多程式語言以外的基礎知識。
更多Python相關技術文章,請造訪Python教學欄位學習!
以上是python學出來能做什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!