在我的領域中,對一些數字進行平方處理,將它們一起操作並取結果的平方根很常見。例如,這是在畢達哥拉斯定理和RMS計算中完成的。Python中的指數運算 - 我應該更喜歡**運算符而不是math.pow和math.sqrt嗎?
在numpy的,我也做了以下內容:
result = numpy.sqrt(numpy.sum(numpy.pow(some_vector, 2)))
而且在純Python像這樣的預期:
result = math.sqrt(math.pow(A, 2) + math.pow(B,2)) # example with two dimensions.
不過,我一直在使用這種純Python形式,因爲我發現它更小巧,獨立於進口,看似等價:
result = (A**2 + B**2)**0.5 # two dimensions
result = (A**2 + B**2 + C**2 + D**2)**0.5
我聽說過有些人認爲**
運營商是一種破解,並通過0.5
冪指數來平分數字是不太可讀的。但是我想問的是:
「是否有任何計算理由比第三個選擇前兩個選擇?」
感謝您的閱讀!
這可能是一個相關的線程 - http://stackoverflow.com/questions/327002/which-is-faster-in-python-x-5-or-math-sqrtx –
我傾向於認爲math.sqrt()比()** 0.5。 –
@Maxime更具可讀性,我會更進一步,只需在數學導入sqrt中使用'sqrt'。 –