Python2和Python3的区别和代码转换

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

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

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

现在我们新手学习python的话都是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也是一样,不可能每次变化大家都要重新学习一遍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王子玉博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值