您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Python發展歷程是怎么樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
Python的誕生
Python是由荷蘭人Guido van Rossum研發的。Guido van Rossum于1982年獲得阿姆斯特丹大學數學和計算機碩士學位,當時Guido在CWI(數學與計算機科學國家研究所)工作,主要是為ABC語言貢獻代碼,工作一段時間后,他感覺現有的編程語言對非計算機專業的人十分不友好,于是1989年12匜,他構思了一門致力于解決問題的編程語言,這就是Python最初的來源。
1991年,Python的第一個解釋器誕生。它有C語言實現,而且受到ABC語言的影響,因此其中很多語法來源于C語言和ABC語言。而Python1.0版本真正發布于1994年1月,這個版本主要新功能是lambda、map、filter和reduce。
Python2.0版本是在6年半之后的2000年10月份發布的,這個版本的主要新功能是內存管理和循環檢測垃圾收集器以及對Unicode的支持,構成了現在Python語言框架的基礎。之后再2004年,Python升級到2.4版本,同年最流行的Web框架Django誕生。之后Python陸續推出Python2.5/2.6/2.7版本。截止目前仍然有很多企業在使用Python2.7版本。不過自2020年1月1日期,Python2.x版本將不再得到支持。Python的核心開發人員將不再提供其錯誤修復版或安全更新,Python2.x即將進入付費時代。
目前Python開發主流應用的是Python3.x版本,但是Python3和Python2版本有很多代碼并不兼容,因此建議大家如果想要學習Python編程語言,可以直接從Python最新版本開始。目前最流行的Python版本是3.7版本。
在這里需要重點和大家分享一下Python2和Python3版本之間的區別。
一、核心差異
1、Python2中字符串有str和Unicode兩種類型,而Python3中只支持Unicode下的string。
2、Python3中采用絕對路徑的方式進行import
3、Python3對于縮進更加嚴格,tab和space共存會導致報錯TabError。而Python2中一個tab和8個space是等價的。
二、廢棄差異
1、Python3中廢棄print語句,統一使用print函數;
2、Python3中廢棄exec語句,統一使用exec函數;
3、Python中廢棄execfile語句,推薦使用exec(open(“./filename”).read())
4、Python3中廢棄“<>”表示不相等,統一使用“!=”
5、Python3中廢棄long證書類型,統一使用int
6、Python3中廢棄Xrange函數,統一使用range,同時range的機制修改并提高了大數據集生成效率。
7、Python3中不在返回list對象
8、Python3中廢棄iterator的next()函數,統一使用next(iterator)
9、Python3中廢棄raw_input函數,統一使用input函數
10、Python3中廢棄file函數,統一使用open函數處理文件。
11、Python3中廢棄apply函數。
12、Python3中StandardError被廢棄,統一使用Exception
出去這些不同之外,Python3還在某些語法和基本操作上有一些改動。對于Python的使用來說,最重要的變化是因為版本不兼容導致的第三方工具包、系統安裝支持等方面的重大變化。
如果你是初學者,建議你直接通過Python3版本進行學習,對于Python2版本相關的知識稍作了解,如果在未來工作中會遇到Python2版本的相關開發工作,你可以對照Python2月Python3版本的進行開發。而對于正在使用Python2版本開發的同學而言,建議你能夠盡快的熟悉Python2與Python3之間的差異,盡快遷移自己的程序。
拓展閱讀:
>ABC語言:ABC語言是一個為編程初學者打造的研究項目,是NWO(荷蘭科學研究組織)旗下CWI(數學與計算機科學國家研究所)主導研發的一種交互式,結構化高級語言,旨在替代BASIC、Pascal等語言,用于教學及原型軟件設計。Python之父Guido van Rossum層為ABC系統開發中工作了數年。在這里僅做了解即可。
>lambda:lambda表達式是一個匿名函數,可以包含表達式和語句,并且可用于創建委托或表達式目錄樹類型。
>map:map()函數會根據提供的函數對制定序列做映射。
>filter:filter()函數用于過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。
>reduce:reduce()函數會對參數序列中元素進行積累。
>Django:Django是一個開源的Web應用框架,采用MTV的框架模式,即模型M,試圖V和模板T。主要目的是簡便、快速的開發數據庫驅動的網站。強調代碼復用,多個組件可以很方便的以插件形式服務于整個框架。
看完上述內容,你們對Python發展歷程是怎么樣的有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。