Python2和Python3关于int数据相除结果的区别

之前一直用的是Python3,有一个除法公式用起来也没有出现什么bug,后来项目需要用Python2执行,出现了一个明显不合理的错误。

因为整个程序不是我写的,也是原来的公式,导致我没有意识到是版本不同,而出现的bug。

后来将所有的数据变量都打印了一遍,才发现问题。Python2中将int的数据相除,自动转化成int类型,也就是除去小数部分 :

>>> a = 11
>>> b = 2
>>> c = a/b
>>> c
5

如果是Python3的话:

>>> a = 11
>>> b = 2
>>> c = a/b
>>> c
5.5

同样都是int数据,但是Python3就会自动识别出,数据类型将要发生变化,只要是除法运算,返回值都是float数据类型。

 

 

 

 

你可能感兴趣的:(Python,学习笔记)