你懂python嗎?

在人工智能盛行的今天,有一門編程語言也悄然的流行了起來,那就是大名鼎鼎的python。或許你僅僅知道它只是一門計算機編程語言,但你知道它是怎麼發明的嗎?它是如何在深度學習領域佔有如此重要的地位嗎?下面將帶大家走入python的世界。

Python的由來

有一個名叫Guido van Rossum(吉多·範羅蘇姆)的荷蘭程序員,叫他吉多就好了。他在1989年的聖誕節期間,為了打發無聊的時間,就想重新開發一種腳本解釋語言,吉多也不是憑空去創造,在這之前他就參與設計了一款優美和強大的ABC語言,但ABC語言並沒有成功,吉多認為是沒有開放造成的,於是他就在ABC語言的基礎上,並結合了Unix Shell和C的習慣,寫出了一個新的腳本編譯器,那這門語言該叫啥那?因為吉多喜愛BBC的一檔名為Monty Python’s Flying Circus的節目,於是就給這門語言起名為python。可以說吉多是python語言的最初發明者和架構設計者,是他引領了python的發展方向,現在仍是python的主要維護者。

還有一個趣事就是吉多在給Google的面試簡歷上就寫了一句話—【我創造了python】,大神就是這麼屌。

你懂python嗎?

你懂python嗎?

Python是什麼

現在給出一個python的定義,python是一種面向對象的解釋型高級計算機程序設計語言。首先,python是面向對象的,也就是python是可以定義類的,C++和Java也是面向對象的編程語言;其次是解釋型,就是python源碼在執行之前是先轉化為中間碼,然後由解釋器轉化為可執行的程序指令運行的,C#和Java也是解釋型的語言,其最大的好處就是跨平臺運行,並不侷限於特定平臺,只要在平臺上安裝上python的解釋器就可以啦。

Python提供了豐富的API和工具,能夠讓程序員使用其他語言如C、C++、Cython來編寫各種擴展模塊,所以python也被稱為膠水語言,其中許多大型的網站也是用python寫的,如豆瓣、Youtube、Instagram等。

Python是純粹的自由軟件,源代碼和C解釋器是遵循GPL(GNU General License)協議的。Python的定位就是“優雅”、“明確”和“簡單”,所以相對於其他高級編程語言而言,python算是簡單易學。經過幾年的發展,python開發者們為我們提供了完善了基礎代碼庫,覆蓋了文件、數據分析、網絡、數據庫、GUI、網站等內容,而且有大量的第三庫供大家免費下載使用。

大家都知道TIOBE排行榜吧,雖說世界上有大概600多種編程語言,但真正流行的語言也就那10多種語言,下圖是截止2020年2月最新的TOP10編程語言,python已躍居第三位,足見其流行程度。

你懂python嗎?

Python解釋器

Python解釋器的功能就是將python源碼翻譯成CPU能夠執行的機器碼,這個翻譯過程可用不同的編程語言實現,於是就出現了不同語言版本的python解釋器:

你懂python嗎?

  • CPython解釋器:顧名思義,這個解釋器是用C語言寫的,是使用最廣泛的解釋器
  • IPython解釋器:此解釋器加強了交互功能,但python源碼的解釋仍然採用的是CPython來完成,也就是將CPython包裝了一下,加強了某一方面的能力
  • PyPy解釋器:採用python進行編寫,其採用了JIT的技術,對python代碼進行了動態編譯,所以在執行速率上有所突出
  • Jython解釋器:此解釋器可以在Java平臺上運行,將python代碼解釋為Java的字節碼
  • IronPython解釋器:此解釋器能夠將python代碼解釋為.net對應的字節碼,可在.net平臺上運行

當然,基於python的開放精神,任何人都可以寫出自己的python解釋器,只要你牛逼。

Python版本

目前python開發主要是python2.x和python3.x,其中python3.0並沒有過多的考慮向下兼容,所以很多早期的python設計程序是不能直接在python3.x下運行的,但python2.6被作為了一個過渡版本,基本採用了python2.x的語法和規則,也能使用一部分python3.0的語法。

你懂python嗎?

對於初學者,建議學習python3,不要學習python2,因為Python2已不再提供維護啦。

下面看一個最簡單的hello,world程序,體會一下python2和python3的區別:

【python2版】print “hello, world”

【python3版】print(“hello,word”)

著名的python第三方庫


Web框架:Django、Flask、Pyramid、ActiveGrid、Karrigell、Tornado、webpy、CherryPy、Pylons、Zope、TurboGears、Twisted、Quixote、aiohttp

科學計算:Matplotlib、Pandas、SciPy、NumPy

GUI:PyGtk、PyQt、WxPython

python開發IDE


Eric:基於PyQt的自由軟件。

IDLE:Python“標準”IDE。一般隨Python而安裝,支持較少的編輯功能。調試功能也比較弱。

PyCharm:由JetBrains打造,PyCharm具備一般IDE的功能,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制等等。

PyScripter:功能較全的開源IDE,使用Delphi開發。

PythonWin:包含在pywin32內的編輯器,僅適用於Windows。

SPE(Stani's Python Editor):功能較多的免費軟件,依賴wxPython。

Spyder:開源的跨平臺科學計算IDE。

Ulipad:功能較全的免費軟件,依賴wxPython。

WingIDE:商業軟件。

但是對於python的開發,還是強烈推薦PyCharm。

你懂python嗎?


分享到:


相關文章: