← 보드왕초보 코드 읽기 · 2/11
변수 — 이름표가 붙은 상자 ★★
변수(variable)는 값을 담아 두는 상자에 이름표를 붙인 거예요. x = 5는 "x라는 이름표 상자에 5를 넣어라"예요.
한 줄 정의
=는 "같다"가 아니라 "오른쪽 값을 왼쪽 상자에 넣어라"예요. 오른쪽을 먼저 계산하고, 그 결과를 왼쪽 이름표 상자에 넣어요.
비유
시약병에 라벨을 붙이는 것과 같아요. 라벨(x)이 붙은 병에 새 시약을 부으면 원래 들어 있던 시약은 없어져요. 변수에 새 값을 넣으면 이전 값은 사라져요.
x = 5
y = x + 2
x = 10
print(x, y)
n = 5
n = n + 1
print(n)
n += 2
print(n)
10 7
6
8
| 코드 줄 | 실행 후 상자 상태 |
|---|---|
x = 5 | x는 5 |
y = x + 2 | x(5)+2 = 7이 y에 들어가요. x는 5, y는 7 |
x = 10 | x가 10으로 바뀌어요. y는 그대로 7이에요 (한 번 계산해서 넣은 값이라 따라 바뀌지 않아요) |
print(x, y) | 쉼표로 이어 쓰면 한 줄에 칸을 띄워 찍어요 → 10 7 |
n = n + 1 | "지금 n에 1을 더해서 다시 n에 넣어라". 5 → 6 |
n += 2 | n = n + 2를 줄여 쓴 거예요. 6 → 8 |
왜 y가 안 바뀌나요? y에는 "그 순간 계산한 결과 숫자 7"이 들어갔을 뿐, "x+2라는 식"이 들어간 게 아니기 때문이에요. 시험에서 가장 흔한 함정이에요.
시험엔 이렇게 써요 — 이렇게 고르세요
변수가 둘 이상이면 시험지 여백에 변수표(x=?, y=?)를 만들어요. 한 줄 실행할 때마다 표의 값만 고쳐 쓰면 실수가 거의 없어요. +=는 "지금 값에 더해서 다시 넣기"예요.
잠깐 확인 — a = 3, b = a * 2, a = 100 을 차례로 실행하면 b는 얼마인가요?
6이에요. b는 a가 3일 때 계산한 6을 받았고, 나중에 a가 100이 되어도 따라 바뀌지 않아요.
다음 카드 → 숫자, 글자(문자열), 계산, 참과 거짓
자료: 2~4주차 · Week02/Week03 노트북(풀이포함) · 빅분02(2주차)·빅데이터03(3주차)·빅데이터04(4주차) 녹취