97超碰碰碰_91热播_91国产免费视频_91视频合集_国产精品白丝jk白祙_国产精品久免费的黄网站

您現在所在的位置:首頁 >關于奇酷 > 行業動態 > python的前世與今生

python的前世與今生

來源:奇酷教育 發表于:

python的前世與今生

  python的創始人為吉多·范羅蘇姆(Guido van Rossum)。1989年的圣誕節期間,Guido開始寫Python語言的編譯器。Python這個名字,來自Guido所摯愛的電視劇Monty Python’s Flying Circus。他希望這個新的叫做Python的語言,能符合他的理想:創造一種C和shell之間,功能全面,易學易用,可拓展的語言。并且在他去谷歌面試的時候簡歷只寫了一句話,就是我創造了Python,可見能力確實不一般。
 
 
 
  吉多·范羅蘇姆
 
 
  我們的前輩有一個非常親民的名字叫做“龜叔”
 
  在80年代,個人電腦的配置較之如今是極低的,程序員不得不努力思考如何最大化利用空間,以寫出符合機器口味的程序。而正是因為這一點,讓龜叔感到苦惱。他認為這樣編寫程序實在是太過于耗費時間,于是他想到了shell。shell可以像膠水一樣,將UNIX下的許多功能連接在一起。許多C語言下上百行的程序,在shell下只用幾行就可以完成。然而,shell的本質是調用命令,它并不是一個真正的語言,shell不能全面的調動計算機的功能。 
 
  于是,龜叔開始思考,是否能設計一款語言,使它同時具備C與shell的優點,既能夠全面調用計算機的功能接口,又可以輕松編寫程序。 
 
  所以龜叔當時一直在尋找這樣一種的語言,既可以像命令那樣簡潔明了,又可以和C語言的功能相媲美。不過當時那個年代,幾乎是找不到的,不過找到了一種稍微類似的語言,就是傳說中的ABC語言
 
  1989年圣誕節期間,在阿姆斯特丹,龜叔為了打發圣誕節的無趣,決心開發一個新的腳本解釋程序,做為ABC 語言的一種繼承。而取名python,是取自他摯愛的一部電視劇Monty Python’s Flying Circus 。 
 
  1991年,第一個Python編譯器誕生,它是用C語言實現的,并能夠調用C庫(.so文件)。從一出生,Python已經具有了:類(class),函數(function),異常處理(exception),包括表(list)和詞典(dictionary)在內的核心數據類型,以及模塊(module)為基礎的拓展系統。 
 
  龜叔為防止重蹈ABC的覆轍,著重注意python的可擴展性,并且也沿用了C中的大部分語法習慣,而這,使python得到龜叔同事的歡迎。他們迅速的反饋使用意見,并參與到Python的改進。
 
  python誕生在一個幸運的時間。1990年代初,個人計算機開始進入普通家庭。Intel發布了486處理器,windows發布window 3.0開始的一系列視窗系統,計算機的性能大大提高。并且由于Internet隨個人電腦的普及而為人們所廣知,許多程序員以及資深計算機用戶頻繁使用Internet進行交流,這使得python沒有了硬件上的束縛與傳播上的困難,再加上python易于使用的特點,使python得到了一定程度上的傳播。 
 
  龜叔維護了一個maillist,python用戶通過郵件進行交流。因為python用戶來自許多領域,有不同的背景,對python也有不同的需求。python相當的開放,又容易拓展,所以當用戶不滿足于現有功能,很容易對python進行拓展或改造。隨后,這些用戶將改動發給龜叔,并由龜叔決定是否將新的特征加入到python或者標準庫中。這就使得不同領域的優點集中于python。 
 
  后來的python2.0,從maillist的開發方式,轉為完全開源的開發方式,(開源:由于Internet讓信息交流成本大大下降,所出現的一種新的軟件開發模式)python的數據庫的擴展速度與傳播速度也由此更進一步。 
 
  到今天,Python的框架已經確立。Python語言以對象為核心組織代碼(Everything is object),支持多種編程范式(multi-paradigm),采用動態類型(dynamic typing),自動進行內存回收(garbage collection)。Python支持解釋運行(interpret),并能調用C庫進行拓展。Python有強大的標準庫 (battery included)。由于標準庫的體系已經穩定,所以Python的生態系統開始拓展到第三方包。
 
 
  python干嘛用的?
 
  Python可以應用于眾多領域,如:數據分析、組件集成、網絡服務、圖像處理、數值計算和科學計算等眾多領域。目前業內幾乎所有大中型互聯網企業都在使用Python,如:Youtube、Dropbox、BT、、Google、Yahoo!、Facebook、NASA、Quora(中國知乎)、豆瓣、知乎、百度、騰訊、汽車之家、美團等。
 
 
  目前Python主要應用領域
 
  云計算: 云計算最火的語言, 典型應用OpenStack
 
  WEB開發: 眾多優秀的WEB框架,眾多大型網站均為Python開發,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
 
  科學運算、人工智能: 典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandas
 
  系統運維: 運維人員必備語言
 
  金融:量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作為動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很牛逼,生產效率遠遠高于c,c++,java,尤其擅長策略回測
 
  圖形GUI: PyQT, WxPython,TkInter
 
 
  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完成各種各樣的任務。
 
 
  Python的種類
 
  Cpython
 
      Python的官方版本,使用C語言實現,使用最為廣泛,CPython實現會將源文件(py文件)轉換成字節碼文件(pyc文件),然后運行在Python虛擬機上。
 
  Jyhton
 
      Python的Java實現,Jython會將Python代碼動態編譯成Java字節碼,然后在JVM上運行。
 
  IronPython
 
      Python的C#實現,IronPython將Python代碼編譯成C#字節碼,然后在CLR上運行。(與Jython類似)
 
  PyPy(特殊)
 
      Python實現的Python,將Python的字節碼字節碼再編譯成機器碼。
 
  RubyPython、Brython ...
 
 
  python 設計定位
 
  Python的設計哲學是“優雅”、“明確”、“簡單”。因此,Perl語言中“總是有多種方法來做同一件事”的理念在Python開發者中通常是難以忍受的。Python開發者的哲學是[“用一種方法,最好是只有一種方法來做一件事”]。在設計Python語言時,如果面臨多種選擇,Python開發者一般會拒絕花俏的語法,而選擇明確的沒有或者很少有歧義的語法。由于這種設計觀念的差異,Python源代碼通常被認為比Perl具備更好的可讀性,并且能夠支撐大規模的軟件開發。這些準則被稱為Python格言。在Python解釋器內運行import this可以獲得完整的列表。 
 
  Python開發人員盡量避開不成熟或者不重要的優化。一些針對非重要部位的加快運行速度的補丁通常不會被合并到Python內。所以很多人認為Python很慢。不過,根據二八定律,大多數程序對速度要求不高。在某些對運行速度要求很高的情況,Python設計師傾向于使用JIT技術,或者用使用C/C++語言改寫這部分程序。可用的JIT技術是PyPy。 
 
  Python是完全面向對象的語言。函數、模塊、數字、字符串都是對象。并且完全支持繼承、重載、派生、多繼承,有益于增強源代碼的復用性。Python支持重載運算符和動態類型。相對于Lisp這種傳統的函數式編程語言,Python對函數式設計只提供了有限的支持。有兩個標準庫(functools, itertools)提供了Haskell和Standard ML中久經考驗的函數式程序設計工具。 
 
  雖然Python可能被粗略地分類為“腳本語言”(script language),但實際上一些大規模軟件開發計劃例如Zope、Mnet及BitTorrent,Google也廣泛地使用它。Python的支持者較喜歡稱它為一種高級動態編程語言,原因是“腳本語言”泛指僅作簡單程序設計任務的語言,如shellscript、VBScript等只能處理簡單任務的編程語言,并不能與Python相提并論。 
 
  Python本身被設計為可擴充的。并非所有的特性和功能都集成到語言核心。Python提供了豐富的API和工具,以便程序員能夠輕松地使用C語言、C++、Cython來編寫擴充模塊。Python編譯器本身也可以被集成到其它需要腳本語言的程序內。因此,很多人還把Python作為一種“膠水語言”(glue language)使用。使用Python將其他語言編寫的程序進行集成和封裝。在Google內部的很多項目,例如Google Engine使用C++編寫性能要求極高的部分,然后用Python或Java/Go調用相應的模塊。《Python技術手冊》的作者馬特利(Alex Martelli)說:“這很難講,不過,2004 年,Python 已在Google 內部使用,Google 召募許多 Python 高手,但在這之前就已決定使用Python,他們的目的是 Python where we can, C++ where we must,在操控硬件的場合使用 C++,在快速開發時候使用 Python。”
主站蜘蛛池模板: 久久国产中文字幕 | 国产乱码精品一区二区三 | 欧美黑人成人www在线观看 | 午夜在线影院 | 国产成人女人在线视频观看 | 麻豆视频免费观看 | 大尺度福利视频奶水在线 | 成人 亚洲 | 67194免费毛片入口在线看 | 国外欧美一区另类中文字幕 | 青楼妓女禁脔道具调教sm | 2021国产精品成人免费视频 | 国产亚洲精品观看91在线 | 亚洲国产欧美国产综合一区 | 在线国产视频一区 | 日本不卡不码高清视频 | 成年免费看片在线观看 | 久久久精品一区二区三区 | 成人在免费观看视频国产 | 精品人妻少妇一区二区三区 | 久久亚洲色www成人男男 | 免费在线观看一级片 | 一区二区视屏 | 中文乱码精品一区二区三区 | 在线黑人抽搐潮喷 | 亚洲欧美日韩国产手机在线 | 欧美老妇交乱视频在线观看 | 拍拍拍在线观看视频免费 | 美女被免费视频网站a | 亚洲av日韩av男人的天堂在线 | 免费大片黄日本在线观看 | 免费a级毛片18禁网站app | 黄色在线观看视频网站 | 国产对白老熟女正在播放 | 亚洲第四页 | 成年男女免费视频观看性 | 国产精品一区二区午夜嘿嘿嘿小说 | 久久99精品一区二区三区 | 亚洲av永久无码一区二区三区 | 99久久亚洲综合精品成人网 | 国产成人黄网址在线视频 |