Unit 10. 산술 연산자 알아보기

'Unit 5 숫자 계산하기'에서 간단한 사칙연산을 해보았습니다. 이번에는 파이썬에서 제공하는 다양한 산술 연산자를 사용해보겠습니다.

10.1 산술 연산자 사용하기

먼저 기본적인 산술 연산자부터 사용해보겠습니다.

>>> 10 + 20    # 덧셈
30
>>> 10 - 20    # 뺄셈
-10
>>> 10 * 20    # 곱셈
200

덧셈, 뺄셈, 곱셈은 특별한 것이 없습니다. 하지만 나눗셈은 두 가지가 있습니다.

>>> 5 / 2    # 나눗셈
2.5
>>> 5 // 2   # 버림 나눗셈, 결과에서 소수점 이하는 버림
2

두 나눗셈의 결과가 조금 특이합니다. 5 / 2와 같이 /로 나누면 결과는 실수 2.5가 나오지만 5 // 2와 같이 //로 나누면 1이 나옵니다. 즉, //은 결과에서 소수점 이하는 버립니다.

'Unit 5 숫자 계산하기'에서 나눗셈의 결과를 정수로 만들려면 int(5 / 2)처럼 int를 사용하라고 했었죠? 이제 나눗셈의 결과를 정수로 만들려면 버림 나눗셈 연산자 //를 사용하면 됩니다. 파이썬 3에서는 / 연산자의 결과가 실수로 나오도록 정했으므로 정수를 얻기 위한 // 연산자가 따로 추가되었습니다.

>>> int(5 / 2)
2
>>> 5 // 2
2

이번에는 나머지와 거듭제곱입니다.

>>> 5 % 2      # 나머지
1
>>> 2 ** 10    # 거듭제곱
1024

%는 두 수를 나누었을 때 나머지만 구합니다(몫은 버림 나눗셈(//)으로 구할 수 있습니다). 참고로 %는 모듈로(modulo) 연산자라고 부릅니다.

**은 거듭제곱을 구합니다. 따라서 2 ** 10은 210을 뜻합니다.

참고 | 몫과 나머지를 함께 구하기

몫과 나머지를 함께 구하려면 divmod를 사용하면 됩니다.

>>> divmod(5, 2)
(2, 1)

5를 2로 나누었을 때 몫은 2, 나머지는 1입니다. divmod는 몫과 나머지를 튜플로 반환하는데 다음과 같이 변수 두 개에 넣을 수 있습니다. 튜플은 '‎Unit 22 리스트와 튜플 사용하기'에서 자세히 설명하겠습니다.

>>> quotient, remainder = divmod(5, 2)
>>> print(quotient, remainder)
2 1

계산을 하다 보면 부호를 붙여야 하는 경우도 생깁니다. 이때는 값이나 변수 앞에 양수, 음수 부호를 붙이면 됩니다.

>>> x = -10
>>> +x
-10
>>> -x
10

양수, 음수 부호 붙이기는 수학 시간에 배운 내용과 같습니다. -10에 + 부호를 붙이면 부호의 변화가 없고, -10에 - 부호를 붙이면 양수 10이 됩니다.