Python2和Python3的区别

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

默认编码

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)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AI强仔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值