文章來源於Crossin的程式設計教室 ,作者crossin
大家好,說起程式語言,Python 也許不是使用最廣的,但一定是現在被談論最多的。
隨著近年大數據、人工智慧的興起,Python 越來越多的出現在人們的視野中。
那麼人們在談論 Python 的時候究竟在談論什麼?Python 的實際應用場景有哪些?這裡給大家簡單做一個介紹:
Web 應用開發
在因大數據、人工智慧為人所熟知之前,Python 就已經在 Web 開發領域被廣泛使用,產生了 Django、Flask、Tornado 等 Web 開發框架。得益於其簡潔的語法和動態語言特性,Python 的開發效率很高,因而深受創業團隊的青睞。
一些將 Python 作為主要開發語言的知名網際網路企業/產品:
豆瓣 知乎 果殼網 Instagram Quora Dropbox Reddit
由於後臺伺服器的通用性,除了狹義的網站之外,很多 App 和遊戲的伺服器端也同樣用 Python 實現。
自動化運維
在 Web 開發領域,Python 只是眾多語言選擇之一;但在自動化運維領域,Python 則是必備技能。靈活的功能和豐富的類庫使其成為運維工程師的首選語言。大量自動化運維工具和平臺或以 Python 開發,或提供 Python 的配置介面。單從 Linux 內建 Python 這一點來看也足見其在伺服器和運維領域的地位。
因此很多公司雖然核心業務不是使用 Python,但在管理系統、運維等方面也大量使用。比如 Facebook 工程師維護了上千個 Python 專案,包括基礎設施管理、廣告 API 等。
網路爬蟲
也叫網路蜘蛛,是指從網際網路採集資料的程式指令碼。對於很多資料相關公司來說,爬蟲和反爬蟲技術都是其賴以生存的重要保障。儘管很多語言都可以編寫爬蟲,但靈活的 Python 無疑也是當前的首選。基於 Python 的爬蟲框架 Scrapy 也很受歡迎。
這個星球上最大的“爬蟲”公司 — Google 一直力推 Python,不僅在公司內部大量使用 Python,也為開發社群做了巨大貢獻。就連 Python 之父 Guido van Rossum 也曾在 Google 工作七年。
資料分析
當透過爬蟲獲取了海量資料之後,需要對資料進行清洗、去重、儲存、展示、分析,在這方面 Python 有許多優秀的類庫:NumPy、Pandas、Matplotlib 可以讓你的資料分析工作事半功倍。
科學計算
雖然 Matlab 在科學計算領域有著不可取代的地位,但 Python 作為一門通用的程式語言,可以帶來更廣泛的應用和更豐富的類庫。NumPy、SciPy、BioPython、SunPy 等類庫在生物資訊、地理資訊、數學、物理、化學、建築等領域發揮著重要作用。
而大名鼎鼎的 NASA 也早已把 Python 作為主要開發語言。
人工智慧
Python 在人工智慧大範疇領域內的資料探勘、機器學習、神經網路、深度學習等方面都是主流的程式語言,得到廣泛的支援和應用。
機器學習:Scikit-learn
自然語言處理:NLTK
深度學習:Theano、Keras、Google 的 TensorFlow、Facebook 的 PyTorch、Amazon 的 MxNet
這些已經佔據業內主流的工具要麼是用 Python 開發,要麼也提供了 Python 版本。Python 無疑已成為 AI 領域的必修語言。
膠水語言
Python 簡潔、靈活、通用,幾乎可以在各種場景與各種平臺、裝置、語言進行連線,因此被稱為膠水語言。有人把它比作小巧而又多功能的瑞士軍刀。除了上面提到的,在其他領域也常常見到 Python 的身影:
金融:大量金融分析和量化交易工具使用 Python 作為的開發指令碼語言
遊戲:一些引擎使用 Python 作為開發指令碼,比較有名的遊戲有《文明》系列、網易的《陰陽師》
桌面應用:雖然不算主流,但 PyQT、wxPython、Tkinter 等 GUI 庫也足以應付一般的桌面程式
在各家公司裡,Python 還常被用來做快速原型開發,以便更快驗證產品概念。而眾多極客也把 Python 作為實現自己天馬行空想法的神兵利器。在知乎上就有一個問題:
可以用 Python 程式語言做哪些神奇好玩的事情?
裡面 200 多個回答將會讓你大開眼界。
有著如此廣泛的應用,再加上簡單易懂的語法,使得 Python 成為一門既適合初學,又值得深入的語言。即使不是程式設計師,能用 Python 寫上一小段程式,呼叫幾個介面,也能極大提升工作效率。所以連 C++ 大牛 Bruce Eckel 也要感嘆:
Life is short, you need Python人生苦短,你需要 Python
由此來看,Python 越來越熱也是情理之中的事情。
文章連結:https://mp.weixin.qq.com/s/aGcO6zkq6sr0mFw11ugBEA
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。各位也可以關注我的Facebook,按讚我的臉書並私訊「10」,送你十週入門數據分析電子書唷!期待你與我互動起來~