내 분야에서는 숫자를 정사각형으로 묶어서 함께 사용하고 결과의 제곱근을 취하는 것이 일반적입니다. 이것은 pythagorean theorem과 RMS 계산에서 이루어집니다.파이썬의 지수화 - math.pow 및 math.sqrt 대신 ** 연산자를 선호해야합니까?
는 NumPy와, 나는 수행 한 다음
result = numpy.sqrt(numpy.sum(numpy.pow(some_vector, 2)))
그리고이 같은 순수 파이썬 뭔가
이 예상된다 :result = math.sqrt(math.pow(A, 2) + math.pow(B,2)) # example with two dimensions.
그러나, 나는이 순수 파이썬 양식을 사용하고 한 이후 나는 그것을 훨씬 더 콤팩트하고 수입에 의존하지 않으며 겉으로는 동등한 것으로 생각한다.
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()가() **보다 읽기 쉽다고 생각하는 것. –
@Maxime, 나는 하나 더 나아가서'sqrt'와'from math import sqrt'를 사용한다. –