파이썬 (그리고 일반적으로 다른 프로그래밍 언어도 마찬가지) 을 사용하여 수학 연산을 할때 조심해야 할 점이 있습니다. 그건 바로 어떠한 연산을 하느냐에 따라 실행되는 순서가 틀릴 수 있다는 점입니다.
다음의 코드를 예를 들어 보겠습니다.
result = 10 + 20 * 3
result 의 값을 예상해보세요.
아마 90이라고 생각하실 수 도 있으신데요, result 의 값은 70 입니다.
결과 값이 70인 이유는 * 이 + 보다 먼저 실행되기 때문입니다.
즉 20 * 3 이 먼저 실행된 후 그 결과 값인 60 에 10이 더해지기 때문에 70입니다.
파이썬 수학 연산 표현들의 순서는 다음과 같습니다.
( )
**
*, / , 그리고 %
+와 -
괄호 안에 포함된 연산이 가장 먼저 실행 되며, 그 다음은 ** , 그리고 곱하기 나누기, modulo가 실행되며 마지막으로 덧셈과 빼기가 실행 됩니다.
만일 실행되는 순서가 동일한 연산들이 있을 경우 (예를 들어 곱하기 와 나누기), 먼저 나오는 연산이 먼저 실행됩니다.
여기서 중요하게 기억해야 하는 점은 괄호 입니다. 괄호안에 포함된 연산은 항상 먼저 실행됩니다.
앞서 본 연산의 값을 70이 아닌 90으로 만들기 위해서는 괄호를 사용하면 됩니다.
result = (10 + 20) * 3
위의 result 값은 90이 됩니다. 덧셈을 괄호로 안에 넣었기 때문에 곱셈보다 먼저 실행되기 때문입니다.