快捷导航

深入探究Python发展历程

    目前互联网技术领域,编程语言种类非常的多,哪种语言更具有发展前景,主要决定因素在于两个方面,第一是整体互联网市场发展技术要求,第二是要了解各种编程语言的应用以及发展趋势。对于Python编程语言而言,随着人工智能以及大数据的普及,一度成为炙手可热的技术方向。为什么Python能够得到众多互联网工作者热衷的编程语言呢?首先我们要了解Python的发展历程,从而更好的判断Python在每个阶段发展过程中的重要作用。

     

    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。主要目的是简便、快速的开发数据库驱动的网站。强调代码复用,多个组件可以很方便的以插件形式服务于整个框架。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

本文作者2020-9-11 09:48 AM
人工智能
粉丝1 阅读42 回复0
上一篇:
什么是Python?Python有什么特性?发布时间:2020-09-11
下一篇:
Python有哪些应用?学完Python能做什么工作?发布时间:2020-09-11

精彩阅读

排行榜

人工智能公众号

扫码微信公众号
我陪你畅想未来

最智能的人工智能网!
QQ:162057003
周一至周五 9:00-18:00
意见反馈:162057003@qq.com

扫一扫关注我们

Powered by Discuz! X3.4   © 2020 ( 鲁ICP备18055727号 )  |  |网站地图