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

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

python的前世與今生

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

python的前世與今生

  python的創(chuàng)始人為吉多·范羅蘇姆(Guido van Rossum)。1989年的圣誕節(jié)期間,Guido開始寫Python語言的編譯器。Python這個名字,來自Guido所摯愛的電視劇Monty Python’s Flying Circus。他希望這個新的叫做Python的語言,能符合他的理想:創(chuàng)造一種C和shell之間,功能全面,易學(xué)易用,可拓展的語言。并且在他去谷歌面試的時候簡歷只寫了一句話,就是我創(chuàng)造了Python,可見能力確實(shí)不一般。
 
 
 
  吉多·范羅蘇姆
 
 
  我們的前輩有一個非常親民的名字叫做“龜叔”
 
  在80年代,個人電腦的配置較之如今是極低的,程序員不得不努力思考如何最大化利用空間,以寫出符合機(jī)器口味的程序。而正是因?yàn)檫@一點(diǎn),讓龜叔感到苦惱。他認(rèn)為這樣編寫程序?qū)嵲谑翘^于耗費(fèi)時間,于是他想到了shell。shell可以像膠水一樣,將UNIX下的許多功能連接在一起。許多C語言下上百行的程序,在shell下只用幾行就可以完成。然而,shell的本質(zhì)是調(diào)用命令,它并不是一個真正的語言,shell不能全面的調(diào)動計(jì)算機(jī)的功能。 
 
  于是,龜叔開始思考,是否能設(shè)計(jì)一款語言,使它同時具備C與shell的優(yōu)點(diǎn),既能夠全面調(diào)用計(jì)算機(jī)的功能接口,又可以輕松編寫程序。 
 
  所以龜叔當(dāng)時一直在尋找這樣一種的語言,既可以像命令那樣簡潔明了,又可以和C語言的功能相媲美。不過當(dāng)時那個年代,幾乎是找不到的,不過找到了一種稍微類似的語言,就是傳說中的ABC語言
 
  1989年圣誕節(jié)期間,在阿姆斯特丹,龜叔為了打發(fā)圣誕節(jié)的無趣,決心開發(fā)一個新的腳本解釋程序,做為ABC 語言的一種繼承。而取名python,是取自他摯愛的一部電視劇Monty Python’s Flying Circus 。 
 
  1991年,第一個Python編譯器誕生,它是用C語言實(shí)現(xiàn)的,并能夠調(diào)用C庫(.so文件)。從一出生,Python已經(jīng)具有了:類(class),函數(shù)(function),異常處理(exception),包括表(list)和詞典(dictionary)在內(nèi)的核心數(shù)據(jù)類型,以及模塊(module)為基礎(chǔ)的拓展系統(tǒng)。 
 
  龜叔為防止重蹈ABC的覆轍,著重注意python的可擴(kuò)展性,并且也沿用了C中的大部分語法習(xí)慣,而這,使python得到龜叔同事的歡迎。他們迅速的反饋使用意見,并參與到Python的改進(jìn)。
 
  python誕生在一個幸運(yùn)的時間。1990年代初,個人計(jì)算機(jī)開始進(jìn)入普通家庭。Intel發(fā)布了486處理器,windows發(fā)布window 3.0開始的一系列視窗系統(tǒng),計(jì)算機(jī)的性能大大提高。并且由于Internet隨個人電腦的普及而為人們所廣知,許多程序員以及資深計(jì)算機(jī)用戶頻繁使用Internet進(jìn)行交流,這使得python沒有了硬件上的束縛與傳播上的困難,再加上python易于使用的特點(diǎn),使python得到了一定程度上的傳播。 
 
  龜叔維護(hù)了一個maillist,python用戶通過郵件進(jìn)行交流。因?yàn)閜ython用戶來自許多領(lǐng)域,有不同的背景,對python也有不同的需求。python相當(dāng)?shù)拈_放,又容易拓展,所以當(dāng)用戶不滿足于現(xiàn)有功能,很容易對python進(jìn)行拓展或改造。隨后,這些用戶將改動發(fā)給龜叔,并由龜叔決定是否將新的特征加入到python或者標(biāo)準(zhǔn)庫中。這就使得不同領(lǐng)域的優(yōu)點(diǎn)集中于python。 
 
  后來的python2.0,從maillist的開發(fā)方式,轉(zhuǎn)為完全開源的開發(fā)方式,(開源:由于Internet讓信息交流成本大大下降,所出現(xiàn)的一種新的軟件開發(fā)模式)python的數(shù)據(jù)庫的擴(kuò)展速度與傳播速度也由此更進(jìn)一步。 
 
  到今天,Python的框架已經(jīng)確立。Python語言以對象為核心組織代碼(Everything is object),支持多種編程范式(multi-paradigm),采用動態(tài)類型(dynamic typing),自動進(jìn)行內(nèi)存回收(garbage collection)。Python支持解釋運(yùn)行(interpret),并能調(diào)用C庫進(jìn)行拓展。Python有強(qiáng)大的標(biāo)準(zhǔn)庫 (battery included)。由于標(biāo)準(zhǔn)庫的體系已經(jīng)穩(wěn)定,所以Python的生態(tài)系統(tǒng)開始拓展到第三方包。
 
 
  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(中國知乎)、豆瓣、知乎、百度、騰訊、汽車之家、美團(tuán)等。
 
 
  目前Python主要應(yīng)用領(lǐng)域
 
  云計(jì)算: 云計(jì)算最火的語言, 典型應(yīng)用OpenStack
 
  WEB開發(fā): 眾多優(yōu)秀的WEB框架,眾多大型網(wǎng)站均為Python開發(fā),Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
 
  科學(xué)運(yùn)算、人工智能: 典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandas
 
  系統(tǒng)運(yùn)維: 運(yùn)維人員必備語言
 
  金融:量化交易,金融分析,在金融工程領(lǐng)域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作為動態(tài)語言的Python,語言結(jié)構(gòu)清晰簡單,庫豐富,成熟穩(wěn)定,科學(xué)計(jì)算和統(tǒng)計(jì)分析都很牛逼,生產(chǎn)效率遠(yuǎn)遠(yuǎn)高于c,c++,java,尤其擅長策略回測
 
  圖形GUI: PyQT, WxPython,TkInter
 
 
  Python在一些公司的應(yīng)用
 
  谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬蟲、Google廣告等項(xiàng)目都在大量使用Python開發(fā)
 
  CIA: 美國中情局網(wǎng)站就是用Python開發(fā)的
 
  NASA: 美國航天局(NASA)大量使用Python進(jìn)行數(shù)據(jù)分析和運(yùn)算
 
  YouTube:世界上最大的視頻網(wǎng)站YouTube就是用Python開發(fā)的
 
  Dropbox:美國最大的在線云存儲網(wǎng)站,全部用Python實(shí)現(xiàn),每天網(wǎng)站處理10億個文件的上傳和下載
 
  Instagram:美國最大的圖片分享社交網(wǎng)站,每天超過3千萬張照片被分享,全部用python開發(fā)
 
  Facebook:大量的基礎(chǔ)庫均通過Python實(shí)現(xiàn)的
 
  Redhat: 世界上最流行的Linux發(fā)行版本中的yum包管理工具就是用python開發(fā)的
 
  豆瓣: 公司幾乎所有的業(yè)務(wù)均是通過Python開發(fā)的
 
  知乎: 國內(nèi)最大的問答社區(qū),通過Python開發(fā)(國外Quora)
 
  春雨醫(yī)生:國內(nèi)知名的在線醫(yī)療網(wǎng)站是用Python開發(fā)的
 
  除上面之外,還有搜狐、金山、騰訊、盛大、網(wǎng)易、百度、阿里、淘寶 、土豆、新浪、果殼等公司都在使用Python完成各種各樣的任務(wù)。
 
 
  Python的種類
 
  Cpython
 
      Python的官方版本,使用C語言實(shí)現(xiàn),使用最為廣泛,CPython實(shí)現(xiàn)會將源文件(py文件)轉(zhuǎn)換成字節(jié)碼文件(pyc文件),然后運(yùn)行在Python虛擬機(jī)上。
 
  Jyhton
 
      Python的Java實(shí)現(xiàn),Jython會將Python代碼動態(tài)編譯成Java字節(jié)碼,然后在JVM上運(yùn)行。
 
  IronPython
 
      Python的C#實(shí)現(xiàn),IronPython將Python代碼編譯成C#字節(jié)碼,然后在CLR上運(yùn)行。(與Jython類似)
 
  PyPy(特殊)
 
      Python實(shí)現(xiàn)的Python,將Python的字節(jié)碼字節(jié)碼再編譯成機(jī)器碼。
 
  RubyPython、Brython ...
 
 
  python 設(shè)計(jì)定位
 
  Python的設(shè)計(jì)哲學(xué)是“優(yōu)雅”、“明確”、“簡單”。因此,Perl語言中“總是有多種方法來做同一件事”的理念在Python開發(fā)者中通常是難以忍受的。Python開發(fā)者的哲學(xué)是[“用一種方法,最好是只有一種方法來做一件事”]。在設(shè)計(jì)Python語言時,如果面臨多種選擇,Python開發(fā)者一般會拒絕花俏的語法,而選擇明確的沒有或者很少有歧義的語法。由于這種設(shè)計(jì)觀念的差異,Python源代碼通常被認(rèn)為比Perl具備更好的可讀性,并且能夠支撐大規(guī)模的軟件開發(fā)。這些準(zhǔn)則被稱為Python格言。在Python解釋器內(nèi)運(yùn)行import this可以獲得完整的列表。 
 
  Python開發(fā)人員盡量避開不成熟或者不重要的優(yōu)化。一些針對非重要部位的加快運(yùn)行速度的補(bǔ)丁通常不會被合并到Python內(nèi)。所以很多人認(rèn)為Python很慢。不過,根據(jù)二八定律,大多數(shù)程序?qū)λ俣纫蟛桓摺T谀承\(yùn)行速度要求很高的情況,Python設(shè)計(jì)師傾向于使用JIT技術(shù),或者用使用C/C++語言改寫這部分程序。可用的JIT技術(shù)是PyPy。 
 
  Python是完全面向?qū)ο蟮恼Z言。函數(shù)、模塊、數(shù)字、字符串都是對象。并且完全支持繼承、重載、派生、多繼承,有益于增強(qiáng)源代碼的復(fù)用性。Python支持重載運(yùn)算符和動態(tài)類型。相對于Lisp這種傳統(tǒng)的函數(shù)式編程語言,Python對函數(shù)式設(shè)計(jì)只提供了有限的支持。有兩個標(biāo)準(zhǔn)庫(functools, itertools)提供了Haskell和Standard ML中久經(jīng)考驗(yàn)的函數(shù)式程序設(shè)計(jì)工具。 
 
  雖然Python可能被粗略地分類為“腳本語言”(script language),但實(shí)際上一些大規(guī)模軟件開發(fā)計(jì)劃例如Zope、Mnet及BitTorrent,Google也廣泛地使用它。Python的支持者較喜歡稱它為一種高級動態(tài)編程語言,原因是“腳本語言”泛指僅作簡單程序設(shè)計(jì)任務(wù)的語言,如shellscript、VBScript等只能處理簡單任務(wù)的編程語言,并不能與Python相提并論。 
 
  Python本身被設(shè)計(jì)為可擴(kuò)充的。并非所有的特性和功能都集成到語言核心。Python提供了豐富的API和工具,以便程序員能夠輕松地使用C語言、C++、Cython來編寫擴(kuò)充模塊。Python編譯器本身也可以被集成到其它需要腳本語言的程序內(nèi)。因此,很多人還把Python作為一種“膠水語言”(glue language)使用。使用Python將其他語言編寫的程序進(jìn)行集成和封裝。在Google內(nèi)部的很多項(xiàng)目,例如Google Engine使用C++編寫性能要求極高的部分,然后用Python或Java/Go調(diào)用相應(yīng)的模塊。《Python技術(shù)手冊》的作者馬特利(Alex Martelli)說:“這很難講,不過,2004 年,Python 已在Google 內(nèi)部使用,Google 召募許多 Python 高手,但在這之前就已決定使用Python,他們的目的是 Python where we can, C++ where we must,在操控硬件的場合使用 C++,在快速開發(fā)時候使用 Python。”
主站蜘蛛池模板: 硫化罐-胶管硫化罐-山东鑫泰鑫智能装备有限公司 | 新疆十佳旅行社_新疆旅游报价_新疆自驾跟团游-新疆中西部国际旅行社 | 神超官网_焊接圆锯片_高速钢锯片_硬质合金锯片_浙江神超锯业制造有限公司 | 天津暖气片厂家_钢制散热器_天津铜铝复合暖气片_维尼罗散热器 | 304不锈钢无缝管_不锈钢管厂家 - 隆达钢业集团有限公司 | 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 飞利浦LED体育场灯具-吸顶式油站灯-飞利浦LED罩棚灯-佛山嘉耀照明有限公司 | 执业药师报名条件,考试时间,考试真题,报名入口—首页 | 航空障碍灯_高中低光强航空障碍灯_民航许可认证航空警示灯厂家-东莞市天翔航天科技有限公司 | 在线浊度仪_悬浮物污泥浓度计_超声波泥位计_污泥界面仪_泥水界面仪-无锡蓝拓仪表科技有限公司 | 分子精馏/精馏设备生产厂家-分子蒸馏工艺实验-新诺舜尧(天津)化工设备有限公司 | 流量检测仪-气密性检测装置-密封性试验仪-东莞市奥图自动化科技有限公司 | 带压开孔_带压堵漏_带压封堵-菏泽金升管道工程有限公司 | 桁架楼承板-钢筋桁架楼承板-江苏众力达钢筋楼承板厂 | 三轴曲线机-端子插拔力试验机|华杰仪器 | 「银杏树」银杏树行情价格_银杏树种植_山东程锦园林 | 抖音短视频运营_企业网站建设_网络推广_全网自媒体营销-东莞市凌天信息科技有限公司 | 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 广东教师资格网-广东教师资格证考试网 | 洗瓶机厂家-酒瓶玻璃瓶冲瓶机-瓶子烘干机-封口旋盖压盖打塞机_青州惠联灌装机械 | 会议会展活动拍摄_年会庆典演出跟拍_摄影摄像直播-艾木传媒 | 电动液压篮球架_圆管地埋式篮球架_移动平箱篮球架-强森体育 | 内窥镜-工业内窥镜厂家【上海修远仪器仪表有限公司】 | 乐泰胶水_loctite_乐泰胶_汉高乐泰授权(中国)总代理-鑫华良供应链 | 郑州律师咨询-郑州律师事务所_河南锦盾律师事务所 | 石磨面粉机|石磨面粉机械|石磨面粉机组|石磨面粉成套设备-河南成立粮油机械有限公司 | 氨水-液氨-工业氨水-氨水生产厂家-辽宁顺程化工 | 天津拓展_天津团建_天津趣味运动会_天津活动策划公司-天津华天拓展培训中心 | 天津仓储物流-天津电商云仓-天津云仓一件代发-博程云仓官网 | 众能联合-提供高空车_升降机_吊车_挖机等一站工程设备租赁 | 道达尔润滑油-食品级润滑油-道达尔导热油-合成导热油,深圳道达尔代理商合-深圳浩方正大官网 | 法兰连接型电磁流量计-蒸汽孔板节流装置流量计-北京凯安达仪器仪表有限公司 | U拓留学雅思一站式服务中心_留学申请_雅思托福培训 | 机器视觉检测系统-视觉检测系统-机器视觉系统-ccd检测系统-视觉控制器-视控一体机 -海克易邦 | 泥浆在线密度计厂家-防爆数字压力表-膜盒-远传压力表厂家-江苏大亚自控设备有限公司 | RS系列电阻器,RK_RJ启动调整电阻器,RQ_RZ电阻器-上海永上电器有限公司 | WF2户外三防照明配电箱-BXD8050防爆防腐配电箱-浙江沃川防爆电气有限公司 | 磁粉制动器|张力控制器|气胀轴|伺服纠偏控制器整套厂家--台灵机电官网 | 私人别墅家庭影院系统_家庭影院音响_家庭影院装修设计公司-邦牛影音 | 壹车网 | 第一时间提供新车_资讯_报价_图片_排行! | 福州甲醛检测-福建室内空气检测_环境检测_水质检测-福建中凯检测技术有限公司 |