Python 2 和 Python 3 有哪些主要区别

 我来答
百度网友d73d4f6
2016-07-27 · TA获得超过1580个赞
知道小有建树答主
回答量:1441
采纳率:63%
帮助的人:445万
展开全部
1. print不再是语句,而是函数,比如原来是 print 'abc' 现在是 print('abc')
但是 python2.6+ 可以使用 from __future__ import print_function 来实现相同功能
2. 在Python 3中,没有旧式类,只有新式类,也就是说不用再像这样 class Foobar(object): pass 显式地子类化object
但是最好还是加上. 主要区别在于 old-style 是 classtype 类型而 new-style 是 type类型
3. 原来1/2(两个整数相除)结果是0,现在是0.5了
python 2.2+ 以上都可以使用 from __future__ import division 实现改特性, 同时注意 // 取代了之前的 / 运算
4. 新的字符串格式化方法format取代%
错误, 从 python2.6+ 开始已经在str和unicode中有该方法, 同时 python3依然支持 % 算符
5 xrange重命名为range
同时更改的还有一系列内置函数及方法, 都返回迭代器对象, 而不是列表或者 元组, 比如 filter, map, dict.items 等
6. !=取代 < >
python2 也很少有人用 < > 所以不算什么修改
7. long重命名为int
不完全对, python3 彻底废弃了 long+int 双整数实现的方法, 统一为 int , 支持高精度整数运算.
8. except Exception, e变成except (Exception) as e
只有 python2.5 及以下版本不支持该语法. python2.6 是支持的. 不算新东西
9. exec变成函数
类似 print() 的变化, 之前是语句.
风与雨的故事
2016-07-27 · TA获得超过405个赞
知道小有建树答主
回答量:359
采纳率:80%
帮助的人:244万
展开全部
主要修改最多的是print的区别,python2x是语句,python3x是函数。

其他的函数和标准库,用到的时候做相应修改就是了。这个讲的比较细,比很多书上都讲的细,请参考。

http://m.blog.csdn.net/article/details?id=21535901
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式