더북(TheBook)

아이디를 입력하니 원하던 결과가 출력됩니다. 명령어 안에 명령어를 사용했는데 이것이 어떻게 가능할까요? 더 이해하기 쉽게 익숙한 수학 연산을 예로 들어 보겠습니다.

사칙연산의 순서는 곱하기 = 나누기 > 더하기 = 빼기입니다. 그리고 곱하기와 나누기보다 더 먼저 계산되는 것이 바로 괄호입니다. 실제 수식으로 봅시다.

((3 + 7) - 2) / 10

괄호 안에 괄호가 또 있네요. 이럴 경우 알다시피 가장 안쪽 괄호를 먼저 계산한 후, 바깥 괄호를 계산하는 것이 원칙입니다. 가장 안쪽 괄호 (3 + 7)은 10이니 (3 + 7)을 10으로 대체해 보겠습니다.

(10 - 2) / 10

괄호가 여전히 하나 남았네요. 만약 괄호가 없다면 나눗셈이 뺄셈보다 먼저 계산되지만, 지금은 뺄셈이 괄호 안에 있으니 (10 - 2)를 먼저 계산합니다. (10 - 2)는 8이 되고, 다시 수식에 반영하면 8 / 10이 되므로 최종 결과는 0.8입니다.

앞에서 작성한 명령어를 다시 볼까요? print() 명령어 안에 input() 명령어가 있는 형태지요. 이럴 때는 print()의 괄호 안에 있는 input() 명령어가 먼저 실행되고 그 후에 바깥에 있는 출력 명령어가 실행됩니다. 여러 개의 괄호가 있는 수식에서 가장 안쪽 괄호를 먼저 계산한 후에 바깥쪽 괄호를 계산하는 것처럼요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.