Pyhton介紹、發展趨勢、安裝
1、Python起源
Pyhton的創始人爲吉多·範羅蘇姆(Gudio van Rossum) (後文簡稱龜叔) html
- 1989年的聖誕節期間,龜叔爲了在阿姆斯特丹打發時間,決心開發一個新的解釋程序,做爲ABC語言的繼承。
- ABC是由龜叔設計的一種教學語言,在龜叔看來,ABC這種語言很是優美和強大,是專門爲非專業程序員設計的。可是ABC語言並無成功,龜叔認爲是非開發形成的。龜叔決心在Python中避免這一錯誤,並獲取了很是好的效果。
- 之因此選擇Python做爲這麼程序語言的名字,是由於龜叔是BBC電視劇——Monty Python's Flying Circus的粉絲。
- 1991年,第一個Python解釋器誕生,它是用C語言實現的,而且可以調用C語言的庫文件。龜叔但願Python這麼語言能符合他的理想:創造一種C和shell之間,功能全面,易學易用,可拓展的語言。
2、目前Python主要應用領域
- WEB開發——最火的Python web框架Django, 支持異步高併發的Tornado框架,短小精悍的flask,bottle, Django官方的標語把Django定義爲the framework for perfectionist with deadlines(大意是一個爲徹底主義者開發的高效率web框架)。
- 網絡編程——支持高併發的Twisted網絡框架, py3引入的asyncio使異步編程變的很是簡單。
- 爬蟲——爬蟲領域,Python幾乎是霸主地位,Scrapy\Request\BeautifuSoap\urllib等,想爬啥就爬啥。
- 雲計算——目前最火最知名的雲計算框架就是OpenStack,Python如今的火,很大一部分就是由於雲計算。
- 人工智能——誰會成爲AI 和大數據時代的第一開發語言?這本已經是一個不須要爭論的問題。若是說三年前,Matlab、Scala、R、Java 和 Python還各有機會,局面尚且不清楚,那麼三年以後,趨勢已經很是明確了,特別是前兩天 Facebook 開源了 PyTorch 以後,Python 做爲 AI 時代頭牌語言的位置基本確立,將來的懸念僅僅是誰能坐穩第二把交椅。
- 自動化運維——問問中國的每一個運維人員,運維人員必須會的語言是什麼?10我的相信會給你一個相同的答案,它的名字叫Python。
- 金融分析——我我的以前在金融行業,10年的時候,咱們公司寫的好多分析程序、高頻交易軟件就是用的Python,到目前,Python是金融分析、量化交易領域裏用的最多的語言。
- 科學運算—— 你知道麼,97年開始,NASA就在大量使用Python在進行各類複雜的科學運算,隨着NumPy, SciPy, Matplotlib, Enthought librarys等衆多程序庫的開發,使的Python愈來愈適合於作科學計算、繪製高質量的2D和3D圖像。和科學計算領域最流行的商業軟件Matlab相比,Python是一門通用的程序設計語言,比Matlab所採用的腳本語言的應用範圍更普遍。
- 遊戲開發——在網絡遊戲開發中Python也有不少應用。相比Lua or C++,Python 比 Lua 有更高階的抽象能力,能夠用更少的代碼描述遊戲業務邏輯,與 Lua 相比,Python 更適合做爲一種 Host 語言,即程序的入口點是在 Python 那一端會比較好,而後用 C/C++ 在很是必要的時候寫一些擴展。Python 很是適合編寫 1 萬行以上的項目,並且可以很好地把網遊項目的規模控制在 10 萬行代碼之內。另外據我所知,知名的遊戲<文明> 就是用Python寫的。
3、Python在一些公司的應用
- 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬蟲、Google廣告等項目都在大量使用Python開發。
- CIA:美國中情局網站就是用Python開發的。
- NASA:美國航天局(NASA)大量使用Python進行數據分析和運算。
- YouTube:世界上最大的視頻網站YouTube就是用Python開發的。
- Dropbox:美國最大的在線雲存儲網站,所有用Python實現,天天網站處理10億個文件的上傳和下載。
- Instagram:美國最大的圖片分享社交網站,天天超過3千萬張照片被分享,所有用python開發。
- Facebook:大量的基礎庫均經過Python實現的。
- Redhat:世界上最流行的Linux發行版本中的yum包管理工具就是用python開發的。
- 豆瓣:公司幾乎全部的業務均是經過Python開發的。
- 知乎:國內最大的問答社區,經過Python開發(國外Quora)。
- 春雨醫生:國內知名的在線醫療網站是用Python開發的。
- 除了以上例舉的公司以外,還有搜狐、金山、騰訊、盛大、網易、百度、阿里、淘寶 、土豆、新浪、果殼等公司都在使用Python完成各類各樣的任務。
4、Python的發展史
- 1989年,龜叔開始寫Python語言的編譯器。
- 1991年,第一個Python編譯器誕生。它是用C語言實現的,並可以調用C語言的庫文件。從一出生,Python已經具備了:類,函數,異常處理,包含表和詞典在內的核心數據類型,以及模塊爲基礎的拓展系統。
- Granddaddy of Python web frameworks, Zope 1 was released in 1999.
- Python 1.0 - January 1994 增長了 lambda, map, filter and reduce.
- Python 2.0 - October 16, 2000,加入了內存回收機制,構成了如今Python語言框架的基礎。
- Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 誕生。
- Python 2.5 - September 19, 2006.
- Python 2.6 - October 1, 2008.
- Python 2.7 - July 3, 2010. In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
- Python 3.0 - December 3, 2008 (這裏要解釋一下爲何08年就出3.0,2010年反而又推出了2.7?是由於3.0不向下兼容2.0,致使你們都拒絕升級3.0,無奈官方只能推出2.7過渡版本)
- Python 3.1 - June 27, 2009.
- Python 3.2 - February 20, 2011.
- Python 3.3 - September 29, 2012.
- Python 3.4 - March 16, 2014.
- Python 3.5 - September 13, 2015.
- Python 3.6 - December 23, 2016.
- Python 3.7 - June 27, 2018.
5、Python解釋器種類
- CPython:當咱們從Python官方網站下載並安裝好Python 2.7後,咱們就直接得到了一個官方版本的解釋器:CPython。這個解釋器是用C語言開發的,因此叫CPython。在命令行下運行python就是啓動CPython解釋器。(是目前使用最廣的)
- IPython:IPython是基於CPython之上的一個交互式解釋器,也就是說,IPython只是在交互方式上有所加強,可是執行Python代碼的功能和CPython是徹底同樣的。比如不少國產瀏覽器雖然外觀不一樣,但內核其實都是調用了IE。 CPython用>>>做爲提示符,而IPython用In [序號]:做爲提示符。
- PyPy:PyPy是另外一個Python解釋器,它的目標是執行速度。PyPy採用JIT技術,對Python代碼進行動態編譯(注意不是解釋),因此能夠顯著提升Python代碼的執行速度。 絕大部分Python代碼均可以在PyPy下運行,可是PyPy和CPython有一些是不一樣的,這就致使相同的Python代碼在兩種解釋器下執行可能會有不一樣的結果。若是你的代碼要放到PyPy下執行,就須要瞭解PyPy和CPython的不一樣點。
- Jython:Jython是運行在Java平臺上的Python解釋器,能夠直接把Python代碼編譯成Java字節碼執行。
- IronPython:IronPython和Jython相似,只不過IronPython是運行在微軟.Net平臺上的Python解釋器,能夠直接把Python代碼編譯成.Net的字節碼。
6、用Python 2.x 仍是Python 3.x ?
在上面Python發展史中有提到,pyhton2.7及如下版本只支持到2020年。
再者,Python3 確實想比2.x作了不少的改進,直觀點來說,就像從XP升級到Win7的感受同樣,很棒。
今天是2019年8月26日,可想而知,確定是用Python3.x ,並且如今開發新項目幾乎都是在使用3.x。python
7、Python發展趨勢
知乎上有一篇文章,問Python將來10年的發展前景,能夠去看一下Alex的回答。
https://www.zhihu.com/question/22112542/answer/166053516程序員
8、Pyhton的安裝及推薦使用的軟件
Python官網:https://www.pyhton.org
推薦軟件:Pycharm(該軟件的安裝過程可關注微信公衆號***「軟件安裝管家」***,這個公衆號可謂是中國最良心的軟件安裝教程公衆號了,強烈推薦!!!!!!)web
原文出處:https://www.cnblogs.com/Kwan-C/p/11412992.htmlshell