使用"x*= -1"的优点.超过"x*= -1"?

gra*_*tur 5 python floating-point

我正在看一些Python numpy代码,其中包含类似的行

a = 1. # later on, `a` is multiplied by other floats
x *= -1.
Run Code Online (Sandbox Code Playgroud)

(从我希望正确理解,1.相当于1.0).

没有任何理由这样做了a = 1x *= -1?我可以理解它,如果我将要分割ax稍后使用整数,这样我就不必担心忘记将它们转换为浮点数(假设我希望由于除法而返回一个浮点数) ,还有其他原因吗?

例如,如果我知道它a最终会以浮点形式结束,那么从性能上来说,从一开始就将它初始化为浮点数会更好吗?或者这只是为了清楚(明确说明a并且x都是浮动)?

Ken*_*nde 6

这非常清楚.

虽然将float乘以整数可能会导致性能损失很小(将整数转换为float),这取决于编译器,也不应该担心(除非你做了很多这样的操作) .

但是,为了清晰起见,它肯定会得分.最后,您确实将浮点数乘以浮点数,并且没有理由隐藏这一事实.如果a并且x意味着是浮点值,则将它们设为浮点值.