奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌

您現(xiàn)在所在的位置:首頁(yè) >關(guān)于奇酷 > 行業(yè)動(dòng)態(tài) > python的前世與今生

python的前世與今生

來(lái)源:奇酷教育 發(fā)表于:

python的前世與今生

  python的創(chuàng)始人為吉多·范羅蘇姆(Guido van Rossum)。1989年的圣誕節(jié)期間,Guido開(kāi)始寫(xiě)Python語(yǔ)言的編譯器。Python這個(gè)名字,來(lái)自Guido所摯愛(ài)的電視劇Monty Python’s Flying Circus。他希望這個(gè)新的叫做Python的語(yǔ)言,能符合他的理想:創(chuàng)造一種C和shell之間,功能全面,易學(xué)易用,可拓展的語(yǔ)言。并且在他去谷歌面試的時(shí)候簡(jiǎn)歷只寫(xiě)了一句話,就是我創(chuàng)造了Python,可見(jiàn)能力確實(shí)不一般。
 
 
 
  吉多·范羅蘇姆
 
 
  我們的前輩有一個(gè)非常親民的名字叫做“龜叔”
 
  在80年代,個(gè)人電腦的配置較之如今是極低的,程序員不得不努力思考如何最大化利用空間,以寫(xiě)出符合機(jī)器口味的程序。而正是因?yàn)檫@一點(diǎn),讓龜叔感到苦惱。他認(rèn)為這樣編寫(xiě)程序?qū)嵲谑翘^(guò)于耗費(fèi)時(shí)間,于是他想到了shell。shell可以像膠水一樣,將UNIX下的許多功能連接在一起。許多C語(yǔ)言下上百行的程序,在shell下只用幾行就可以完成。然而,shell的本質(zhì)是調(diào)用命令,它并不是一個(gè)真正的語(yǔ)言,shell不能全面的調(diào)動(dòng)計(jì)算機(jī)的功能。 
 
  于是,龜叔開(kāi)始思考,是否能設(shè)計(jì)一款語(yǔ)言,使它同時(shí)具備C與shell的優(yōu)點(diǎn),既能夠全面調(diào)用計(jì)算機(jī)的功能接口,又可以輕松編寫(xiě)程序。 
 
  所以龜叔當(dāng)時(shí)一直在尋找這樣一種的語(yǔ)言,既可以像命令那樣簡(jiǎn)潔明了,又可以和C語(yǔ)言的功能相媲美。不過(guò)當(dāng)時(shí)那個(gè)年代,幾乎是找不到的,不過(guò)找到了一種稍微類(lèi)似的語(yǔ)言,就是傳說(shuō)中的ABC語(yǔ)言
 
  1989年圣誕節(jié)期間,在阿姆斯特丹,龜叔為了打發(fā)圣誕節(jié)的無(wú)趣,決心開(kāi)發(fā)一個(gè)新的腳本解釋程序,做為ABC 語(yǔ)言的一種繼承。而取名python,是取自他摯愛(ài)的一部電視劇Monty Python’s Flying Circus 。 
 
  1991年,第一個(gè)Python編譯器誕生,它是用C語(yǔ)言實(shí)現(xiàn)的,并能夠調(diào)用C庫(kù)(.so文件)。從一出生,Python已經(jīng)具有了:類(lèi)(class),函數(shù)(function),異常處理(exception),包括表(list)和詞典(dictionary)在內(nèi)的核心數(shù)據(jù)類(lèi)型,以及模塊(module)為基礎(chǔ)的拓展系統(tǒng)。 
 
  龜叔為防止重蹈ABC的覆轍,著重注意python的可擴(kuò)展性,并且也沿用了C中的大部分語(yǔ)法習(xí)慣,而這,使python得到龜叔同事的歡迎。他們迅速的反饋使用意見(jiàn),并參與到Python的改進(jìn)。
 
  python誕生在一個(gè)幸運(yùn)的時(shí)間。1990年代初,個(gè)人計(jì)算機(jī)開(kāi)始進(jìn)入普通家庭。Intel發(fā)布了486處理器,windows發(fā)布window 3.0開(kāi)始的一系列視窗系統(tǒng),計(jì)算機(jī)的性能大大提高。并且由于Internet隨個(gè)人電腦的普及而為人們所廣知,許多程序員以及資深計(jì)算機(jī)用戶頻繁使用Internet進(jìn)行交流,這使得python沒(méi)有了硬件上的束縛與傳播上的困難,再加上python易于使用的特點(diǎn),使python得到了一定程度上的傳播。 
 
  龜叔維護(hù)了一個(gè)maillist,python用戶通過(guò)郵件進(jìn)行交流。因?yàn)閜ython用戶來(lái)自許多領(lǐng)域,有不同的背景,對(duì)python也有不同的需求。python相當(dāng)?shù)拈_(kāi)放,又容易拓展,所以當(dāng)用戶不滿足于現(xiàn)有功能,很容易對(duì)python進(jìn)行拓展或改造。隨后,這些用戶將改動(dòng)發(fā)給龜叔,并由龜叔決定是否將新的特征加入到python或者標(biāo)準(zhǔn)庫(kù)中。這就使得不同領(lǐng)域的優(yōu)點(diǎn)集中于python。 
 
  后來(lái)的python2.0,從maillist的開(kāi)發(fā)方式,轉(zhuǎn)為完全開(kāi)源的開(kāi)發(fā)方式,(開(kāi)源:由于Internet讓信息交流成本大大下降,所出現(xiàn)的一種新的軟件開(kāi)發(fā)模式)python的數(shù)據(jù)庫(kù)的擴(kuò)展速度與傳播速度也由此更進(jìn)一步。 
 
  到今天,Python的框架已經(jīng)確立。Python語(yǔ)言以對(duì)象為核心組織代碼(Everything is object),支持多種編程范式(multi-paradigm),采用動(dòng)態(tài)類(lèi)型(dynamic typing),自動(dòng)進(jìn)行內(nèi)存回收(garbage collection)。Python支持解釋運(yùn)行(interpret),并能調(diào)用C庫(kù)進(jìn)行拓展。Python有強(qiáng)大的標(biāo)準(zhǔn)庫(kù) (battery included)。由于標(biāo)準(zhǔn)庫(kù)的體系已經(jīng)穩(wěn)定,所以Python的生態(tài)系統(tǒng)開(kāi)始拓展到第三方包。
 
 
  python干嘛用的?
 
  Python可以應(yīng)用于眾多領(lǐng)域,如:數(shù)據(jù)分析、組件集成、網(wǎng)絡(luò)服務(wù)、圖像處理、數(shù)值計(jì)算和科學(xué)計(jì)算等眾多領(lǐng)域。目前業(yè)內(nèi)幾乎所有大中型互聯(lián)網(wǎng)企業(yè)都在使用Python,如:Youtube、Dropbox、BT、、Google、Yahoo!、Facebook、NASA、Quora(中國(guó)知乎)、豆瓣、知乎、百度、騰訊、汽車(chē)之家、美團(tuán)等。
 
 
  目前Python主要應(yīng)用領(lǐng)域
 
  云計(jì)算: 云計(jì)算最火的語(yǔ)言, 典型應(yīng)用OpenStack
 
  WEB開(kāi)發(fā): 眾多優(yōu)秀的WEB框架,眾多大型網(wǎng)站均為Python開(kāi)發(fā),Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
 
  科學(xué)運(yùn)算、人工智能: 典型庫(kù)NumPy, SciPy, Matplotlib, Enthought librarys,pandas
 
  系統(tǒng)運(yùn)維: 運(yùn)維人員必備語(yǔ)言
 
  金融:量化交易,金融分析,在金融工程領(lǐng)域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作為動(dòng)態(tài)語(yǔ)言的Python,語(yǔ)言結(jié)構(gòu)清晰簡(jiǎn)單,庫(kù)豐富,成熟穩(wěn)定,科學(xué)計(jì)算和統(tǒng)計(jì)分析都很牛逼,生產(chǎn)效率遠(yuǎn)遠(yuǎn)高于c,c++,java,尤其擅長(zhǎng)策略回測(cè)
 
  圖形GUI: PyQT, WxPython,TkInter
 
 
  Python在一些公司的應(yīng)用
 
  谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬蟲(chóng)、Google廣告等項(xiàng)目都在大量使用Python開(kāi)發(fā)
 
  CIA: 美國(guó)中情局網(wǎng)站就是用Python開(kāi)發(fā)的
 
  NASA: 美國(guó)航天局(NASA)大量使用Python進(jìn)行數(shù)據(jù)分析和運(yùn)算
 
  YouTube:世界上最大的視頻網(wǎng)站YouTube就是用Python開(kāi)發(fā)的
 
  Dropbox:美國(guó)最大的在線云存儲(chǔ)網(wǎng)站,全部用Python實(shí)現(xiàn),每天網(wǎng)站處理10億個(gè)文件的上傳和下載
 
  Instagram:美國(guó)最大的圖片分享社交網(wǎng)站,每天超過(guò)3千萬(wàn)張照片被分享,全部用python開(kāi)發(fā)
 
  Facebook:大量的基礎(chǔ)庫(kù)均通過(guò)Python實(shí)現(xiàn)的
 
  Redhat: 世界上最流行的Linux發(fā)行版本中的yum包管理工具就是用python開(kāi)發(fā)的
 
  豆瓣: 公司幾乎所有的業(yè)務(wù)均是通過(guò)Python開(kāi)發(fā)的
 
  知乎: 國(guó)內(nèi)最大的問(wèn)答社區(qū),通過(guò)Python開(kāi)發(fā)(國(guó)外Quora)
 
  春雨醫(yī)生:國(guó)內(nèi)知名的在線醫(yī)療網(wǎng)站是用Python開(kāi)發(fā)的
 
  除上面之外,還有搜狐、金山、騰訊、盛大、網(wǎng)易、百度、阿里、淘寶 、土豆、新浪、果殼等公司都在使用Python完成各種各樣的任務(wù)。
 
 
  Python的種類(lèi)
 
  Cpython
 
      Python的官方版本,使用C語(yǔ)言實(shí)現(xiàn),使用最為廣泛,CPython實(shí)現(xiàn)會(huì)將源文件(py文件)轉(zhuǎn)換成字節(jié)碼文件(pyc文件),然后運(yùn)行在Python虛擬機(jī)上。
 
  Jyhton
 
      Python的Java實(shí)現(xiàn),Jython會(huì)將Python代碼動(dòng)態(tài)編譯成Java字節(jié)碼,然后在JVM上運(yùn)行。
 
  IronPython
 
      Python的C#實(shí)現(xiàn),IronPython將Python代碼編譯成C#字節(jié)碼,然后在CLR上運(yùn)行。(與Jython類(lèi)似)
 
  PyPy(特殊)
 
      Python實(shí)現(xiàn)的Python,將Python的字節(jié)碼字節(jié)碼再編譯成機(jī)器碼。
 
  RubyPython、Brython ...
 
 
  python 設(shè)計(jì)定位
 
  Python的設(shè)計(jì)哲學(xué)是“優(yōu)雅”、“明確”、“簡(jiǎn)單”。因此,Perl語(yǔ)言中“總是有多種方法來(lái)做同一件事”的理念在Python開(kāi)發(fā)者中通常是難以忍受的。Python開(kāi)發(fā)者的哲學(xué)是[“用一種方法,最好是只有一種方法來(lái)做一件事”]。在設(shè)計(jì)Python語(yǔ)言時(shí),如果面臨多種選擇,Python開(kāi)發(fā)者一般會(huì)拒絕花俏的語(yǔ)法,而選擇明確的沒(méi)有或者很少有歧義的語(yǔ)法。由于這種設(shè)計(jì)觀念的差異,Python源代碼通常被認(rèn)為比Perl具備更好的可讀性,并且能夠支撐大規(guī)模的軟件開(kāi)發(fā)。這些準(zhǔn)則被稱為Python格言。在Python解釋器內(nèi)運(yùn)行import this可以獲得完整的列表。 
 
  Python開(kāi)發(fā)人員盡量避開(kāi)不成熟或者不重要的優(yōu)化。一些針對(duì)非重要部位的加快運(yùn)行速度的補(bǔ)丁通常不會(huì)被合并到Python內(nèi)。所以很多人認(rèn)為Python很慢。不過(guò),根據(jù)二八定律,大多數(shù)程序?qū)λ俣纫蟛桓摺T谀承?duì)運(yùn)行速度要求很高的情況,Python設(shè)計(jì)師傾向于使用JIT技術(shù),或者用使用C/C++語(yǔ)言改寫(xiě)這部分程序。可用的JIT技術(shù)是PyPy。 
 
  Python是完全面向?qū)ο蟮恼Z(yǔ)言。函數(shù)、模塊、數(shù)字、字符串都是對(duì)象。并且完全支持繼承、重載、派生、多繼承,有益于增強(qiáng)源代碼的復(fù)用性。Python支持重載運(yùn)算符和動(dòng)態(tài)類(lèi)型。相對(duì)于Lisp這種傳統(tǒng)的函數(shù)式編程語(yǔ)言,Python對(duì)函數(shù)式設(shè)計(jì)只提供了有限的支持。有兩個(gè)標(biāo)準(zhǔn)庫(kù)(functools, itertools)提供了Haskell和Standard ML中久經(jīng)考驗(yàn)的函數(shù)式程序設(shè)計(jì)工具。 
 
  雖然Python可能被粗略地分類(lèi)為“腳本語(yǔ)言”(script language),但實(shí)際上一些大規(guī)模軟件開(kāi)發(fā)計(jì)劃例如Zope、Mnet及BitTorrent,Google也廣泛地使用它。Python的支持者較喜歡稱它為一種高級(jí)動(dòng)態(tài)編程語(yǔ)言,原因是“腳本語(yǔ)言”泛指僅作簡(jiǎn)單程序設(shè)計(jì)任務(wù)的語(yǔ)言,如shellscript、VBScript等只能處理簡(jiǎn)單任務(wù)的編程語(yǔ)言,并不能與Python相提并論。 
 
  Python本身被設(shè)計(jì)為可擴(kuò)充的。并非所有的特性和功能都集成到語(yǔ)言核心。Python提供了豐富的API和工具,以便程序員能夠輕松地使用C語(yǔ)言、C++、Cython來(lái)編寫(xiě)擴(kuò)充模塊。Python編譯器本身也可以被集成到其它需要腳本語(yǔ)言的程序內(nèi)。因此,很多人還把Python作為一種“膠水語(yǔ)言”(glue language)使用。使用Python將其他語(yǔ)言編寫(xiě)的程序進(jìn)行集成和封裝。在Google內(nèi)部的很多項(xiàng)目,例如Google Engine使用C++編寫(xiě)性能要求極高的部分,然后用Python或Java/Go調(diào)用相應(yīng)的模塊。《Python技術(shù)手冊(cè)》的作者馬特利(Alex Martelli)說(shuō):“這很難講,不過(guò),2004 年,Python 已在Google 內(nèi)部使用,Google 召募許多 Python 高手,但在這之前就已決定使用Python,他們的目的是 Python where we can, C++ where we must,在操控硬件的場(chǎng)合使用 C++,在快速開(kāi)發(fā)時(shí)候使用 Python。”
主站蜘蛛池模板: 水冷散热器_水冷电子散热器_大功率散热器_水冷板散热器厂家-河源市恒光辉散热器有限公司 | 电抗器-能曼电气-电抗器专业制造商| 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | 透平油真空滤油机-变压器油板框滤油机-滤油车-华之源过滤设备 | 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 标准光源箱|对色灯箱|色差仪|光泽度仪|涂层测厚仪_HRC大品牌生产厂家 | 细沙回收机-尾矿干排脱水筛设备-泥石分离机-建筑垃圾分拣机厂家-青州冠诚重工机械有限公司 | 广州展台特装搭建商|特装展位设计搭建|展会特装搭建|特装展台制作设计|展览特装公司 | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 电力测功机,电涡流测功机,磁粉制动器,南通远辰曳引机测试台 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 陶氏道康宁消泡剂_瓦克消泡剂_蓝星_海明斯德谦_广百进口消泡剂 | 韦伯电梯有限公司 | 西点培训学校_法式西点培训班_西点师培训_西点蛋糕培训-广州烘趣西点烘焙培训学院 | 缠膜机|缠绕包装机|无纺布包装机-济南达伦特机械设备有限公司 | 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 | 臻知网大型互动问答社区-你的问题将在这里得到解答!-无锡据风网络科技有限公司 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 冷却塔减速机器_冷却塔皮带箱维修厂家_凉水塔风机电机更换-广东康明冷却塔厂家 | 上海诺狮景观规划设计有限公司 | 高清视频编码器,4K音视频编解码器,直播编码器,流媒体服务器,深圳海威视讯技术有限公司 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 昆山PCB加工_SMT贴片_PCB抄板_线路板焊接加工-昆山腾宸电子科技有限公司 | 早报网| Akribis直线电机_直线模组_力矩电机_直线电机平台|雅科贝思Akribis-杭州摩森机电科技有限公司 | 河南凯邦机械制造有限公司| 合肥触摸一体机_触摸查询机厂家_合肥拼接屏-安徽迅博智能科技 | 布袋式除尘器|木工除尘器|螺旋输送机|斗式提升机|刮板输送机|除尘器配件-泊头市德佳环保设备 | 非小号行情 - 专业的区块链、数字藏品行情APP、金色财经官网 | 上海律师咨询_上海法律在线咨询免费_找对口律师上策法网-策法网 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 数码听觉统合训练系统-儿童感觉-早期言语评估与训练系统-北京鑫泰盛世科技发展有限公司 | 污水提升器,污水提升泵,污水提升装置-德国泽德(zehnder)水泵系统有限公司 | 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | 西装定制/做厂家/公司_西装订做/制价格/费用-北京圣达信西装 | 并离网逆变器_高频UPS电源定制_户用储能光伏逆变器厂家-深圳市索克新能源 | 河南mpp电力管_mpp电力管生产厂家_mpp电力电缆保护管价格 - 河南晨翀实业 | 隔爆型防爆端子分线箱_防爆空气开关箱|依客思 | 船用锚链|专业锚链生产厂家|安徽亚太锚链制造有限公司 | 基本型顶空进样器-全自动热脱附解吸仪价格-AutoHS全模式-成都科林分析技术有限公司 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 |