[#3] 파이썬 프로그래밍의 기초가 되는 '자료형 - 숫자형'

'어떤 프로그래밍 언어든 그 언어의 자료형을 알고 이해할 수 있다면 이미 그 언어의 절반을 터득한 것이나 다름 없다'
라는 말이 있습니다.
자료형이란 프로그래밍을 할 때 쓰이는 숫자, 문자열 등과 같이 자료 형태로 사용하는 모든 것을 뜻하는데, 마치 사람의 뼈처럼 프로그램의 기본이 됨과 동시에 핵심이기도 합니다.
계산 프로그램을 만들려면 뭘 계산해야할지 알아야 하고, 데이터베이스를 만들려면 뭘 저장해야 할 것인지를 알아야 하는 것처럼요.
프로그래밍은 기본이 튼튼하게 잘 되어있어야 금방금방 실력이 늘기 때문에, 꼭 자료형은 확실히 체득하고 넘어가도록 합시다.
🔶 숫자형
숫자형(Number)이란 숫자 형태로 이루어진 자료형으로, 우리가 이미 잘 알고 있습니다.
우리가 흔히 사용하는 숫자인 123같은 정수, 1.50같은 실수를 말하며, 이러한 10진수 외에 2진수나 8진수, 16진수도 포함됩니다.
🔹정수형
정수형(integer)이란 말 그대로 정수를 뜻하는 자료형을 말합니다.
다음은 양의 정수와 음의 정수, 숫자 0을 변수 a에 대입하는 예시입니다.
a = 123
b = -321
c = 0
print(a, b, c)
위처럼 소숫점이 없는 정수는 0이든 양수든 음수든 상관없이 다 표현이 가능합니다.
🔹실수형
실수형(floating-point)이란 소수점이 포함된 숫자를 말합니다.
a = 1.5
b = -3.25
print(a, b)
🔹컴퓨터식 지수 표현 방식
숫자형은 '컴퓨터식 지수 표현 방식'으로도 사용할 수 있는데, 사용할때는 숫자형 뒤에 e나E를 붙여주고 그 뒤에 승수를 적어주면 됩니다.
예를들어 4의 6승을 나타내고 싶으면 4e6이나 4E6을 쓰면 되죠.
실수의 경우에도 3.25e10이나 3.25E10등으로 쓰면 3.25의 10승이 표현되겠죠?
a = 4E6
b = 6.13e15
print(a, b)

e나 E에 -를 붙이면 마이너스 승수가 됩니다.
예를 들어 4의 -6승을 나타내고 싶으면 4e-10이나 4E-10을 쓰면 되겠습니다.
a = 4e-6
b = 3.25E-3
print(a, b)

🔹 8진수
8진수(octal)를 만들기 위해서는 앞의 숫자가 0o 또는 0O(숫자 0 + 알파벳 대소문자 o, O)로 시작하면 됩니다.
예를들어 8진수를 통해 355라는 숫자를 만들어 실행하면? 10진수인 237로 바꿔주겠죠.
a = 0o355
a
작동원리는 이렇습니다.
숫자 앞에 0o를 써줌으로서 이 뒤에올 숫자가 8진수임을 명시해줬고 그 이후 8진수인 355를 쓰고 계산하라고 한 것이죠.
그럼 계산식은 이렇게 작동하게 됩니다.
3 x 8² + 5 x 8¹ + 5 = 237
이 진법에 대한 내용은 파이썬 강좌에선 따로 다루지 않겠습니다.
대신 컴퓨터 구조나 수학파트에서 이해하기 쉽게 다뤄보겠습니다.
🔹16진수
16진수(hexadecimal)를 만들기 위해서는 앞의 숫자가 0x(숫자 0과 알파벳 x)로 시작하면 됩니다.
예를들어 16진수로 0xabc라는 숫자를 실행하면? 10진수인 2748로 변환해줍니다.
16진수에선 뜬금없이 abc같은 알파벳이 등장하는데, 간단히 설명드리자면 아라비아 숫자는 0~9까지밖에 없어서 최대 10개밖에 표현하지 못하는데, 16진수는 그 수가 16개이기 때문입니다.
즉 16진수에서 10은 a, 11은 b, 12는 c, 13은 d, 14는 e, 15는 f로 표현됩니다.
a = 0xabc
a
작동원리는 이렇습니다.
숫자 앞에 0x를 써줌으로서 이 뒤에올 숫자가 16진수임을 명시해줬고 그 이후 16진수인 abc를 쓰고 계산하라고 한 것이죠.
그럼 계산식은 이렇게 작동하게 됩니다.
10 x 16² + 11 x 16¹ + 12 = 2748
마찬가지 16진수 변환도 여기선 따로 다루지 않겠습니다.
이 진수변환이 C언어에선 중요한데 파이썬에선 그다지 중요하지 않다는 이유도 있습니다.
🔶 숫자형 사칙 연산
프로그래밍을 한 번도 해본 적이 없는 사람이라도 사칙 연산(+, - , ×, ÷) 정도는 다 해봤을 겁니다.
파이썬 역시 계산기처럼 다음 연산자들을 사용해 사칙 연산을 수행할 수 있습니다.
a = 3
b = 4
a + b
7
a - b
-1
a * b
12
a / b
0.75
🔹x의 y제곱을 나타내는 **연산자
**연산자는 x ** y처럼 사용했을 때 x의 y제곱값을 출력합니다.
예시를 통해 알아보겠습니다.
a = 3
b = 4
a ** b
이는 풀어서 쓰면 a인 3을 4제곱하라는 뜻입니다. 즉 3⁴(3x3x3x3) = 81의 결과값이 나오는거죠.
🔹 나눗셈 후 나머지를 리턴하는 % 연산자
프로그래밍에서 %는 우리가 일반적으로 쓰는 나눗셈과는 기능이 다릅니다.
파이썬에서 %는 나눗셈의 나머지 값을 리턴하는 연산자입니다.
만약 7을 3으로 나누면 나머지는 1이 될 겁니다. 반대로 3을 7로 나누면 나머지는 3이 되겠죠.
7 % 3
1
이걸 그림으로 표현하면 아래와 같습니다. 그림으로 표현하니 꽤 익숙하죠??ㄹ

🔹나눗셈 후 몫을 리턴하는 // 연산자
일반적으로 파이썬에서 나누기는 /를 사용합니다.
그러니 /를 사용해 7나누기 4를 하면 그 결과는 예상대로 1.75가 나올 겁니다.
7 / 4
1.75
그런데 나눗셈 후 몫을 리턴하는 //를 사용하면 아래와 같은 결과가 나옵니다.
7 // 4
1
그 이유는 나눈 몫인 1.75에서 정수값에 해당하는 1만 리턴하기 때문입니다.

우리에게 친숙한 나눗셈 그림으로 보시면 이해가 더 잘 되실겁니다.
🔹 복합 연산자
복합 연산자는 앞서 살펴봤던 +,-와 같은 산술 연산자와 대입 연산자인 =를 합쳐 놓은 것입니다.
말로는 잘 이해가 안되니 예시를 통해 알아봅시다.
먼저 항상 하던대로 a라는 변수에 1을 넣어봅시다.
a = 1
이제 이 a의 값을 1만큼 증가시키기 위해선 아래처럼만 하면 됩니다.
a = a + 1
a
이렇게 하면 a+1로 계산된 값이 다시 변수 a에 대입되게 됩니다.
즉, 계속 실행버튼을 누르면 값이 계속 1씩 더해지게 되겠죠??
그런데 이 식은 아래처럼 복합 연산자를 통해서 더 간결하게, 그리고 기능은 동일하게 만들 수 있습니다.
a += 1
여기서 a += 1이라는 표현식은 a = a + 1을 줄여서 표현한 것이라 완전히 동일한 기능을 하게 됩니다.
여기서 쓰인 +=와 같은 연산자를 복합 연산자라고 부르죠.
복합연산자에는 +=말고도 아래처럼 다양한 것들이 있습니다.
(+=, -=, /=, //=, %=, **=)
이렇게 복합 연산자를 사용하면 코드를 더욱 간결하고 가독성 있게 작성할 수 있습니다.
🔶 AI 피드백
Q. 오늘은 파이썬 문법중에서 가장 중요하면서 기본이 되는 자료형에 대해 공부했어. 그 중 숫자형에 대해 공부했는데, 공부한 리스트는 아래와 같아.
정수형, 실수형, 컴퓨터식 지수 표현 방식, 8진수, 16진수, ** 연산자, % 연산자, // 연산자, 복합 연산자들.
뭐 응용하거나 그런건 아니고 아주 왕초보적인 내용만 배웠어. 예를들어 정수형이라고하면 a = 1, b = -23, c = 0 이정도 수준으로. 오늘 배운 내용이 어느곳에 어떻게 쓰이고, 왜 중요하고, 또 파이썬에서 얼마나 큰 비중을 차지하는지 얘기해 줄 수 있어?
A. 좋아요! 지금 공부한 숫자형 자료형과 기본 연산자들은 파이썬에서 가장 핵심적인 기초 중의 기초입니다. 왜 중요한지, 어디에 쓰이는지, 그리고 얼마나 자주 등장하는지 아래에 쉽게 정리해줄게요.
✅ 왜 중요할까?
파이썬으로 무언가를 만들 때(게임, 계산기, 웹사이트, 데이터 분석 등), 숫자를 다루지 않는 경우는 거의 없습니다.
숫자형 자료형은 프로그래밍의 "언어의 알파벳" 같은 존재예요.
🧩 어디서 쓰일까?
| 정수형(int) | 소수점 없는 숫자 | 나이, 수량, 횟수, 인덱스, 반복문 |
| 실수형(float) | 소수점 있는 숫자 | 과학계산, 통계, 금액(원/달러 등), 게임 좌표 |
| 지수 표현(e, E) | 매우 크거나 작은 숫자 표현 | 과학/천문/물리 시뮬레이션 |
| 8진수(0o) | 드물게 사용 | 예전 시스템, 특수한 비트 처리 |
| 16진수(0x) | 색상표현, 메모리 주소 등 | 그래픽, 시스템 개발, 게임 개발 |
| ** (제곱) | 수학 계산 | 수식, 통계, 알고리즘 |
| % (나머지) | 짝수/홀수 판별, 주기적 계산 | 캘린더, 게임 패턴, 반복 처리 |
| // (몫) | 정수 나눗셈 | 페이지 계산, 배분 |
| 복합 연산자 (+=, -= 등) | 코드 간결화 | 루프 안에서 누적, 반복적 증가/감소 |
🔄 얼마나 자주 쓰일까?
- 위에 있는 항목 중 정수형, 실수형, + - * / // % ** 연산자, 복합 연산자는
거의 모든 파이썬 코드에서 90% 이상 등장해요. - 특히 반복문과 조건문, 함수 안에서는 숫자형을 사용하지 않는 경우를 찾는 게 더 어려울 정도예요.
🔧 예시를 들면?
# 짝수 홀수 나눌 때
if number % 2 == 0:
print("짝수입니다")
#나이 계산
birth_year = 2000
age = 2025 - birth_year
#게임 캐릭터 체력 감소
hp = 100
hp -= 20 # 공격당함
#페이지 수 계산(10개씩 나눌 때)
total_items = 47
pages = total_items // 10 # 몫
🧠 마무리 요약
- 지금 배운 건 마치 문장을 쓰기 위한 단어와 문법을 익힌 거예요.
- 앞으로 배우게 될 조건문, 반복문, 함수, 클래스 등 모든 문법의 기본 단위가 바로 숫자형 자료형이에요.
- 잘 익혀두면 어떤 분야든 유리합니다. (게임 개발, 웹 서비스, 데이터 분석, AI 등)
원하면, 위 개념을 복습하거나 연습할 수 있는 초보자용 퀴즈나 실습 문제도 만들어 줄 수 있어요!