C
Python/입문/Lesson 03

자료형 (Data Types)

30min·theory
이 챕터
2/7
Python

자료형 (Data Types)

🎯 이 lesson 을 읽고 나면

이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.

  • ✅ int · float · str · bool · list · tuple · dict · set 8종
  • ✅ mutable vs immutable (list ↔ tuple, dict ↔ frozenset)
  • ✅ 타입 힌트 (int, str, list[int]) 표기법

학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.

Python 자료형 5가지 — 코드 + 실행 결과

Python 의 모든 값은 객체. type() 으로 어떤 타입인지 확인 가능.


1. int — 정수 (제한 없음)

python
나이 = 28
큰_수 = 10 ** 100      # 10 의 100 제곱 — Python 은 *임의 정밀도*

print(type(나이))      # <class 'int'>
print(나이 + 1)        # 29
print(큰_수)           # 10000...000 (100 개 0)

다른 언어 (Java·C) 는 int 가 32bit 또는 64bit 한계 있지만 Python 은 메모리 한도까지 무제한.


2. float — 실수 (소수점)

python
키 = 175.5
파이 = 3.14
print(0.1 + 0.2)       # 0.30000000000000004 ← ⚠️ 부동소수점 함정!

# 정확하게 비교하려면
import math
print(math.isclose(0.1 + 0.2, 0.3))   # True

0.1 + 0.2 ≠ 0.3 인 이유: 컴퓨터는 2진수라 10진 소수를 정확히 못 표현. 금융 계산은 Decimal 모듈 사용.


3. str — 문자열 (Unicode)

python
이름 = "홍길동"
인사 = '안녕'              # 작은따옴표·큰따옴표 둘 다 OK
긴_글 = """여러
줄짜리"""                  # 삼중 따옴표

print(len(이름))          # 3 (글자 수)
print(이름 + " " + 인사)  # 홍길동 안녕
print(이름 * 3)           # 홍길동홍길동홍길동
print(f"이름은 {이름}")   # 이름은 홍길동 (f-string)

+이어붙이기, 반복*.


4. bool — 참/거짓

python
학생 = True
졸업 = False

print(학생 and 졸업)     # False (둘 다 True 일 때만)
print(학생 or 졸업)      # True (둘 중 하나만 True 면)
print(not 학생)          # False (반대로)

# 숨은 사실: bool 은 int 의 자식
print(True + True)       # 2
print(sum([True, False, True]))   # 2

5. None — 값이 없음

python
결과 = None              # "아직 값 없음" 표시

if 결과 is None:         # ⚠️ `==` 가 아닌 `is` 사용
    print("값 없어요")

함수가 return 안 하면 자동으로 None 반환. JavaScript 의 null 과 비슷.


6. 자료형 변환 (캐스팅)

python
# 문자열 → 숫자
나이_문자 = "28"
나이 = int(나이_문자)    # 28
print(나이 + 1)          # 29

# 숫자 → 문자열
점수 = 95
print("점수: " + str(점수))   # "점수: 95"

# 함정 — 소수점 글자 직접 int() 안 됨
# int("3.14") → ValueError
print(int(float("3.14")))    # 3 (int 가 잘림)

input() 결과는 항상 문자열 — 숫자로 쓰려면 int() / float() 변환 필수.


한 줄 요약

타입예시용도
int28정수
float3.14소수점
str"hello"글자
boolTrue / False참·거짓
NoneNone값 없음

type(x) 로 항상 확인 가능.

💻 자료형 실습
# 4가지 기본 자료형
age = 25              # int (정수)
height = 175.5        # float (소수)
name = "김코딩"        # str (문자열)
is_student = True     # bool (참/거짓)

# 자료형 출력
print(type(age))       # <class 'int'>
print(type(height))    # <class 'float'>
print(type(name))      # <class 'str'>
print(type(is_student))# <class 'bool'>

# 문자열 + 숫자 합치기 (str() 변환 필요!)
print("나이: " + str(age))     # ✅
# print("나이: " + age)        # ❌ 에러! 문자열 + 숫자는 직접 못 더함

🐍 실행해보기 — 자료형 (Data Types)

위 개념을 실제로 코드로 실행해보세요. 값을 바꿔가며 어떻게 동작하는지 직접 확인하는 게 가장 빠른 학습.
✏️ Python 코드
📟 콘솔 출력
▶ 실행 버튼을 눌러보세요
🐍 Pyodide로 실제 Python 실행 — 첫 실행 시 로딩 3~5초 소요

🤖 AI 에게 이렇게 요청해보세요

이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰 절약의 출발점입니다.

  • "이 dict 작업을 dataclass 로 리팩토링해줘"
  • "이 변수들에 타입 힌트 추가해줘"

왜 이게 토큰을 줄이나

개념을 모를 땐 AI 답변을 받고도 "그게 뭐예요?" 를 다시 물어야 합니다. 그 "다시 물음" 이 토큰을 잡아먹습니다. 개념 한 번 익혀두면 대화가 한 번에 끝납니다.

먼저 읽으면 좋은 개념: Python이란?
자료형 (Data Types) - Python