변수와 데이터 다루기
변수와 데이터 다루기: “이 값은 여기다!” 감각 잡기
이전 글에서 오류 메시지 읽는 법까지 했잖아?
이제는 오류가 덜 나게 만드는 핵심, 바로 변수와 데이터 다루기로 들어가 보자. 솔직히 말하면, 변수만 제대로 잡아도 “아 왜 이게 저렇게 되지…?” 같은 멘붕이 확 줄어들어. 나도 예전에 변수 이름 대충 지었다가(대충… 진짜 대충) 프로젝트가 완전 꼬여서 한 시간 날린 적 있어. 지금 생각하면 웃기긴 한데, 그때는 진짜 눈물이… 음...
변수는 “통”이다 (너무 어렵게 생각 말기)
변수는 쉽게 말해 값을 저장해 두는 통이야.
통에 숫자도 넣고, 글자(문자열)도 넣고, 조건에 따라 바뀌는 값도 넣고… 그렇게 프로그램이 돌아가는 거지.
예를 들어:
age통에는 나이(숫자)를 넣어name통에는 이름(문자열)을 넣어- 계산 결과도 다시 통에 넣어두면 다음에 바로 써먹을 수 있어
변수 선언/대입: “이 통에 이 값을 넣어!”
언어 문법은 환경마다 조금씩 다르지만, 흐름은 거의 같아.
age = 20
name = "민수"
=는 “같다”가 아니라 “넣는다/대입한다” 느낌으로 보면 돼age라는 이름의 통에20을 넣고name이라는 통에"민수"라는 글자를 넣은 거야
아! 그리고 문자열은 보통 따옴표로 감싸는 경우가 많아.
따옴표 빼먹으면 컴퓨터가 “이게 뭔지 모르겠는데요?” 하면서 오류를 뿜어내거든.
여기서 팁 하나: 오류가 나면, 대개 “내가 따옴표를 빼먹었나?” “변수 이름 오타 났나?” 이 두 개가 진짜 흔해.
이전 글에서 배운 것처럼 메시지를 보고 거슬러 올라가면 금방 잡혀.
숫자 데이터: 정수/실수 느낌만 잡자
숫자는 크게 두 종류만 일단 감 잡자.
- 정수:
1, 2, 10, -3같은 “딱 떨어지는 숫자” - 실수:
3.14, 0.5같은 “소수점 있는 숫자”
x = 10 # 정수
y = 3.14 # 실수
여기까진 그냥 “아 숫자 넣는구나” 정도로만 기억해도 돼.
계산은 다음 글(2-2. 연산자와 계산 표현)에서 더 깔끔하게 다룰 거라서, 지금은 저장만 확실히 하면 충분해.
문자열 데이터: 글자는 따옴표로!
문자열은 “글자 덩어리”야. 예를 들면:
"안녕하세요""python""1234"(이건 숫자가 아니라 글자일 수 있어!)
text = "안녕하세요"
code = "1234"
오? 여기서 한 가지 함정이 있어.
code = "1234"처럼 따옴표로 감싸면, 컴퓨터 입장에서는 이게 숫자 1234가 아니라 글자 "1234"야.
나는 예전에 “이거 숫자겠지?” 하고 계산했는데, 결과가 이상하게 나와서 한참 헤맨 적이 있어. 사실 문자열이었거든… 솔직히 말하면 그때 내가 좀 멍청했어. 큐ㅠ
변수 이름 규칙(오타 방지용 꿀팁)
변수 이름은 마음대로 지어도 되지만, 나름 규칙을 지키는 게 좋아.
- 영어로 짓는 걸 추천:
userName,totalPrice - 띄어쓰기 없이:
totalPrice(이런 식) - 숫자로 시작하지 않기:
1stValue이런 건 피하기 - 의미 있게 짓기:
x보다age,score가 훨씬 편함
예시:
age = 25
score = 100
변수 이름이 의미 있으면, 나중에 내가 코드를 다시 봐도 “아 내가 뭘 넣었더라?”가 바로 떠올라.
이게 은근히 큰 차이를 만들어.
“타입” 감각: 값은 종류가 있다
여기서 한 마디만 하고 갈게.
컴퓨터는 “변수에 들어있는 값이 어떤 종류인지”도 알아야 해. 그래서 보통 내부적으로 타입(형태)이 있어.
- 숫자 타입
- 문자열 타입
- 불리언 타입(참/거짓) 같은 것들…
지금은 깊게 안 들어가도 돼. 다만 이런 느낌만 기억하면 좋아:
값은 다 같은 게 아니고, 종류에 따라 행동이 달라진다.
그래서 예를 들어:
- 숫자는 계산이 되고
- 문자열은 글자를 붙이거나(이따 연산 글에서 다룸) 다루는 쪽으로 쓰인다
잠깐 실습: 변수로 한 문장 만들어보기
자, 이제 진짜로 “통에 뭐 넣고, 다시 꺼내서 출력해보기”까지 해보자.
name = "지민"
age = 22
print(name + "의 나이는 " + str(age) + "살입니다.")
여기서 str(age)가 살짝 등장했지?
이건 “나이를 문자열로 바꿔서 문장에 붙이기 위해” 쓰는 거야.
처음엔 이런 변환이 귀찮을 수 있어. 나도 처음엔 “왜 자꾸 바꿔야 해?” 했는데, 사실 이건 컴퓨터가 완전 기계적이라서 그래.
숫자와 문자열은 섞는 방식이 달라서, 딱 맞춰줘야 하는 거지.
자주 만나는 실수 3가지 (나처럼 헤매지 말자)
- 따옴표 빼먹기
name = 민수 # 오류 가능 - 변수 이름 오타
age = 20 print(aeg) # age를 aeg로 써버림… - 숫자인 줄 알았는데 문자열이었음
price = "1000" # 이건 문자열!
솔직히 말하면, 이 3개는 거의 모든 초보가 한 번씩 겪는 루틴이야.
그래서 겁먹지 말고, 오류 메시지만 차분히 따라가면 잡히더라. (이전 글이 여기서 빛을 발함!)
다음 글 예고: 2-2. 연산자와 계산 표현
지금까지는 “값을 저장하는 통(변수)”을 잡았고, 종류(숫자/문자열)도 대충 구분했어.
이제 다음 단계는 진짜 재밌는 부분!
- 변수에 저장된 값을 계산해서
- 결과를 다시 변수에 넣고
- 우리가 원하는 로직을 만들어가는 과정
바로 2-2. 연산자와 계산 표현에서 시작할 거야.
다음 글도 같이 가자.
코딩은 이렇게 한 단계씩 쌓이면, 어느 순간 “어? 내가 말을 한 대로 컴퓨터가 움직이네?” 그 느낌이 와!




