这是个入门知识,我记录下。


 

在python中,默认情况下,如果表达式中全是整型,结果也会仅仅是整型。有时候没注意会出现意想不到的结果,比如:

>>> a = 7
>>> b = 3
>>> c = a/b
>>> print c
2

有时候一不小心会造成一定错误,所以需要得到浮点精度的结果时,表达式中必须要有浮点类型时才行。

如果是常数,可以通过加.0来解决,比如

>>> print 7.0/3
2.33333333333

如果全是变量,可以使用float函数转换,或者*1.0,比如

>>> a = 7
>>> b = 3
>>> print float(a)/b
2.33333333333
>>> print a*1.0/b
2.33333333333

但是记得在第一位的时候就开始转换,否则依然会出现问题,比如

>>> a=7
>>> b=3
>>> c=2
>>> print a/b*float(c)
4.0
>>> print float(a)/b*c
4.66666666667