App下載

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

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

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

paihang

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

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

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

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

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

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

       常見(jiàn)的幾大 Web 開(kāi)發(fā)框架有:Django、Flask、TornadoBottle、Quixote 等。推薦閱讀:Python Django框架、Python Flask建站框架

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

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

       常見(jiàn)的幾大數(shù)據(jù)分析類(lèi)庫(kù)有:NumPy、Pandas、MatplotlibSciPy、SunPy 等。其結(jié)合運(yùn)用可讓數(shù)據(jù)工程師們?cè)趯?duì)數(shù)據(jù)進(jìn)行清洗、去重、存儲(chǔ)、展示、分析等方面工作事半功倍。推薦閱讀:Python 自動(dòng)化辦公。

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

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

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

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

四、自動(dòng)化運(yùn)維

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

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

五、人工智能

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

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

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

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

六、總結(jié)

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

Life is short, you need Python

人生苦短,你需要 Python


0 人點(diǎn)贊