Python 2.6 和 Python 3 的主要区别有哪些?
2012-08-20 21:52
85 查看
> 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依然支持 % 算符
> 6. xrange重命名为range
同时更改的还有一系列内置函数及方法, 都返回迭代器对象, 而不是列表或者 元组, 比如 filter, map, dict.items 等
> 7. !=取代 < >
python2 也很少有人用 < > 所以不算什么修改
> 8. long重命名为int
不完全对, python3 彻底废弃了 long+int 双整数实现的方法, 统一为 int , 支持高精度整数运算.
> 9. except Exception, e变成except (Exception) as e
只有 python2.5 及以下版本不支持该语法. python2.6 是支持的. 不算新东西
> 10. exec变成函数
类似 print() 的变化, 之前是语句.
简单补充下
* 主要是类库的变化, 组织结构变了些. 但功能没变. urlparse - > urllib.parse 这样的变化
* 最核心的变化它没有说, 对 bytes 和 原生 UNICODE 字符串的支持, 删除了 unicode 对象, str 为原生 unicode 字符串, bytes 替代了之前的 str 这个是最核心的.
* 其它... 貌似不怎么重要了.
但是 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依然支持 % 算符
> 6. xrange重命名为range
同时更改的还有一系列内置函数及方法, 都返回迭代器对象, 而不是列表或者 元组, 比如 filter, map, dict.items 等
> 7. !=取代 < >
python2 也很少有人用 < > 所以不算什么修改
> 8. long重命名为int
不完全对, python3 彻底废弃了 long+int 双整数实现的方法, 统一为 int , 支持高精度整数运算.
> 9. except Exception, e变成except (Exception) as e
只有 python2.5 及以下版本不支持该语法. python2.6 是支持的. 不算新东西
> 10. exec变成函数
类似 print() 的变化, 之前是语句.
简单补充下
* 主要是类库的变化, 组织结构变了些. 但功能没变. urlparse - > urllib.parse 这样的变化
* 最核心的变化它没有说, 对 bytes 和 原生 UNICODE 字符串的支持, 删除了 unicode 对象, str 为原生 unicode 字符串, bytes 替代了之前的 str 这个是最核心的.
* 其它... 貌似不怎么重要了.
相关文章推荐
- Python 2 和 Python 3 主要区别有哪些(一) 推荐
- python 2.6 与2.4的区别:
- 【转】Python 2.7.x 和 Python 3.x 的主要区别
- Python 常见文件格式 .py .pyc .pyw .pyo .pyd 之间的主要区别
- python2与python3之间的主要区别
- PHP和Java的主要区别有哪些?哪个最适合Web开发语言?
- PHP和Java的主要区别有哪些?哪个最适合Web开发语言?
- Python 2.x 与 Python3.x 主要区别对照表
- python主要知识点(与Java的区别)
- 浅谈Python2.6和Python3.0中八进制数字表示的区别
- Python 2.x 与 Python3.x 主要区别对照表
- GeoTools2.6依赖哪些包(类库),依赖的这些包主要做什么的?(总共168个类包)
- Python 常见文件格式 .py .pyc .pyw .pyo .pyd 之间的主要区别
- Python 3.X与2.X语法上有哪些区别的东西?
- 最小二乘法和梯度下降法有哪些区别? 以及梯度下降法Python实现
- VC++ DEGUG/RELEASE两选项主要有哪些区别 .(转)
- Python-Python2和Python3的主要区别
- python中filter与get的主要区别
- Python 2.x 与 Python3.x 主要区别对照表
- python 2/3 的主要区别