1강 / 20강

변수 — 이름표를 붙인 상자

모든 자료구조의 가장 작은 조상

변수 — 이름표를 붙인 상자
변수는 이름표가 붙은 상자입니다. 상자 하나에 값 하나.

거대한 창고를 상상해 보세요. 컴퓨터의 메모리가 바로 그 창고입니다. 여러분이 95라는 숫자를 창고 바닥에 그냥 툭 던져 놓으면 어떻게 될까요? 1초 뒤에 그 숫자를 다시 찾으러 갔을 때, 그게 어디 있는지 알 방법이 없습니다.

그래서 우리는 상자에 담고, 상자에 이름표를 붙입니다. 이 "이름표 붙은 상자"가 바로 변수(variable)예요.

🏷️
이름표
변수 이름 점수
📦
상자
메모리 공간
🔢
내용물
값 95

자료구조(data structure)란 이 상자들을 어떤 모양으로 배치할 것인가에 대한 이야기입니다. 한 줄로 세울지, 위로 쌓을지, 나뭇가지처럼 뻗게 할지. 그 이야기를 시작하려면 먼저 상자 하나부터 확실히 알아야 합니다.

아래 셀의 ▶ 실행 버튼을 눌러 보세요. 코드를 직접 고쳐서 다시 실행해도 됩니다.

상자 3개를 만들고 내용물을 꺼내 봅니다.
Python 브라우저에서 실행

🎮 상자를 직접 만들어 보세요

이름표를 붙이고 값을 넣으면 창고에 상자가 생깁니다. 같은 이름표에 다른 값을 또 넣으면 어떻게 되는지 꼭 확인해 보세요. 그리고 학생 3명 관리해 보기를 누르면 왜 변수만으로는 힘든지 눈에 보입니다.

메모리 창고 — 이름표 붙은 상자를 직접 만들어 봅니다
불러오는 중…

그런데… 문제가 생깁니다

학생이 한 명일 때는 상자 3개면 충분했습니다. 그런데 우리 반 학생이 30명이라면?

학생 3명 = 상자 6개. 30명이면 상자 60개입니다.
Python 브라우저에서 실행

이름표에도 규칙이 있습니다

아무 이름이나 붙일 수는 없어요. 위 위젯에서 2반점수처럼 숫자로 시작하는 이름을 넣어 보면 파이썬이 거절합니다.

  • 숫자로 시작할 수 없습니다 — 1등 ✗ / 등수1 ✓
  • 공백을 쓸 수 없습니다 — 내 점수 ✗ / 내_점수 ✓
  • 파이썬이 이미 쓰는 낱말은 안 됩니다 — if, for, class …
  • 한글도 됩니다. 이 강의에서는 이해를 돕기 위해 한글 이름을 자주 씁니다.
type() 은 상자 안 내용물의 종류를 알려 줍니다.
Python 브라우저에서 실행
🤔 확인 문제
변수를 가장 정확하게 설명한 것은?
🤔 확인 문제
학생 30명의 점수를 변수만으로 관리할 때 가장 큰 문제는?