最近C语言的学习告一段落,为了新的算法学习开始重新捡起python。和两年前不同,这次我选择了最新的3.6而不是2.7。当然,入手的教材都是3的语言描述。为了简单的了解2和3的区别,我在网上翻阅了不少资料,分享给大家。
尽管版本在不断跌进,但是人们总是喜欢怀旧。比如现在还有人在用windows server 2002,尽管已经被微软停止更新,再比如还有人在用Python 2.7版本,尽管Python 3.6版本已经正式释出。Python 3.x引入了一些与Python 2.7不兼容的关键字和特性,在Python 2.7中,使用者其实可以通过内置的__future__模块导入这些新内容。当然,你也可以同时使用2.7和3.6几个版本。
Python3.x引入了一些Python2不兼容的关键字和特性,在Python2中可以通过内建的__future__模块导入。如果你计划对你的代码提供Python3.x支持,推荐使用__future__模块。举例,如果我们想要在Python2中有Python3.x的整数除法,我们可以通过如下导入:
__future__模块的更多功能在下表中列出:
特性
可选
强制
作用
nested_scopes
2.1.0b1 2.2 PEP 227:静态嵌套的范围
generators 2.2.0a1 2.3 PEP 255:简单生成器
division 2.2.0a2 3.0 PEP 238:修改除法运算符
absolute_import 2.5.0a1 3.0 PEP 328:导入:多行和绝对/相对
with_statement 2.5.0a1 2.6 PEP 343:“with” 语句
print_function 2.6.0a2 3.0 PEP 3105:打印函数
unicode_literals 2.6.0a2 3.0 PEP 3112:Python 3000字节文本
(源:[https://docs.python.org/2/library/__future__.html](https://docs.python.org/2/library/__future__.html#module-__future__))
print函数
啰嗦了点,print语法的变化可能是最广为人知的更改,但仍值得一提:print语句被pri