• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    Python的發展史介紹

    來源:懂視網 責編:小采 時間:2020-11-27 14:23:38
    文檔

    Python的發展史介紹

    Python的發展史介紹:一、Python發展歷史 Python語言因為簡潔而清晰的風格,有大量適用性甚廣的類庫和python開源框架可以使用,而受到許多IT界人士的喜愛。Python的由來及發展歷程又是怎樣的呢,下面我們來簡單的了解下。 追溯Python語言的起源,是從20世紀90年代初由Guid
    推薦度:
    導讀Python的發展史介紹:一、Python發展歷史 Python語言因為簡潔而清晰的風格,有大量適用性甚廣的類庫和python開源框架可以使用,而受到許多IT界人士的喜愛。Python的由來及發展歷程又是怎樣的呢,下面我們來簡單的了解下。 追溯Python語言的起源,是從20世紀90年代初由Guid

    一、Python發展歷史

    Python語言因為簡潔而清晰的風格,有大量適用性甚廣的類庫和python開源框架可以使用,而受到許多IT界人士的喜愛。Python的由來及發展歷程又是怎樣的呢,下面我們來簡單的了解下。

    追溯Python語言的起源,是從20世紀90年代初由Guido van Rossum,在阿姆斯特丹,開發一個新的腳本解釋程序。不知道Guido當初有沒有想到,Python有一天會成為最受歡迎的程序設計語言之一呢?

    有些人喜歡用膠水語言來形容Python,是因為它可以很輕松的把許多其它語言編寫的模塊結合在一起,至于過程這里不多講,如果你感興趣隨處都可以查到。要知道的是,國內外的許多高校也把python語言做為必修課來學習,并且國內的使用Python語言來工作的單位數量也在增加,會python的程序員可是炙手可熱啊。

    問問學過Python語言的朋友們,它有哪些吸引人的地方呢?大多數人會這樣認為,它是一門容易上手,易讀同時也易維護的語言,所以才會有許許多多的用戶喜歡使用和學習,它真的是一門用途廣泛的語言。

    Python語言最基本語法有:縮進、控制語句、表達式、函數、對象方法、類型和數學運算。只有學習了python基礎的語法之后,才可以開始正式應用的學習,如:圖形處理、數學處理、文本處理、數據庫、WEB編程、爬蟲等等的實際應用。

    python 3.3是目前最新的版本,但是很多人還是喜歡從python 2開始學習。因為之前也有講過python 3的第三方支持還不完善,學習過程中會遇到莫名的問題。不如從已經很完善的python 2開始學習。之后過渡到python 3也是很簡單的。

    HOW TO用于定義一個函數。一個Python程序員應該很容易理解這段程序。ABC語言使用冒號和縮進來表示程序塊。行 尾沒有分號。for和if結構中也沒有括號() 。賦值采用的是PUT,而不是更常見的等號。這些改動讓ABC程序讀起來像一段文字。 盡管已經具備了良好的可讀性和易用性,ABC語言最終沒有流行起來。在當時,ABC語言編譯器需要比較高配置的電腦才能運行。而這些電腦的使用者通常精通計算機,他們更多考慮程序的效率,而非它的學習難度。除了硬件上的困難外,ABC語言的設計也存在一些致命的問題: 可拓展性差。ABC語言不是模塊化語言。如果想在ABC語言中增加功能,比如對圖形化的支持,就必須改動很多地方。 不能直接進行IO。ABC語言不能直接操作文件系統。盡管你可以通過諸如文本流的方式導入數據,但ABC無法直接讀寫文 件。輸入輸出的困難對于計算機語言來說是致命的。你能想像一個打不開車門的跑車么? 過度革新。ABC用自然語言的方式來表達程序的意義,比如上面程序中的HOW TO 。然而對于程序員來說,他們更習慣 用function或者define來定義一個函數。同樣,程序員更習慣用等號來分配變量。盡管ABC語言很特別,但學習難度 也很大。 傳播困難。ABC編譯器很大,必須被保存在磁帶上。當時Guido在訪問的時候,就必須有一個大磁帶來給別人安裝ABC編 譯器。 這樣,ABC語言就很難快速傳播。 1989年,為了打發圣誕節假期,Guido開始寫Python語言的編譯器。Python這個名字,來自Guido所摯愛的電視劇Monty Python's Flying Circus。他希望這個新的叫做Python的語言,能符合他的理想:創造一種C和shell之間,功能全面,易學易用,可拓展的語言。Guido作為一個語言設計愛好者,已經有過設計語言的嘗試。這一次,也不過是一次純粹的hacking行為。

    一門語言的誕生

    1991年,第一個Python編譯器誕生。它是用C語言實現的,并能夠調用C語言的庫文件。從一出生,Python已經具有了 :類,函數,異常處理,包含表和詞典在內的核心數據類型,以及模塊為基礎的拓展系統。 Python語法很多來自C,但又受到ABC語言的強烈影響。來自ABC語言的一些規定直到今天還富有爭議,比如強制縮進。 但這些語法規定讓Python容易讀。另一方面,Python聰明的選擇服從一些慣例,特別是C語言的慣例,比如回歸等號賦值。Guido認為,如果“常識”上確立的東西,沒有必要過度糾結。 Python從一開始就特別在意可拓展性。Python可以在多個層次上拓展。從高層上,你可以直接引入. py文件。在底層,你可以引用C語言的庫。Python程序員可以快速的使用Python寫. py文件作為拓展模塊。但當性能是考慮的重要因素時,Python程序員可以深入底層,寫C程序,編譯為.so文件引入到Python中使用。Python就好像是使用鋼構建房一樣,先規定好大的框架。而程序員可以在此框架下相當自由的拓展或更 改。 最初的Python完全由Guido本人開發。Python得到Guido同事的歡迎。他們迅速的反饋使用意見,并參與到Python的改進。Guido和一些同事構成Python的核心團隊。他們將自己大部分的業余時間用于hack Python。隨后,Python拓 展到研究所之外。Python將許多機器層面上的細節隱藏,交給編譯器處理,并凸顯出邏輯層面的編程思考。Python程 序員可以花更多的時間用于思考程序的邏輯,而不是具體的實現細節。這一特征吸引了廣大的程序員。Python開始流行。

    時勢造英雄

    我們不得不暫停我們的Python時間,轉而看一看瞬息萬變的計算機行業。1990年代初,個人計算機開始進入普通家庭。Intel發布了486處理器,windows發布window 3.0開始的一系列視窗系統。計算機的性能大大提高。程序員開始關注計算機的易用性,比如圖形化界面。

    Windows 3.0

    由于計算機性能的提高,軟件的世界也開始隨之改變。硬件足以滿足許多個人電腦的需要。硬件廠商甚至渴望高需求軟 件的出現,以帶動硬件的更新換代。C++和Java相繼流行。C++和Java提供了面向對象的編程范式,以及豐富的對象庫。在犧牲了一定的性能的代價下,C++和Java大大提高了程序的產量。語言的易用性被提到一個新的高度。我們還記得 ,ABC失敗的一個重要原因是硬件的性能限制。從這方面說,Python要比ABC幸運許多。 另一個悄然發生的改變是Internet。1990年代還是個人電腦的時代,windows和Intel挾PC以令天下,盛極一時。盡管Internet為主體的信息革命尚未到來,但許多程序員以及資深計算機用戶已經在頻繁使用Internet進行交流,比如 使用email和newsgroup。Internet讓信息交流成本大大下降。一種新的軟件開發模式開始流行:開源。程序員利用 業余時間進行軟件開發,并開放源代碼。1991年,Linus在comp.os.minix新聞組上發布了Linux內核源代碼,吸引大批hacker的加入。Linux和GNU相互合作,最終構成了一個充滿活力的開源平臺。 硬件性能不是瓶頸,Python又容易使用,所以許多人開始轉向Python。Guido維護了一個maillist,Python用戶就通過郵件進行交流。Python用戶來自許多領域,有不同的背景,對Python也有不同的需求。Python相當的開放,又容 易拓展,所以當用戶不滿足于現有功能,很容易對Python進行拓展或改造。隨后,這些用戶將改動發給Guido,并由Gu ido決定是否將新的特征加入到Python或者標準庫中。如果代碼能被納入Python自身或者標準庫,這將極大的榮譽。由于Guido至高無上的決定權,他因此被稱為“終身的仁慈獨裁者”。 Python被稱為“Battery Included”,是說它以及其標準庫的功能強大。這些是整個社區的貢獻。Python的開發者來自不同領域,他們將不同領域的優點帶給Python。比如Python標準庫中的正則表達是參考Perl,而lambda, map, filter, reduce等函數參考了Lisp。Python本身的一些功能以及大部分的標準庫來自于社區。Python的社 區不斷擴大,進而擁有了自己的newsgroup,網站,以及基金。從Python 2.0開始,Python也從maillist的開發方式,轉為完全開源的開發方式。社區氣氛已經形成,工作被整個社區分擔,Python也獲得了更加高速的發展。 到今天,Python的框架已經確立。Python語言以對象為核心組織代碼,支持多種編程范式,采用動態類型,自動進行內存回收。Python支持解釋運行,并能調用C庫進行拓展。Python有強大的標準庫。由于標準庫的體系已經穩定,所以Python的生態系統開始拓展到第三方包。這些包,如Django、web.py、wxpython、numpy、matplotlib、PIL,將Python升級成了物種豐富的熱帶雨林。

    啟示錄

    Python崇尚優美、清晰、簡單,是一個優秀并廣泛使用的語言。Python在TIOBE排行榜中排行第八,它是Google的第三大開發語言,Dropbox的基礎語言,豆瓣的服務器語言。Python的發展史可以作為一個代表,帶給我許多啟示。 在Python的開發過程中,社區起到了重要的作用。Guido自認為自己不是全能型的程序員,所以他只負責制訂框架。如果問題太復雜,他會選擇繞過去,也就是cut the corner。這些問題最終由社區中的其他人解決。社區中的人才是異常豐富的,就連創建網站,籌集基金這樣與開發稍遠的事情,也有人樂意于處理。如今的項目開發越來越復雜,越來越龐大,合作以及開放的心態成為項目最終成功的關鍵。 Python從其他語言中學到了很多,無論是已經進入歷史的ABC,還是依然在使用的C和Perl,以及許多沒有列出的其他 語言??梢哉f,Python的成功代表了它所有借鑒的語言的成功。同樣,Ruby借鑒了Python,它的成功也代表了Python某些方面的成功。每個語言都是混合體,都有它優秀的地方,但也有各種各樣的缺陷。同時,一個語言“好與不好”的評 判,往往受制于平臺、硬件、時代等等外部原因。程序員經歷過許多語言之爭。其實,以開放的心態來接受各個語言,說不定哪一天,程序員也可以如Guido那樣,混合出自己的語言。

    關鍵點常識

    Python的發音與拼寫
    Python的意思是蟒蛇,源于作者喜歡的一部電視劇 (C呢?)
    Python的作者是Guido van Rossum(龜叔)
    Python是龜叔在1989年圣誕節期間,為了打發無聊的圣誕節而用C編寫的一個編程語言
    Python正式誕生于1991年
    Python的解釋器如今有多個語言實現,我們常用的是CPython(官方版本的C語言實現),其他還有Jython(可以運行在Java平臺)、IronPython(可以運行在.NET和Mono平臺)、PyPy(Python實現的,支持JIT即時編譯)
    Python目前有兩個版本,Python2和Python3,最新版分別為2.7.12和3.5.2,現階段大部分公司用的是Python2

    二、Python優缺點

    優點

  • 簡單————Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣,盡管這個英語的要求非常嚴格!Python的這種偽代碼本質是它最大的優點之一。它使你能夠專注于解決問題而不是去搞明白語言本身。

  • 易學————就如同你即將看到的一樣,Python極其容易上手。前面已經提到了,Python有極其簡單的語法。

  • 免費、開源————Python是FLOSS(自由/開放源碼軟件)之一。簡單地說,你可以自由地發布這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用于新的自由軟件中。FLOSS是基于一個團體分享知識的概念。這是為什么Python如此優秀的原因之一——它是由一群希望看到一個更加優秀的Python的人創造并經常改進著的。

  • 高層語言————當你用Python語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內存一類的底層細節。

  • 可移植性————由于它的開源本質,Python已經被移植在許多平臺上(經過改動使它能夠工作在不同平臺上)。如果你小心地避免使用依賴于系統的特性,那么你的所有Python程序無需修改就可以在下述任何平臺上面運行。這些平臺包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至還有PocketPC、Symbian以及Google基于linux開發的Android平臺!

  • 解釋性————這一點需要一些解釋。一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。當你運行你的程序的時候,連接/轉載器軟件把你的程序從硬盤復制到內存中并且運行。而Python語言寫的程序不需要編譯成二進制代碼。你可以直接從源代碼運行程序。在計算機內部,Python解釋器把源代碼轉換成稱為字節碼的中間形式,然后再把它翻譯成計算機使用的機器語言并運行。事實上,由于你不再需要擔心如何編譯程序,如何確保連接轉載正確的庫等等,所有這一切使得使用Python更加簡單。由于你只需要把你的Python程序拷貝到另外一臺計算機上,它就可以工作了,這也使得你的Python程序更加易于移植。

  • 面向對象————Python既支持面向過程的編程也支持面向對象的編程。在“面向過程”的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在“面向對象”的語言中,程序是由數據和功能組合而成的對象構建起來的。與其他主要的語言如C++和Java相比,Python以一種非常強大又簡單的方式實現面向對象編程。

  • 可擴展性————如果你需要你的一段關鍵代碼運行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們。

  • 豐富的庫————Python標準庫確實很龐大。它可以幫助你處理各種工作,包括正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、Tk和其他與系統有關的操作。記住,只要安裝了Python,所有這些功能都是可用的。這被稱作Python的“功能齊全”理念。除了標準庫以外,還有許多其他高質量的庫,如wxPython、Twisted和Python圖像庫等等。

  • 規范的代碼————Python采用強制縮進的方式使得代碼具有極佳的可讀性。

  • 缺點

    運行速度,有速度要求的話,用C++改寫關鍵部分吧。
    國內市場較?。▏鴥纫詐ython來做主要開發的,目前只有一些web2.0公司)。但時間推移,目前很多國內軟件公司,尤其是游戲公司,也開始規模使用他。
    中文資料匱乏(好的python中文資料屈指可數)。托社區的福,有幾本優秀的教材已經被翻譯了,但入門級教材多,高級內容還是只能看英語版。
    構架選擇太多(沒有像C#這樣的官方.net構架,也沒有像ruby由于歷史較短,構架開發的相對集中。Ruby on Rails 構架開發中小型web程序天下無敵)。不過這也從另一個側面說明,python比較優秀,吸引的人才多,項目也多。

    三、Python應用場景

    Web應用開發
    Python經常被用于Web開發。比如,通過mod_wsgi模塊,Apache可以運行用Python編寫的Web程序。Python定義了WSGI標準應用接口來協調Http服務器與基于Python的Web程序之間的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以讓程序員輕松地開發和管理復雜的Web程序。

    操作系統管理、服務器運維的自動化腳本
    在很多操作系統里,Python是標準的系統組件。 大多數Linux發行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在終端下直接運行Python。有一些Linux發行版的安裝器使用Python語言編寫,比如Ubuntu的Ubiquity安裝器,Red Hat Linux和Fedora的Anaconda安裝器。Gentoo Linux使用Python來編寫它的Portage包管理系統。Python標準庫包含了多個調用操作系統功能的庫。通過pywin32這個第三方軟件 包,Python能夠訪問Windows的COM服務及其它Windows API。使用IronPython,Python程序能夠直接調用.Net Framework。一般說來,Python編寫的系統管理腳本在可讀性、性能、代碼重用度、擴展性幾方面都優于普通的shell腳本。

    科學計算
    NumPy,SciPy,Matplotlib可以讓Python程序員編寫科學計算程序。

    桌面軟件
    PyQt、PySide、wxPython、PyGTK是Python快速開發桌面應用程序的利器。

    服務器軟件(網絡軟件)
    Python對于各種網絡協議的支持很完善,因此經常被用于編寫服務器軟件、網絡爬蟲。第三方庫Twisted支持異步網絡編程和多數標準的網絡協議(包含客戶端和服務器),并且提供了多種工具,被廣泛用于編寫高性能的服務器軟件。

    游戲
    很多游戲使用C++編寫圖形顯示等高性能模塊,而使用Python或者Lua編寫游戲的邏輯、服務器。相較于Python,Lua的功能更簡單、體積更??;而Python則支持更多的特性和數據類型。

    構思實現,產品早期原型和迭代
    YouTube、Google、Yahoo!、NASA都在內部大量地使用Python。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    Python的發展史介紹

    Python的發展史介紹:一、Python發展歷史 Python語言因為簡潔而清晰的風格,有大量適用性甚廣的類庫和python開源框架可以使用,而受到許多IT界人士的喜愛。Python的由來及發展歷程又是怎樣的呢,下面我們來簡單的了解下。 追溯Python語言的起源,是從20世紀90年代初由Guid
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 久久精品人人做人人爽电影蜜月| 亚洲精品国精品久久99热一| 久热精品人妻视频| 国产99视频精品一区| 无码精品蜜桃一区二区三区WW| 欧美精品天天操| 国内精品久久久久影院一蜜桃| 天天爽夜夜爽8888视频精品| 北岛玲日韩精品一区二区三区| 国产精品福利一区二区久久| 欧洲成人午夜精品无码区久久 | 国产精品日本欧美一区二区| 亚洲精品成人在线| 久久99精品国产麻豆不卡| 大胸国产精品视频| 久久精品国产精品青草app| 国产欧美亚洲精品A| 爽爽精品dvd蜜桃成熟时电影院| 亚洲第一区精品观看| 久久久精品无码专区不卡| 国产精品午夜免费观看网站| 99热成人精品国产免男男| 精品久久久久久久久中文字幕| 国产精品无码成人午夜电影| 久久久久人妻精品一区二区三区| 亚洲第一区精品日韩在线播放| 四虎国产精品免费久久| 久久免费国产精品| 久久九九久精品国产免费直播| 精品无码国产自产拍在线观看蜜 | 精品国产一区二区三区2021| 97国产视频精品| 777欧美午夜精品影院| 91探花国产综合在线精品| 亚洲精品高清视频| 99riav国产精品| 国产成人精品久久亚洲| 国产精品免费在线播放| 国产精品美女久久久免费| 国产精品自产拍高潮在线观看| 国产精品亚洲精品日韩已方|