App下載

w3cschool編程獅告訴你:Python干嘛用的?

猿友 2020-12-03 16:41:04 瀏覽數(shù) (6393)
反饋

       近年來,提及編程語言,Python 也許不是在開發(fā)中使用最廣泛的,但它卻一定是被談及最多的編程語言。隨著大數(shù)據(jù)、 AI 人工智能的興起, Python 越來越多的出現(xiàn)在人們的視野當(dāng)中,甚至長期霸榜 TIOBE 前三。

paihang

       那么 Python 究竟有著怎樣的魔力,使得其廣泛的被人們提及,對于初學(xué)者及想要了解學(xué)習(xí) Python 這門編程語言的人來說不經(jīng)的會產(chǎn)生疑問,Python 到底是干嘛用的? Python 的實際應(yīng)用場景有哪些?我能用 Python 做什么?這些問題都不好回答,因為 Python 的用途太廣泛!但這里小編給大家簡單的介紹 Python 的幾大應(yīng)用方向:

一、Web 應(yīng)用開發(fā)

       Python 因大數(shù)據(jù)、AI 人工智能被人門所熟知,但在此之前得益于 Python 為一種解釋型的腳本語言,開發(fā)效率高,早已在 Web 開發(fā)領(lǐng)域被廣泛的使用了。

       Python 有著眾多的 Web 開發(fā)框架,其成熟的模板技術(shù),使得選其開發(fā) Web 應(yīng)用不但效率高,而且運行速度快。

許多知名互聯(lián)網(wǎng)企業(yè)便是將 Python 作為主要的開發(fā)語言:豆瓣、知乎、果殼網(wǎng)、Google、NASA、YouTube、Facebook……

       得益于腳本語言的優(yōu)點,除 Web 之外,很多 App 和游戲的服務(wù)端也同樣是用 Python 實現(xiàn)。

       常見的幾大 Web 開發(fā)框架有:DjangoFlask、Tornado、Bottle、Quixote 等。推薦閱讀:Python Django框架Python Flask建站框架。

二、數(shù)據(jù)分析

       在數(shù)據(jù)分析和處理領(lǐng)域,Python 有著非常完善的生態(tài)環(huán)境。針對“大數(shù)據(jù)”分析中所涉及的數(shù)據(jù)庫操作、數(shù)據(jù)可視化、分布式計算等,在 Python 中都有成熟的模塊可供選擇去完成其相應(yīng)功能。對于 Spark 和 Hadoop-MapReduce,可以直接使用 Python 去完成相應(yīng)的計算邏輯,這無論對數(shù)據(jù)科學(xué)家還是數(shù)據(jù)工程師而言都是非常便利的。

       常見的幾大數(shù)據(jù)分析類庫有:NumPy、Pandas、Matplotlib、SciPy、SunPy 等。其結(jié)合運用可讓數(shù)據(jù)工程師們在對數(shù)據(jù)進行清洗、去重、存儲、展示、分析等方面工作事半功倍。推薦閱讀:Python 自動化辦公。

三、網(wǎng)絡(luò)爬蟲

       網(wǎng)絡(luò)爬蟲也稱為網(wǎng)絡(luò)蜘蛛,是 Python 比較常用的一個場景,其目的是為了從 Internet 收集數(shù)據(jù)的程序腳本。對于許多與數(shù)據(jù)相關(guān)的公司,爬蟲和反爬蟲技術(shù)是其生存的重要保證。盡管許多語言都可以爬蟲,但是靈活的 Python 無疑是當(dāng)前的最佳選擇。

       Google 是迄今為止最大的“爬蟲”公司,它一直在推動 Python 的發(fā)展,不僅在公司內(nèi)部大量使用 Python 進行開發(fā),而且為開發(fā)社區(qū)也做出了巨大貢獻。甚至 Python 之父 Guido van Rossum 也曾在 Google 工作了 7 年。

常見的幾大爬蟲類庫有:requests、urllib、urllib3、beautifulsoup、redis、selenium 等。推薦閱讀:Python 靜態(tài)爬蟲、Python Scrapy 網(wǎng)絡(luò)爬蟲。

四、自動化運維

       在 Web 開發(fā)領(lǐng)域中,Python 只是可供選擇的眾多編程語言之一!但在自動化運維領(lǐng)域,Python 靈活的功能和豐富的類庫使其成為自動化運維工程師們的首選語言。目前 Liunx 的所有發(fā)行版本中都自帶了 Python 解釋器,由此可見 Python 在自動化運維中的地位之高。

       Python 包含許多用于自動化運維的便捷工具,包括用于調(diào)節(jié) SSH / SFTP 的 paramiko,用于監(jiān)視服務(wù)用的 supervisor,以及bazel 等構(gòu)建工具,甚至包括用于 C++ 的軟件包管理工具,例如 Conan。 Python 提供了一套全方位的工具集合。 在此基礎(chǔ)上,通過 Web 的組合來開發(fā)自動化運維的工具就變得十分簡單。推薦閱讀:Python 自動化管理。

五、人工智能

        人工智能是當(dāng)今非常流行的一個方向,AI 人工智能的熱潮使得 Python語 言的未來充滿了無限的潛力。現(xiàn)在所發(fā)布得一些非常有影響力的 AI 框架,大多是是 Python 實現(xiàn)的,為什么?

        因為 Python 在做人工智能方面有著許多的類庫,例如用于數(shù)據(jù)分析的 Numpy,用于數(shù)值計算的 SciPy,用于機器學(xué)習(xí)的 Scikit-learn,用于神經(jīng)網(wǎng)絡(luò)的 pybrain,用于數(shù)據(jù)可視化的 Matplotlib,用于自然語言處理的 NLTK。

       人工智能的大多數(shù)核心算法仍然依賴 C/C++,因為人工智能是計算密集型,需要非常精細(xì)的優(yōu)化,并且還需要只 C/C++ 才能做到的 GPU、專用硬件和其他接口。

        這些庫的 API 便是由 Python 構(gòu)建的,并且由于 CPython 的膠水語言特性,要開發(fā)從其他語言 C/C++ 的跨語言接口,運用 Python 是最容易實現(xiàn)的,且門檻比其他語言要低得多,尤其是在使用 CPython 時。

六、總結(jié)

       Python 擁有如此廣泛的應(yīng)用方向,加上易于理解的語法,它已成為既適合初學(xué)者又值得深入研究的語言。 即使您不是程序員,也可以使用 Python 編寫一個小程序并調(diào)用多個接口,這可以大大提高工作效率。 因此,即使是 C++ 大牛 Bruce Eckel 也要感嘆:

Life is short, you need Python

人生苦短,你需要 Python


0 人點贊