欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python的历史

程序员文章站 2023-11-11 14:40:52
很容易ABC Guido van Rossum 吉多·范罗苏姆-python创建者 Guido van Rossum 吉多·范罗苏姆-python创建者 Python中的字母表和编程语言有什么共同之处?对,两者都以ABC开头。如果我们在Python语境中讨论ABC,很明显编程语言ABC就是这个意思。 ......

很容易abc

guido van rossum 吉多·范罗苏姆-python创建者

 

python中的字母表和编程语言有什么共同之处?对,两者都以abc开头。如果我们在python语境中讨论abc,很明显编程语言abc就是这个意思。abc是一种通用编程语言和编程环境,abc的最大成就是影响python的设计。

 

python在20世纪80年代后期被概念化。guido van rossum当时在cwi的一个项目中工作,名为amoeba,一个分布式操作系统。在接受bill venners的采访时guido van rossum说:“在20世纪80年代早期,我在centrum voor wiskunde en informatica(cwi)建立一种名为abc的语言的团队中担任实施者。我不知道人们关于abc对python的影响有多了解。我非常感谢我在该项目中学到的一切以及为其工作的人们。“ 

后来在同一次访谈中,guido van rossum继续说道:“我记得我的所有经历以及我对abc的一些挫败感。我决定尝试设计一种简单的脚本语言,它拥有abc的一些更好的属性,但没有它的缺点。所以我开始打字。我创建了一个简单的虚拟机,一个简单的解析器和一个简单的运行环境。我创建了我喜欢的各种abc部分的自己的版本。我创建了一个基本语法,使用缩进语句分组而不是花括号或开始 - 结束块,并开发了少量强大的数据类型:哈希表(我们称之为字典),列表,字符串和数字。“

 

喜剧,蛇或编程语言

所以,“python”这个名字怎么样:大多数人都会想到蛇,甚至这个标志都描绘了两条蛇,但这个名字的由来源于英国的幽默剧。python的创建者guido van rossum在1996年写了关于他的编程语言的起源:“六年前,1989年12月,在圣诞节前后的那个星期,我当时正在寻找一个编程项目,我的办公室将被关闭,但我有一台家用电脑,而且我的手上没有写其他东西。所以我决定为我最近一直在考虑的新脚本语言写一个解释器:一个abc的后代,它将会吸引unix / c黑客。因为我也是巨蟒剧团的超级粉丝,所以最终我选择python作为该项目的名子。

 

 

python的法则与宗旨

  • 美丽胜过丑陋。
  • 显式优于隐式。
  • 简单比复杂更好。
  • 复杂比复杂更好。
  • flat优于嵌套。
  • 稀疏优于密集。
  • 可读性很重要。
  • 特殊情况不足以打破规则。
  • 错误不应该默默地传递。
  • 面对模棱两可,拒绝猜测的诱惑。
  • 应该有一个 - 最好只有一个 - 显而易见的方法。
  • 虽然这种方式起初可能并不明显,除非你是荷兰人。
  • 现在总比没有好。
  • 如果实施很难解释,那是个坏主意。
  • 如果实现很容易解释,那可能是个好主意。
  • 命名空间是一个很棒的主意 - 让我们做更多的事情吧!

python的版本历史

guido van rossum于1991年2月在alt.sources上发布了第一版python代码(版本0.9.0)。该版本包括已经异常处理,函数以及list,dict,str等核心数据类型。它也是面向对象的并且有一个模块系统。 

python版本1.0于1994年1月发布。此版本中包含的主要新功能是功能编程工具lambda,map,filter和reduce。(据说guido van rossum从未喜欢过) 

六年半之后的2000年10月,python 2.0被引入。这个版本包括列表推导,和一个完整的垃圾收集器,并且它支持unicode。 

随着python 3.0(也称为“python 3000”和“py3k”)的发布,python在下一个主要版本之前的版本2.x中再繁荣了8年。python 3不向后兼容python 2.x. python 3的重点在于删除重复的编程结构和模块,从而实现或接近实现python的法则:“应该有一个 - 最好只有一个 - 显而易见的方法。” 

python 3.0中的一些变化:

    • print现在是一个功能
    • 视图和迭代器代替了列表
    • 排序比较的规则已经简化。例如,元素构成复杂的列表无法排序,因为列表的所有元素必须彼此类型相同。
    • 只剩下一个整数类型,即int。long也是int。
    • 两个数的除法返回一个浮点而不是整数。要想返回整数需要使用“//”。
    • utf-8编码代替ascall码

本文转载自:python黑洞网  原文链接: