[Python] 파이썬 기본 연산자(+, -, , /) 완벽 정리
![]() |
| ChatGPT 생성형 이미지 |
파이썬에서 가장 먼저 이해해야 할 기본 연산자 +, -, *, /의 개념과 동작 원리를 실제 예제로 단계별로 정리합니다. 계산 결과가 왜 그렇게 나오는지 정확히 설명합니다.
파이썬을 처음 접할 때 가장 먼저 마주치는 요소는 연산자입니다.
연산자는 숫자를 계산하기 위한 가장 기본적인 도구이며, 모든 프로그램의 출발점이라고 볼 수 있습니다.
하지만 많은 경우 +, -, *, /를 이미 알고 있다는 이유로 대충 넘어가게 됩니다.
이 과정에서 “왜 이런 결과가 나오는지”, “언제 문제가 생기는지”, “숫자가 아닌 값과 만나면 어떻게 동작하는지”를 정확히 이해하지 못한 채 다음 단계로 넘어가게 됩니다.
이 글의 목적은 단순히 연산자를 나열하는 것이 아닙니다.
각 연산자가 어떤 규칙으로 작동하는지, 어떤 상황에서 실수가 발생하는지, 어떤 형태로 활용되는지를 하나씩 분해해서 설명하는 데 있습니다.
특히 다음과 같은 부분을 중점적으로 다룹니다.
연산자의 기본 문법 구조
-
계산 순서와 결과가 달라지는 이유
-
정수와 실수 계산의 차이
-
연산자 사용 시 자주 발생하는 오류
이 과정을 통해 연산자를 “외워서 쓰는 도구”가 아니라, “이해하고 제어할 수 있는 도구”로 바꾸는 것이 목표입니다.
파이썬 기본 연산자의 구조 이해
파이썬의 기본 산술 연산자는 다음 네 가지입니다.
-
더하기
+ -
빼기
- -
곱하기
* -
나누기
/
이 연산자들은 두 개의 값(피연산자) 사이에 위치하여 계산을 수행합니다.
예를 들어 다음과 같은 구조입니다.
여기서 중요한 개념은 다음 세 가지입니다.
-
연산자는 항상 왼쪽 값과 오른쪽 값을 기준으로 동작합니다.
-
계산 결과는 새로운 값으로 생성됩니다.
-
기존 값은 자동으로 변경되지 않습니다.
이 구조를 이해하지 못하면, 변수 계산 과정에서 혼란이 생기기 쉽습니다.
연산 결과의 자료형 변화
파이썬 연산자의 또 다른 핵심은 결과의 자료형입니다.
이 경우 결과는 3.3333... 이며, 자료형은 실수(float) 입니다.
반면 다음은 다르게 동작합니다.
결과는 30이며 자료형은 정수(int) 입니다.
즉, 같은 숫자를 사용하더라도 연산자에 따라 결과의 형태가 달라질 수 있습니다.
이 차이를 이해하지 못하면 이후 계산에서 예상치 못한 오류가 발생합니다.
연산자 우선순위
파이썬은 수학과 동일한 연산 우선순위를 따릅니다.
-
곱하기
*, 나누기/ -
더하기
+, 빼기-
예제를 보겠습니다.
이 코드는 다음 순서로 계산됩니다.
-
5 * 2 = 10 -
10 + 10 = 20
만약 계산 순서를 바꾸고 싶다면 괄호를 사용해야 합니다.
이 경우 결과는 30이 됩니다.
더하기 연산자 + (직접 입력 + 중간값 디버깅)
-
a + b가 왜 합이 되는지 -
계산이 어디서 일어나고, 어디에 저장되는지
-
같은 변수로 다시 계산하면 어떤 흐름이 되는지
왜 이렇게 작동할까요?
-
result = a + b에서a + b가 먼저 계산됩니다. -
계산 결과(여기서는 10)가 만들어지고, 그 다음에
result에 저장됩니다. -
a와b는 “읽기만” 했기 때문에 값이 바뀌지 않습니다.
직접 디버깅 체크 포인트
a나b가 바뀌려면, 이런 형태가 있어야 합니다. a = a + b이때는
a + b를 계산해서 다시a에 넣기 때문에a가 바뀝니다.
예제 2. 빼기 연산자 - (값의 “방향” 규칙 확인 + 음수 디버깅)
-
total - used가 어떤 규칙을 따르는지 -
음수가 나오는 상황이 “오류”가 아니라 “규칙”임을 확인
-
값을 바꾸면서 결과가 어떻게 움직이는지 확인
코드
왜 이렇게 작동할까요?
-
빼기는 “차감”이 아니라 더 정확히 말하면 두 값의 차이를 구합니다.
-
규칙은 단순합니다: 왼쪽 값에서 오른쪽 값을 뺍니다.
-
따라서
10 - 14는-4가 됩니다. -
음수는 “계산 불가”가 아니라 “결과가 그 방향으로 갔다”는 뜻입니다.
직접 디버깅 체크 포인트
-
“남은 값(remain)” 같은 변수는 기준이 무엇인지가 항상 중요합니다.
-
기준이 바뀌면 같은
-인데도 의미가 달라지기 때문입니다.
-
예제 3. 곱하기 연산자 * (반복의 규칙 + 단계별 누적 디버깅)
-
곱셈이 왜 “반복된 더하기” 느낌으로 이해될 수 있는지
-
중간 과정이 궁금할 때 어떻게 디버깅하는지
-
실제로 값이 누적되는 흐름 확인
코드 (곱셈 기본)
코드 (반복 누적 디버깅: 곱셈이 어떤 느낌인지 확인)
