为什么这个例子中的内置运算符
4 **(1/2)
(即平方根操作)返回结果为1
而不是预期的2
?如果不能返回可接受的结果,它应该引发错误,但Python继续工作而没有崩溃。至少在Python 2.7.4 64位分布中如此。
使用数学函数pow(4,1/2)
也会发生这种情况,它返回1
而没有出现错误。
相反,当执行4 **(0.5)
时,它将返回正确的结果2.0
,尽管它在没有任何警告的情况下混合整数和浮点数。 pow也是如此。
对于这些行为有什么解释吗?它们应该被视为错误吗?