1. 程式人生 > >Python - Python2與Python3的對比、轉換與兼容

Python - Python2與Python3的對比、轉換與兼容

部分 sch 差異 遍歷 rar https ans 運行 project

對比

  • Python2.x與Python3.x版本區別:http://www.runoob.com/python/python-2x-3x.html
  • 示例解讀Python2和Python3之間的主要差異:https://www.oschina.net/news/99235/difference-between-python2-and-python-3
  • 13個python3才能用的特性:https://mp.weixin.qq.com/s/eYeY2lcaPCsIIFOyZ6v-OQ

特別註意:

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

轉換與兼容

  • 愉快地遷移到Python3:https://mp.weixin.qq.com/s/bF-QcmaRqq5m-DYyn3W03w
  • 讓你的python程序同時兼容python2和python3:http://python.jobbole.com/83987/

轉換工具 - 2to3

Automated Python 2 to 3 code translation.
幾乎所有的Python2程序都需要一些修改才能正常地運行在Python3的環境下。
為了簡化這個轉換過程,Python自帶2to3的實用腳本(Utility Script),會將Python2程序源文件作為輸入,然後自動將其轉換到Python3的形式。

  • https://docs.python.org/2/library/2to3.html
  • https://docs.python.org/3/library/2to3.html

兼容工具 - Six

Six is a Python 2 and 3 compatibility library.
專門用來兼容Python2和Python3的庫,提供了簡單的實用程序包來封裝Python2和Python3之間的差異,解決了諸如urllib部分方法不兼容、 str和bytes類型不兼容等問題。

  • PyPI:https://pypi.org/project/six/
  • HomePage:https://github.com/benjaminp/six
  • Documentation:https://six.readthedocs.io/

Python - Python2與Python3的對比、轉換與兼容