最近,我在python3中运行python2代码时遇到了一些非常“害羞”的错误。原因是整数除法自动转换为浮点数。因此,即使我没有这样做:
from __future__ import division
我的代码可以运行,但是方式错误。
我知道2to3,但问题如下:
我看不到它提到分裂问题,它能解决吗?
我不能有一个黑匣子来更改我的代码,这是运行它并使用diff工具查看更改的一种常见做法吗?
我需要一个仅对python2代码发出警告的工具。有一个吗?
有其他选择吗?
在此先感谢您的宝贵时间,对任何问题的反馈将非常有帮助。
最佳答案
默认情况下,Python 3实现division
中__future__
模块的行为。
Python 2:
>>> 1.0 / 2.0
0.5
>>> 1/2
0
>>> from __future__ import division
>>> 1.0 / 2.0
0.5
>>> 1/2
0.5
Python 3:
>>> 1.0 / 2.0
0.5
>>> 1/2
0.5
要实现版本2的行为特征,请使用
//
运算符:>>> 1//2
0
>>> 1.0 // 2.0
0.0
关于python - Python 2到3发出警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21817069/