學了 Python 能用來做什麼?
說起編程語言,Python 也許不是使用最廣的,但一定是現在被談論最多的。隨著近年大數據、人工智慧的興起,Python 越來越多的出現在人們的視野中。
那麼人們在談論 Python 的時候究竟在談論什麼?Python 的實際應用場景有哪些?這裡給大家簡單做一個介紹:
Web 應用開發
在因大數據、人工智慧為人所熟知之前,Python 就已經在 Web 開發領域被廣泛使用,產生了Django、Flask、Tornado等 Web 開發框架。得益於其簡潔的語法和動態語言特性,Python 的開發效率很高,因而深受創業團隊的青睞。
一些將 Python 作為主要開發語言的知名互聯網企業/產品:
豆瓣
知乎
果殼網
Quora
Dropbox
由於後台伺服器的通用性,除了狹義的網站之外,很多 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 越來越熱也是情理之中的事情。
※英語學習:學會英語和學會Python
※區塊鏈技術詳解和Python實現案例
TAG:Python |