最近,我在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/

10-09 19:08