Python版本主要区别之Python2.x与Python3.x

1. 打印的区别(print 函数)

a) python2.x:print(打印内容) 或 print 打印内容,括号为可选(例如:print(“Hello World!”) 或 print “Hello World!” )
b) python3.x:print必须当函数使用,必须带括号(例如:print(“Hello World!”))python

2. 控制台输入(input、raw_input)

a) python2.x:input(输入内容备注) 或 raw_input(输入内容备注),括号为可选(例如:input(“请输入参数”) 或 raw_input(“请输入参数”))
b) python3.x:只保留input函数,再也不支持raw_inut()web

3. 除法运算

a) python2.x:会操做四舍五入保留整数(例如:5/2=2)
b) python3.x:会保留浮点型(例如:5/2=2.5)
注:若是是floor除法(//),那两个python版本都会默然向下取整。shell

4. 编码格式:为了解决运行中出现的乱码

a) python2.x:须要在文件头部添加:# coding=utf-8 或者 # -- coding:utf-8 --
b) python3.x:默认utf-8编码,无需添加头部声明python3.x

5. 不等于运算

a) python2.x:!= 或者<>(例如:5!=4 或 5<>4)
b) python3.x:只保留!= 表达式,移除<>svg

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就是你所想要转换的文件的名字code