시험공부빅데이터분석
← 보드왕초보 코드 읽기 · 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 = 5x는 5
y = x + 2x(5)+2 = 7이 y에 들어가요. x는 5, y는 7
x = 10x가 10으로 바뀌어요. y는 그대로 7이에요 (한 번 계산해서 넣은 값이라 따라 바뀌지 않아요)
print(x, y)쉼표로 이어 쓰면 한 줄에 칸을 띄워 찍어요 → 10 7
n = n + 1"지금 n에 1을 더해서 다시 n에 넣어라". 5 → 6
n += 2n = 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주차) 녹취