從2015開始國內就開始慢慢接觸Python了,從16年開始Python就已經在國內的熱度更高了,目前也可以算的上"全民Python"了。

眾所周知小學生的教材裡面已經有Python了,國家二級計算機證也需要學習Python了!

因為Python簡單、入門快,是不少程序員入門的首選語言。

Python簡直是萬能的,你都用Python做過哪些事?

如果你想學Python,或者你剛開始學習Python,那麼你可能會問:"我能用Python做什麼?"

這個問題不好回答,因為Python有很多用途。

但是隨著時間,我發現有Python主要有以下五大主要應用:

一、Web開發

Python的誕生歷史比Web還要早,由於Python是一種解釋型的腳本語言,開發效率高,所以非常適合用來做Web開發。

Python有上百種Web開發框架,有很多成熟的模板技術,選擇Python開發Web應用,不但開發效率高,而且運行速度快。

常用的web開發框架有:Django、Flask、Tornado 等。

許多知名的互聯網企業將python作為主要開發語言:豆瓣、知乎、果殼網、Google、NASA、YouTube、Facebook……

由於後臺服務器的通用性,除了狹義的網站之外,很多App和遊戲的服務器端也同樣用 Python實現。

Python簡直是萬能的,你都用Python做過哪些事?

二、網絡爬蟲

許多人對編程的熱情始於好奇,終於停滯。

距離真槍實幹做開發有技術差距,也無人指點提帶,也不知當下水平能幹嘛?就在這樣的疑惑循環中,編程技能止步不前,而爬蟲是最好的進階方向之一。

網絡爬蟲是Python比較常用的一個場景,國際上,google在早期大量地使用Python語言作為網絡爬蟲的基礎,帶動了整個Python語言的應用發展。以前國內很多人用採集器搜刮網上的內容,現在用Python收集網上的信息比以前容易很多了,如:

從各大網站爬取商品折扣信息,比較獲取最優選擇;

對社交網絡上發言進行收集分類,生成情緒地圖,分析語言習慣;

爬取網易雲音樂某一類歌曲的所有評論,生成詞雲;

按條件篩選獲得豆瓣的電影書籍信息並生成表格……

應用實在太多,幾乎每個人學習爬蟲之後都能夠通過爬蟲去做一些好玩有趣有用的事。

Python簡直是萬能的,你都用Python做過哪些事?

三、人工智能

人工智能是現在非常火的一個方向,AI熱潮讓Python語言的未來充滿了無限的潛力。現在釋放出來的幾個非常有影響力的AI框架,大多是Python的實現,為什麼呢?

因為Python有很多庫很方便做人工智能,比如numpy, scipy做數值計算的,sklearn做機器學習的,pybrain做神經網絡的,matplotlib將數據可視化的。在人工智能大範疇領域內的數據挖掘、機器學習、神經網絡、深度學習等方面都是主流的編程語言,得到廣泛的支持和應用。

人工智能的核心算法大部分還是依賴於C/C++的,因為是計算密集型,需要非常精細的優化,還需要GPU、專用硬件之類的接口,這些都只有C/C++能做到。

而Python是這些庫的API binding,使用Python是因為CPython的膠水語言特性,要開發一個其他語言到C/C++的跨語言接口,Python是最容易的,比其他語言的門檻要低不少,尤其是使用Cython的時候。

Python簡直是萬能的,你都用Python做過哪些事?

四、數據分析

數據分析處理方面,Python有很完備的生態環境。"大數據"分析中涉及到的分佈式計算、數據可視化、數據庫操作等,Python中都有成熟的模塊可以選擇完成其功能。對於Hadoop-MapReduce和Spark,都可以直接使用Python完成計算邏輯,這無論對於數據科學家還是對於數據工程師而言都是十分便利的。

Python簡直是萬能的,你都用Python做過哪些事?

五、自動化運維

Python對於服務器運維而言也有十分重要的用途。由於目前幾乎所有Linux發行版中都自帶了Python解釋器,使用Python腳本進行批量化的文件部署和運行調整都成了Linux服務器上很不錯的選擇。Python中也包含許多方便的工具,從調控ssh/sftp用的paramiko,到監控服務用的supervisor,再到bazel等構建工具,甚至conan等用於C++的包管理工具,Python提供了全方位的工具集合,而在這基礎上,結合Web,開發方便運維的工具會變得十分簡單。

Python簡直是萬能的,你都用Python做過哪些事?

六、Python的其他應用舉例

系統編程:提供API,能方便進行系統維護和管理,Linux下標誌性語言之一,是很多系統管理員理想的編程工具。

圖形處理:有PIL、Tkinter等圖形庫支持,能方便進行圖形處理。

數學處理:NumPy擴展提供大量與許多標準數學庫的接口。

文本處理:Python提供的re模塊能支持正則表達式,還提供SGML,XML分析模塊,許多程序員利用Python進行XML程序的開發。

數據庫編程:程序員可通過遵循PythonDB-API(數據庫應用程序編程接口)規範的模塊與MicrosoftSQLServer,Oracle,Sybase,DB2,MySQL、SQLite等數據庫通信。Python自帶有一個Gadfly模塊,提供了一個完整的SQL環境。

網絡編程:提供豐富的模塊支持sockets編程,能方便快速地開發分佈式應用程序。很多大規模軟件開發計劃例如Zope,Mnet及BitTorrent.Google都在廣泛地使用它。

Web編程:應用的開發語言,支持最新的XML技術。

多媒體應用:Python的PyOpenGL模塊封裝了"OpenGL應用程序編程接口",能進行二維和三維圖像處理。PyGame模塊可用於編寫遊戲軟件。

黑客編程:Python有一個hack的庫,內置了你熟悉的或不熟悉的函數,但是缺少成就感。

Python簡直是萬能的,你都用Python做過哪些事?

七、總結:

看到這麼多應用場景是不是覺得Python非常厲害,但是Python通常不作為工程語言出現,換言之正規的軟件生產不使用它,主要用java, c#, xml, c,至於為什麼,因為這是軟件工程的需要。

而且Python不具有完整的語法檢查,但這也不影響Python現在的地位,因為Python入門快,簡單,學習成本相對低,有很豐富的支持庫可以被直接調用以高效地完成不同需求的工作,所以越來越多的人開始加入Python大軍。Python簡單易懂的語法,使Python成為最適合初學者使用的語言,即使不是程序員,學會Python,也可以大大提升工作效率。

相關推薦

推薦中...