ITPub博客

首页 > 应用开发 > Python > Python2和Python3的区别

Python2和Python3的区别

原创 Python 作者:村长python 时间:2021-12-02 19:42:55 0 删除 编辑

很多人都比较关心python2.x和python3.x的区别,这件事聊起来就要从Python的历史说起来了,python是1989年开发出来了,到今天已经30多岁了。到现在有三个主要版本,几十个小版本。下面我们就简单介绍一下。


Python 和其他语言一样也是有很多不同版本的,最早的 Python1 版本因为没有多少人使用,也就不了了之了。

至于 Python2 使用的人就比较多了, Python2 是 2000 年 10 月份发布的,最后一个版本是 Python2.7 到 2008 年结束,然后社区就不支持了。虽然结束但是之后的几年里还有一些开发人员继续使用 Python2 ,即使到现在也有一些开发人员还在使用它。


现在我们新手学习的都是 Python3 ,但是 Python3 和 Python2 不兼容,所以很多以前使用 Python2 开发的项目想改成 Python3 就比较费劲了。这里我们来重点聊聊 python2.x 和 python3.x 的区别。

1. 代码规范不一样

   python2.x :源码重复,不规范
   python3.x :整合源码,更清晰优美简单

2. 编码种类不一样

   python2.x :默认编码 ASCII 编码
   python3.x :默认编码 UTF-8

3.python3.x 舍弃了长整型

   python2.x :有长整型 long
   python3.x : long 整数类型被废弃,统一为 int

4. 打印函数的语法变化

   python2.x : print 语句, print 空格 + 打印内容
   python3.x : print() 函数, print( 打印内容 )

5. 交互函数不同

   python2.x : raw_input() input()
   raw_input() 函数的输入内容类型为字符串
   input() 函数的输入内容类型为输入字符的类型

6. 键盘读取输入方面

    Python3 只保留 input() 函数,且输入数据全部作为字符串处理;
    Python2 还支持 row_input() 函数, input() 函数在处理输入数字的过程中,若输入的数字加引号,则作为字符串处理,否则当作数字处理。

7. 整除

    Python3 中,整除操作均转化成浮点型数值类型进行处理,
    Python2 中整除操作执行四舍五入操作。

8.xrange() 函数

    Python2 中有 range() 和 xrange() 函数,其中 xrange() 是按需返回列表大小,以节省内存占用,
    Python3 中将 xrange() 函数更名成 range() 函数,且 Python3.2 以及更高的版本中支持切片。

9.next() 和 .next() 函数

    Python2 对两个函数均支持,
    Python3 只支持 next() 函数。


再给大家介绍一个 python2 向 python3 转换的工具

2to3.py 脚本将被通常安装在 tools/scripts 文件夹。 它读取 Python2.x 源代码,并应用了一系列的修复将它转变成有效的 Python3.x 代码 ; 如: 2to3 -w test.py 。


这里面还有很多细节有所不同,这里没办法和大家一一讲解,但是要明白的一点就是,你学的是 python3 ,暂时没有必要管的太多,当你学会 python3 之后,再去看 python2 一点压力都没有,等你工作后去修改公司老程序也不会有压力。毕竟每种语言都在不断的进化,有的语言一个月就要变化一次, python 也是一样,不可能每次变化大家都要重新学习一遍。

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70010583/viewspace-2845499/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2021-11-25

  • 博文量
    11
  • 访问量
    4679