让你的python程序同时兼容python2和python3
- - python.cn(jobs, news)python邮件列表里有人发表言论说“python3在10内都无法普及”. 在我看来这样的观点有些过于悲观,python3和python2虽然不兼容,但他们之间差别并没很多人想像的那么大. 你只需要对自己的代码稍微做些修改就可以很好的同时支持python2和python3的. 下面我将简要的介绍一下如何让自己的python代码如何同时支持python2和python3.
python邮件列表里有人发表言论说“python3在10内都无法普及”。在我看来这样的观点有些过于悲观,python3和python2虽然不兼容,但他们之间差别并没很多人想像的那么大。你只需要对自己的代码稍微做些修改就可以很好的同时支持python2和python3的。下面我将简要的介绍一下如何让自己的python代码如何同时支持python2和python3。
from __future__ import
from __future__ import
”后即可使使用python的未来特性了。python的完整future特性可见 __future__
。python3中所有字符都变成了unicode。在python2中unicode字符在定义时需要在字符前面加 u,但在3中则不需要家u,而且在加u后程序会无法编译通过。为了解决该问题可以 “from future import unicode_literals” ,这样python2中字符的行为将和python3中保持一致,python2中定义普通字符将自动识别为unicode。try:#python2 from UserDict import UserDict #建议按照python3的名字进行import from UserDict import DictMixin as MutableMapping except ImportError:#python3 from collections import UserDict from collections import MutableMapping
import sys if sys.version > '3': PY3 = True else: PY3 = False
python3的普及需要每位pythoner的推动,或许你还无法立即升级到python3,但请现在就开始写兼容python3的代码,并在条件成熟时升级到python3。
注:
# 来源: 天地一沙鸥
最新招聘