안녕하세요. 오늘은 파이썬(Python) 기본 문법 중에서 사칙연산 연산자 덧셈, 뺄셈, 곱셈, 나눗셈, 그리고 우선순위 등에 대해 알아보도록 하겠습니다.
파이썬(Python) 사칙연산 연산자
덧셈(더하기)는 + 연산자를 사용합니다.
>>> 10 + 3
13
뺄셈(빼기)는 - 연산자를 사용합니다.
>>> 10 - 3
7
곱셈(곱하기)는 * 연산자를 사용합니다.
>>> 10 * 3
30
나눗셈(나누기)는 / 연산자를 사용합니다.
>>> 10 / 3
3.3333333333333335
나눗셈의 정수 부분(정수 나누기)는 // 연산자를 사용합니다.
>>> 10 // 3
3
/ 연산자로 나누기를 하면, 소수점 이하까지 모두 출력합니다. 하지만 // 연산자로 나누기를 하면, 소수점 이하는 버리고 정수 부분의 몫만 출력합니다.
위의 예시에서는 10을 3으로 나눈 뒤, 소수점 이하의 0.3333333333333335는 제거하고 3만 출력하는 것을 볼 수 있습니다.
나눗셈의 나머지를 얻기 위해서는 % 연산자를 사용합니다.
>>> 10 % 3
1
즉 10을 3으로 나눈 뒤, 나머지 1을 출력합니다.
divmod() 함수
divmod() 함수를 사용하면 나눗셈의 몫과 나머지를 동시에 출력가능합니다.
>>> divmod(10 , 3)
(3, 1)
divmod 함수를 이용해 10을 3으로 나누라는 연산을 실행하면, 몫은 3, 나머지는 1을 동시에 출력합니다.
거듭 제곱은 ** 연산자를 사용합니다.
>>> 10 ** 3
1000
>>>2 ** 0.5
1.4142135623730951
>>>10 ** -2
0.01
>>>0 ** 0
1
ZeroDivisionError
0에서의 나눗셈 오류가 발생하면 ZeroDivisionError가 뜹니다.
>>> 10 / 0
ZeroDivisionError: division by zero
>>> 10 // 0
ZeroDivisionError: integer division or modulo by zero
>>> 10 % 0
ZeroDivisionError: integer division or modulo by zero
>>> 0 ** -1
ZeroDivisionError: 0.0 cannot be raised to a negative power
사칙연산 연산자의 우선순위
Python에서 우선 순위(계산 순서)는 일반적인 산수, 수학과 같다고 보시면 됩니다.
아래 두개의 표현식은 동일한 결과를 냅니다.
>>> 100 / 10 ** 4 + 2 * 5 - 7
3.01
>>> 100 / (10 ** 4) + (2 * 5) - 7
3.01
괄호 ()로 묶으면 그것부터 먼저 계산이 됩니다. 이것은 우리가 흔히 산수, 수학을 할때와 동일합니다.
댓글