Python簡直是萬能的,這5大主要用途你一定要知道!

博為峰網校發表於2019-04-01

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

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

因為Python簡單、入門快,是不少程式設計師入門的首選語言。

Python簡直是萬能的,這5大主要用途你一定要知道!

如果你想學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比較常用的一個場景,國際上,google在早期大量地使用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中都有成熟的模組可以選擇完成其功能。對於Hadoop-MapReduce和Spark,都可以直接使用Python完成計算邏輯,這無論對於資料科學家還是對於資料工程師而言都是十分便利的。

五、自動化運維

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

六、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通常不作為工程語言出現,換言之正規的軟體生產不使用它,主要用java, c#, xml, c,至於為什麼,因為這是軟體工程的需要。

而且Python不具有完整的語法檢查,但這也不影響Python現在的地位,因為Python入門快,簡單,學習成本相對低,有很豐富的支援庫可以被直接呼叫以高效地完成不同需求的工作,所以越來越多的人開始加入Python大軍。

Python簡單易懂的語法,使Python成為最適合初學者使用的語言,即使不是程式設計師,學會Python,也可以大大提升工作效率。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2640019/,如需轉載,請註明出處,否則將追究法律責任。

相關文章