산술 연산자

더하기, 빼기, 곱하기, 나누기 등의 기본 산술 계산을 위한 연산자에 관해서 알아봅시다,

기본 산술 연산자

Python이 지원하는 기본적인 산술 연산자는 아래와 같습니다.,

기호

연산자

의미

x + y

더하기

x와 y를 더한다.

x - y

빼기

x에서 y를 뺀다.

x * y

곱하기

x와 y를 곱한다.

x / y

나누기

x를 y로 나눈다.

x // y

나누기

x를 y로 나눈다. 단, 결과는 정수로 표현

x ** y

지수승

x의 y승을 구한다.

x % y

나누기

x를 y로 나눈 나머지를 구한다.

위의 기본 산술 연산자로 간단한 사용법을 배워보겠습니다. 그렇다면 아래 내용을 동작시켜서 결과를 확인해 보도록 하겠습니다.

add = 10 + 25
sub = 45 - 19
mul = 9 * 9
div = 3 / 2
div_int = 3 // 2
exp = 10 ** 3
mod = 3 % 2

print(add)
print(sub)
print(mul)
print(div)
print(div_int)
print(exp)
print(mod)

복합 대입 연산자

위에는 간단한 연산자인데, 가끔은 특정 변수에 해당 변수와 특정한 수의 연산을 하여 다시 넣는 경우가 있습니다. 예를 살펴보면 다음과 같습니다.

num1 = 10
num1 = num1 + 20
print(num1)

num2 = 10
num2 += 20
print(num2)

num1과 num2를 동작시켜보면 동일한 결과가 출력됩니다. 이와 같은 것을 복합 대입 연산자라고 합니다. 복합 대입 연산자는 기본 산술 연산자라면 모든 지원되는 내용입니다.

연산자

의미

x += y

x = x + y

x -= y

x = x - y

x *= y

x = x * y

x /= y

x = x / y

x //= y

x = x // y

x **= y

x = x ** y

x %= y

x = x % y

산술 연산자 우선순위

x = 20

x = x+3*10     # x = x + (3*10)
print(x)

y = 10 - 2 + 44 - 21
print(y)

z = (x + y ) ** 3
print(z)

수학에서도 연산자 우선 순위가 있듯이 Python에서도 우선 순위가 있습니다. 물론 괄호"( )"를 사용하면 헤갈릴 일은 없지만, 간혹 쓰여지지 않는 경우가 있습니다. 이 때에는 연산의 우선 순위에 따라서 진행됨을 기억해야 합니다. 다음은 산술 연산자의 우선순위입니다.

우선순위

연산자

참고

1

( )

괄호 안의 내용을 먼저 계산한다.

2

**

지수승

3

*, /, //, %

곱셈, 나눗셈

4

+, -

덧셈, 뺄

5

=, 복합 대입 연산자

대입 연사자와 복합 대입 연산자

참고! 일반적인 개발에서는 문제가 되지 않으나 Misra, Coverity, Jenkins 등과 같은 코드 검증 도구 등을 이용할 경우에는 연산에서 괄호가 빠진 경우 수정을 요구하기도 합니다. 이는 코드 가독성의 향상과 휴먼 에러(Human Error) 방지를 위합니다.

예제

  1. 복합 대입 연산자를 이용하여 1 부터 10 까지의 합을 구하십시오.

  2. 복합 대입 연산자를 이용하여 10!(10 팩토리얼)의 값을 구하십시오.

Last updated