- Python人工智能
- 劉偉善
- 1805字
- 2020-10-16 16:26:57
1.1 什么是Python
1.1.1 Python是什么
Python的創始人是吉多·范·羅蘇姆(Guido van Rossum)。1989年圣誕節期間,為了打發在阿姆斯特丹的時間,吉多·范·羅蘇姆決心開發一種新的腳本解釋器,作為ABC語言的一種繼承。
Python被稱為簡單而功能強大的編程語言之一。它顛覆了傳統編程的難度,讓“小白”也可以做編程。你會驚喜地發現Python語言有多簡單,它關注的是如何解決問題,而不是編程語言的語法和結構。它具有高層次的數據結構,對于面向對象的編程來說,簡單有效。Python簡潔的語法和對動態輸入的支持,加上解釋語言的特性,使得它在大多數平臺上的許多領域,特別是對于快速應用程序開發來說,都是一種理想的開發語言。
Python可以應用于數據分析、組件集成、網絡服務、圖像處理、數值計算和科學計算等許多領域。目前,行業內幾乎所有大中型互聯網公司都在使用Python,如Youtube、Dropbox、BT、Quora、豆瓣、知乎、谷歌、雅虎、Facebook、NASA、百度、騰訊、汽車之家、美團等。互聯網公司一般用Python來做自動化運維、自動化測試、大數據分析、爬蟲、Web等工作。市場對Python開發人員的需求呈爆炸式增長趨勢。Python+人工智能人才短缺高達80萬人,在2017年用人單位發布的職位描述中,Python的技能需求增長達到174%,排名第一。
1.1.2 Python的種類
當我們編寫Python代碼時,得到的是一個包含Python代碼的以.py為擴展名的文本文件。要運行代碼,就需要Python解釋器去執行.py文件。
由于整個Python語言從規范到解釋器都是開源的,理論上,只要編程水平足夠高,任何人都可以編寫Python解釋器來執行Python代碼。事實上,確實有多個Python解釋器,每個解釋器都有不同的功能,但是可以正常運行Python代碼。以下是5種常用的Python解釋器。
1.CPython
從Python官網下載并安裝Python 3.7后,可直接獲得一個官方版本的解釋器—CPython,該解釋器是用C語言開發的,所以叫CPython。在命令行下運行Python即可啟動CPython解釋器,CPython解釋器是使用最廣泛的Python解釋器。
2.IPython
IPython是一種基于CPython的交互式解釋器,也就是說,IPython只是在交互的方式上進行了增強,執行Python代碼的功能和CPython完全相同。好比國內很多瀏覽器的外觀雖然不一樣,但是其內核其實都是調用IE的一樣。
3.PyPy
PyPy是一個以執行速度為目標的Python解釋器。PyPy采用JIT技術對Python代碼進行動態編譯,可以顯著提高Python代碼的執行速度。
4.Jython
Jython是運行在Java平臺上的Python解釋器,可以直接將Python代碼編譯成Java字節碼執行。
5.IronPython
IronPython類似于Jython,只不過IronPython是運行在微軟.Net平臺上的Python解釋器,可以直接把Python代碼編譯成.Net的字節碼。
在Python的解釋器中,CPython得到了廣泛的應用。對于Python編譯來說,除了使用上面的解釋器進行編譯之外,技術高超的開發人員還可以根據自己的需要編寫Python解釋器來執行Python代碼,非常方便。
1.1.3 Python的特色
1.簡單
Python是一種代表簡單思想的語言。讀一個好的Python程序感覺就像讀英語文章一樣,雖然這個程序對語言的要求非常嚴格。Python的這種偽代碼特性是它最大的優勢之一。它使開發者能夠專注于解決問題,而不是理解語言本身。
2.開源、免費
Python是FLOSS(自由/升級源碼軟件)之一,簡而言之,開發者可以自由發布軟件副本,閱讀其源代碼,對其進行更改,并將生成的新的軟件放入FLOSS,不存在知識產權糾紛。FLOSS是基于一個團體共享的概念,這是Python如此優秀的原因之一。它是由一群希望看到更好Python的人創建并經常改進的。
3.高級語言
用Python編寫程序時,不需要考慮如何管理程序使用的內存等底層細節,使用起來極其方便,掌握起來也非常容易。
4.便攜性
由于Python的開源特性,它已經被移植到許多平臺上(為了使它能夠在不同的平臺上工作而改變)。如果注意避免使用系統相關的功能,所有Python程序都可以在以下任何平臺上運行,而無須修改。
這些平臺包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AS/400、BeOS、OS/390、z/OS、Palm OS QNX、VMS、Psion、Acom設置、OS設置、Play Station、Sharp Zaurus、Windows CE,甚至PocketPC。
5.面向對象
Python支持面向過程的編程和面向對象的編程。在面向過程的語言中,程序是由一個過程或一個只是可重用代碼的函數構建的。在面向對象的語言中,程序是由數據和功能組合的對象構建的。與C++和Java等其他主要語言相比,Python以非常強大和簡單的方式實現了面向對象的編程。
6.豐富的庫
Python具有強大的標準庫,它可以幫助用戶完成各種工作,包括正則表達式、文檔生成、單元測試、線程、數據庫、Web瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、GUI(圖形用戶界面)、tk等系統相關操作。只要安裝了Python,所有這些功能都是可用的。這就是Python的“功能齊全”概念。
除了標準庫以外,Python還有許多其他高質量的庫,如wxPython、Twisted和Python圖像庫等。
總之,Python是一種很棒的、功能強大的語言。它將高性能與使編寫程序變得簡單有趣的功能合理地結合在一起,形成它獨有的特色。