虽然目前Python3已经全面使用,但是工程项目中为了兼顾之前的代码,还是会继续采用Python2,这就会使得用惯了Python3的我们可能需要经常进行Python3转Python2的操作,故把踩坑经验记录在这里,不定期更新。
print问题
可以使用下述的方法,把下一个新版本的特性导入到当前版本!
下面是Python2中的例子:
>>> from __future__ import print_function
>>>a = [1, 2]
>>> print a
File "<stdin>", line 1
print a
^
SyntaxError: invalid syntax
>>> print(a)
[1, 2]
>>>
该语句是在python2中使用的,python3对于python2是future的,所以在python2的环境下,超前使用python3的print函数。
但是这时候应该注意,原始Python2中的print方法会报错,此时print的语法应该按照Python3来进行。
除法问题
Python3中除法策略:
>>> c = 3 / 2
>>> c
1.5
>>> c = 3 // 2
>>> c
1
>>>
Python2中除法策略:
>>> c = 3 / 2
>>> c
1
>>> c = 3 // 2
>>> c