Python 2 和 Python 3 的区别

性能:py3.x起始比py2.x效率低,但是py3.x有极大的优化空间,效率正在追赶。

  range和xrange的区别:

    py2中:

语法:1,去除了 <>  ,改用了  != 

金沙官网线上 1Python 3

   5,去除了raw_input,加入了input()函数

  • python 2:有很多返回列表的方法,如 range(),字典对象的 dict.keys()、dict.values() 方法, map()、filter etc...并且迭代器必须实现 next 方法
  • python 3:将返回列表的方法改为了返回迭代器对象,并且内置了 next,所以不用特意去实现 next 方法

  py2中字符串是以8-bit 字符串存储

大家在初学 Python 编程的时候往往都会有一个疑虑,到底是选择 Python 2 还是选择 Python 3 呢?好的,话不多说。接下来,就给大家示例解读一下 Python 2 和 Python 3 之间的主要区别

      range 函数说明:range( [start,] stop [,step]),根据start与stop指定的范围及step设定的步长,生成一个序列。   xrange 函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器

金沙官网线上,   2,加入了as和with关键字,还有True,False,None

  • python 2 中有 range: range([start,] stop[, step]),根据 start 与 stop 指定的范围以及 step 设定的步长,返回值是一个列表;xrange 和 range 的用法完全相同,但是返回的是一个生成器
  • python 3 中只有 range,并且python 3 中的 range 等同于 python 2 中的 xrange,返回一个生成器,想要使用 range() 获得一个 list,必须显式调用

    list)[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

  file类被废弃:

  • python 2 支持 <> 等同于 !=
  • python 3 只支持 !=,不再支持<>

面向对象:引入了抽象基类

金沙官网线上 2

  py2:

  • python 2 有两个全局函数,用在命令行请求用户输入。第一个叫 input(),它等待用户输入一个 python 表达式;第二个叫做 raw_input(),返回的结果为用户输入的值value = raw_input ("input values")
  • python 3 中使用 input()value = input ("input values")

  py3中字符串以16-bit Unicode字符串存储,现在的字符串只有str一种类型

  • 在 python 2 中,除法的取值结果取整数(注:如果希望结果取小数,需要导入 future 模块 中的 division)
1 try:
2     ......
3 except Excetion, e:
4     ......

其他 :

金沙官网线上 3Python 2

  py3中去除了long类型,现在只有一中整型-- int,但它的行为就像2.x版本的long

   7,改变了顺序操作符的行为,例如x<y,当x和Y类型不匹配时抛出TypeError,而不是返回bool值

  • 在 python 3 中,除法 / 的结果包含小数,使用 // 只取整数

本文由金沙官网线上发布于编程,转载请注明出处:Python 2 和 Python 3 的区别

您可能还会对下面的文章感兴趣: