#1 初識Python

前言

要說如今最時髦的編程語言是什麼,那麼必定是Python無疑了。讓咱們來一塊兒來領略其風采吧!編程

1、Python介紹

Python的創始人爲吉多·範羅蘇姆(Guido van Rossum),被你們稱爲「龜叔」,他在1989年聖誕節期間,爲了在阿姆斯特丹打發時間,決定編寫一門新的編程語言,做爲ABC語言的繼承。(看看人家,再看看本身,哎,不說了,心痛)服務器

若是你據說過TIOBE排行榜,那麼你就能獲得編程語言的大體流行程度,根據最新的TIOBE排行榜,Python趕超C++佔據第三,僅次於Java和C,可見Python的流行程度。網絡

2、Python擅長領域

 Python可應用於衆多領域,最爲擅長的有Web應用開發自動化運維網絡爬蟲數據分析科學計算人工智能,同時Python是一門膠水語言多線程

Web應用開發:架構

在大數據、人工智能爲人所熟知以前,Python就已經在Web開發領域被普遍應用,產生了Flask、Django、Tornado等Web開發框架,衆多大型網站均爲Python開發:併發

  • YouTube框架

  • Quora運維

  • Reddit機器學習

  • Instagram編程語言

  • Facebook

  • Dropbox

  • Google

  • NASA

  • BT

  • 豆瓣

  • 知乎

固然Python不只應用於網站,不少APP和遊戲的服務器也一樣使用Python實現

自動化運維:

在自動化運維領域,Python是必需要掌握的技能,因其靈活的功能和豐富的類庫使其成爲運維工程師的首選語言。Linux系統內置Python,就足以見其在運維領域的地位。

網絡爬蟲:

網絡爬蟲多是萌新學習Python時最感興趣的,爬蟲能夠將網站上的任何內容爬取下來,供本身分析使用。對於數據公司來講,爬蟲和反爬蟲技術都是其賴以生存的重要保障,儘管不少語言均可以寫爬蟲,但Python絕對是首選,其靈活的爬取能力和豐富的類庫,使得爬蟲工程師工做起來的心應手。世界上最大的爬蟲公司莫屬Google了,Google一直在力推Python,就連Python創始人「龜叔」也在Google工做七年,可見Python的爬蟲能力有多強。

數據分析:

使用爬蟲爬取海量數據以後,就要對數據進行清洗、展現、分析、存儲,這方面Python作的也是很棒的,擁有極其豐富的類庫可供使用,讓數據分析事半功倍。

科學計算:

要說科學計算,你們第一想到的恐怕就是Matlab了,的確,Matlab在科學計算領域有着不可取代的地位,可是Python的出現,可能要取代Matlab成爲科學計算的領頭羊。Python在科學計算方面擁有極爲豐富的類庫,這些類庫在數學、物理、生物、地理、化學、建築、武器等領域發揮着重要做用。NASA也早已把Python做爲主要的開發語言,可見Python在科學計算領域的優點與i前途。

人工智能:

要說如今最火的方向是什麼,絕對是AI沒錯了,AI最重要的無非不過機器學習、神經網絡、深度學習等方面,而Python在數據挖掘、機器學習、神經網絡、深度學習等方面都是主流的編程語言,如今Python無疑已成爲AI領域的必修語言。

膠水語言:

對於Python萌新來講,最擔憂的可能就是Python會不會和我以前學過的語言有衝突,這一點無需擔憂。Python簡潔、靈活、通用,幾乎能夠和任何語言、設備、平臺、場景鏈接,所以被稱爲膠水語言。

除了上面提到的領域之外,Python在其它領域也發揮着不可磨滅的做用,金融離不開Python、遊戲離不開Python、桌面應用離不開Python,總之一句話歸納就是:

人生苦短,我用Python

3、Python缺點

Python有着上面衆多優勢,而且每個優勢看起來都是那麼的誘人,這也是Python流行的主要緣由。可是任何一門編程語言都有缺點,Python也不例外,Python的缺點主要有如下幾個:

  • Python的運行速度慢:這是Python的主要缺點,和c相比很是慢,由於Python是解釋型語言,代碼在執行時會一行一行的翻譯成機器碼,這個過程很是耗時。但這並非一個很嚴重的問題,通常狀況下,咱們不會那Python和C/C++去比較,由於用戶根本感受不到這個時間,執行一個C/C++程序可能須要2.001秒,執行一個一樣的Python程序須要2.1秒,用戶能感受到2.001秒和2.1秒的區別嗎?顯然不能。若是Python的運行速度確實影響到了你,那麼你能夠將Python和C結合使用,將佔用運行速度的那一塊代碼用C編寫,以提升總體效率。

  • PythonGIL鎖限制併發:Python的另外一個大問題就是對多處理器支持不太好。GIL(Global Interpreter Lock)指全局解釋器鎖,當Python的默認解釋器要執行時,都須要先去申請這個鎖,這意味着試圖通多多線程擴展應用程序時,老是被這個鎖限制。若是用戶須要多併發,可使用多進程的架構來實現,也能夠選擇不一樣的Python來實現多併發。

  • Python版本不兼容:幾乎全部的軟件更新迭代時,總會向後兼容,好比word2016能夠打開word2013的文件,若是不能作到向後兼容的話,很大機率會被用戶無情的拋棄。可是在Python中,一個很大的吐槽點就是Python3和Python2不能互相兼容,大量的Python工程師都爲此頭疼。萌新確定有這樣的疑問,學習Python2仍是Python3,這裏個人建議是學習Python3,Python2已經宣佈只會維護到2020年,並且大量的類庫已經不支持Python2了,同時官方建議學習Python3.

相關文章
相關標籤/搜索