Python - Python2与Python3的区别、转换与兼容

时间:2024-09-12 15:37:38

区别

特别注意:

  • 在python2.7中range的返回值是一个列表,而在python3.x中返回的是一个range对象。
  • map()、filter()、 dict.items()在python2.7返回列表,而在3.x中返回迭代器,但只能遍历一

转换(迁移)与兼容

转换(迁移)工具 - 2to3

Automated Python 2 to 3 code translation.
Python2和Python3自带实用转换脚本2to3(Utility Script),可将Python2程序源文件作为输入,然后自动将其转换到Python3的形式。

官网信息:

兼容工具 - Six

Six is a Python 2 and 3 compatibility library.
专门用来兼容Python2和Python3的库,使用six写的代码可以不用修改就运行在Python2或Python3上。
简单来说,Six统一了Python2和Python3的名字等内容,封装了Python2和Python3之间的差异。
Six只有一个six.py文件,可以方便地拷贝到项目中,也可以使用pip安装。

官网信息:

参考信息: