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이 됩니다.