gra*_*tur 5 python floating-point
我正在看一些Python numpy代码,其中包含类似的行
a = 1. # later on, `a` is multiplied by other floats
x *= -1.
(从我希望正确理解,1.相当于1.0).
没有任何理由这样做了a = 1和x *= -1?我可以理解它,如果我将要分割a并x稍后使用整数,这样我就不必担心忘记将它们转换为浮点数(假设我希望由于除法而返回一个浮点数) ,还有其他原因吗?
例如,如果我知道它a最终会以浮点形式结束,那么从性能上来说,从一开始就将它初始化为浮点数会更好吗?或者这只是为了清楚(明确说明a并且x都是浮动)?
这非常清楚.
虽然将float乘以整数可能会导致性能损失很小(将整数转换为float),这取决于编译器,也不应该担心(除非你做了很多这样的操作) .
但是,为了清晰起见,它肯定会得分.最后,您确实将浮点数乘以浮点数,并且没有理由隐藏这一事实.如果a并且x意味着是浮点值,则将它们设为浮点值.