python3各个版本是通用的吗-Python各个版本间的差异

Python 2 --> Python 3

1. 使用__future__模块

Python 3.X引入了一些与Python 2.X不兼容的关键字和特性。在Python 2.X中,可以通过内置的__future__模块导入这些新内容。如果你希望在Python 2.X环境下写的代码也可以在Python 3.X中运行,那么建议使用__future__模块。

2. print函数

虽然print语法是Python 3中一个很小的改动,而且应该已经广为人知,但是依然值得一提:

Python 2中的print语句被Python 3中的print()函数代替,这意味着在Python 3中必须依然用括号将需要输出的对象括起来。在Python 2中使用额外的括号也可以,但是如果在Python 3中以Python 2的形式不带括号调用print函数,就会触发SyntaxError(语法错误)。

3. 整数除法

由于人们常常会忽视Python 3在整数除法上的改动(写错了也不会除法SyntaxError),因此在移植代码或在Python 2中执行Python 3的代码时需要特别注意这个改动。

4. Unicode

Python 2有基于ASCII的str()类型, 可通过单独的unicode()函数转成unicode类型,但没有byte类型。在Python 3中有了Unicode (UTF-8)字符串和两个字节类(bytes 和 bytearrays)。

5. xrange

在Python 2.X中,经常会用xrange()创建一个可迭代对象,通常出现在“for循环”或“列表/集合/字典推导式”中。在Python 3中,range()的实现方式与xrange()函数相同,所以不存在专用的xrange()(在Python 3中使用xrange()会触发NameError)。

6. 触发异常

Python 2支持新旧两种异常除法语法,而Python 3只支持带括号的语法(不然会触发SyntaxError)。

7.处理异常

Python 3中的异常处理发生了一点变化。在Python 3中必须使用as关键字,Python 2中不需要。

8.next()函数和.next()方法

由于会经常用到next()函数(.next()方法)——返回迭代器的下一个项目。,因此要提到一个语法改动(实现方面也做了改动);在Python 2中,函数形式和方法形式都可以使用;在Python 3中,只能使用next()函数(

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值