1. 打印的区别(print 函数)
a) python2.x:print(打印内容) 或 print 打印内容,括号为可选(例如:print(“Hello World!”) 或 print “Hello World!” )
b) python3.x:print必须当函数使用,必须带括号(例如:print(“Hello World!”))
2. 控制台输入(input、raw_input)
a) python2.x:input(输入内容备注) 或 raw_input(输入内容备注),括号为可选(例如:input(“请输入参数”) 或 raw_input(“请输入参数”))
b) python3.x:只保留input函数,不再支持raw_inut()
3. 除法运算
a) python2.x:会操作四舍五入保留整数(例如:5/2=2)
b) python3.x:会保留浮点型(例如:5/2=2.5)
注:如果是floor除法(//),那两个python版本都会默然向下取整。
4. 编码格式:为了解决运行中出现的乱码
a) python2.x:需要在文件头部添加:# coding=utf-8 或者 # -- coding:utf-8 --
b) python3.x:默认utf-8编码,无需添加头部声明
5. 不等于运算
a) python2.x:!= 或者<>(例如:5!=4 或 5<>4)
b) python3.x:只保留!= 表达式,移除<>
6. next()和.next()函数
a) python2.x:next()和.next()函数都支持(例如:it = iter(range(10)),it.next() 或者 next(it))
b) python3.x:只保留next()函数,移除.next()
7. xrange()函数
a) python2.x:range()和xrange()函数都支持,xrange()是按需返回列表大小,以节省内存占用(例如:it = range(10) 或者 it = xrange(10))
b) python3.x:将xrange()函数更名成range()函数,且Python3.2 以及更高的版本中支持切片
附加:python3自带工具2to3.py用法
在跑程序的过程中,常常会出现找到的代码是python2但是实际搭建的环境是python3的情况,在这种情况下,我们常常有两个选择:
(1)将现有的环境配置成python2的情况
(2)将现有程序由python2转换为python3
为了实现python2到python3的转换,python3中提供了一个转换工具2to3.py
首先在所需要转换的文件的根目录下打开终端
运行代码
2to3 -w example.py
其中example.py就是你所想要转换的文件的名字