默认编码
Python2 的默认编码是 asscii
Python 3 默认采用了 UTF-8 作为默认编码
缩进
Python3 使用更加严格的缩进。Python2 的缩进机制中,1 个 tab 和 8 个 space 是等价的,所
以在缩进中可以同时允许 tab 和 space 在代码中共存。这种等价机制会导致部分 IDE 使用存在问题。
Python3 中 1 个 tab 只能找另外一个 tab 替代,因此 tab 和 space 共存会导致报错:TabError:
print函数:
(Python3中print为一个函数,必须用括号括起来;Python2中print为class)
通过input()解析用户的输入
:
(Python3中input得到的为str;Python2的input的到的为int型,Python2的raw_input得到的为str类型)统一一下:Python3中用input,Python2中用row_input,都输入为str
整除:
Python3中/表示真除,%表示取余,//结果取整;Python2中带上小数点/表示真除,%表示取余,//结果取整
range 与 xrange
原 : range( 0, 4 ) 结果 是 列表 [0,1,2,3 ]
改为:list( range(0,4) )
原 : xrange( 0, 4 ) 适用于 for 循环的变量控制
改为:range(0,4)
try except 语句的变化
原: try:
......
except Exception, e :
......
改为
try:
......
except Exception as e :
......
打开文件
原: file( … )
或 open(.....)
改为:
只能用 open(.....)
包的定义
python2:文件夹中必须有_ _ init _ .py文件
python3:不需要有 _ init _ _.py文件
str类型
Python2 中使用 ASCII 码作为默认编码方式导致 string 有两种类型 str 和 unicode,Python3 只
支持 unicode 的 string
迭代器
iterator 的 next()函数被 Python3 废弃,统一使用 next(iterator)

本文详细对比了Python2与Python3的主要区别,包括默认编码、缩进规则、print函数、用户输入处理、整除运算、range与xrange的使用、try-except语句、文件操作、包定义、字符串类型及迭代器变化,为开发者从Python2迁移到Python3提供了全面指导。

被折叠的 条评论
为什么被折叠?



