
지난 글에서는 파이썬으로 첫 코드를 실행해 봤어요. 이번에는 그 코드에 담기는 값을 저장하고 다루는 방법을 배워볼게요. 변수와 데이터 타입은 이름은 조금 낯설어도, 막상 써보면 어렵지 않습니다. 어? 이미 print("안녕")을 실행해 본 분이라면 문자열을 만난 셈이에요.
변수는 값을 꺼내 쓰기 위한 이름

변수는 데이터를 담아두고 다시 꺼내 쓰기 위해 붙이는 이름이에요. ‘그릇’이나 ‘상자’에 비유하면 이해하기 쉽죠. 예를 들어 점수를 여러 번 사용한다면 숫자를 매번 직접 쓰는 대신 이름을 붙여둘 수 있어요.
score = 95
print(score)
=는 수학에서처럼 양쪽이 같다는 뜻이 아니라, 오른쪽 값을 왼쪽 이름에 넣으라는 뜻입니다. 그래서 score = 95는 “score에 95를 저장한다”라고 읽으면 돼요. 변수에 값을 새로 넣으면 이전 값 대신 새 값이 담깁니다.
score = 95
score = 100
print(score) # 100
솔직히 말하면, 저는 처음에 =를 보고 양쪽 값이 같아야 하는 줄 알았어요. 코드를 실행하고 나서야 ‘아, 저장하는 표시구나!’ 했죠. 처음엔 헷갈려도 자연스러운 부분입니다.
숫자, 문자열, 불리언은 서로 다른 타입

값의 종류를 데이터 타입이라고 불러요. 파이썬에서 자주 만나는 기본 타입은 숫자, 문자열, 불리언입니다.
| 타입 | 예시 | 쓰임 |
|---|---|---|
정수 int |
7, -2 |
소수점 없는 수 |
실수 float |
3.14, 2.0 |
소수점이 있는 수 |
문자열 str |
"안녕", '파이썬' |
글자와 문장 |
불리언 bool |
True, False |
참 또는 거짓 |
문자열은 따옴표로 감싸야 해요. "42"는 글자이고 42는 숫자라서 서로 다른 값입니다. 불리언은 첫 글자를 대문자로 써야 합니다. true라고 쓰면 파이썬이 알아보지 못해요.
값이 어떤 타입인지 궁금하면 type()을 써보세요.
print(type(42)) # <class 'int'>
print(type("42")) # <class 'str'>
print(type(True)) # <class 'bool'>
숫자처럼 보여도 따옴표 안에 있으면 문자열이라는 점, 은근히 자주 헷갈려요. 나중에 연산할 때도 둘은 다르게 동작합니다.
변수 이름은 알아보기 쉽게 붙이기

변수 이름을 잘 지으면 코드를 읽기가 한결 편해져요. x보다 user_name처럼 값의 뜻을 담은 이름이 좋습니다. 파이썬에서는 보통 여러 단어를 밑줄로 연결해요.
user_name = "민지"
login_count = 3
is_logged_in = True
이름은 숫자로 시작할 수 없고, 중간에 공백을 넣을 수도 없습니다. user name 대신 user_name처럼 써요. if, for처럼 파이썬 문법에서 이미 쓰는 단어도 변수 이름으로 사용할 수 없습니다. 대소문자도 구분하므로 score와 Score는 서로 다른 이름이에요.
파이썬은 변수에 어떤 타입의 값을 넣었는지 실행 중에 알아서 판단합니다. 그래서 처음에 숫자를 넣었다가 나중에 문자열을 넣는 것도 가능해요.
value = 10
value = "열 개"
가능하다고 해서 자주 바꾸는 게 좋은 습관은 아니에요. 같은 이름이 숫자였다가 문장이 되면 코드를 읽는 내가 헷갈리거든요. 변수 하나에는 가능한 한 비슷한 역할의 값을 담아주세요.
타입을 바꾸고 싶을 때는 변환하기

숫자와 문자열은 서로 다른 타입이라 필요할 때 변환해야 해요. str()은 값을 문자열로, int()는 정수로, float()은 실수로 바꿉니다.
age_text = "20"
age = int(age_text)
print(age + 1) # 21
반대로 str(20)은 문자열 "20"을 만들어요. 단, 모든 문자열이 숫자로 바뀌는 건 아닙니다. int("스무 살")처럼 정수로 해석할 수 없는 값을 넣으면 오류가 나요. 그리고 int(3.8)은 반올림이 아니라 소수 부분을 버려 3이 됩니다. 어? 여기서 반올림을 기대했다가 결과를 보고 당황하는 경우가 꽤 있어요.
문자열과 숫자를 바로 더하는 것도 안 됩니다. 숫자로 계산하고 싶은지, 글자로 이어 붙이고 싶은지 먼저 정한 다음 타입을 맞춰주세요.
price = 1200
message = "가격은 " + str(price) + "원"
print(message)
지금 익힌 변수, 다음엔 계산에 써봐요
정리하면 변수는 값에 붙이는 이름이고, 데이터 타입은 그 값이 숫자인지 글자인지 알려주는 구분이에요. 코드를 읽을 때는 변수 이름, 저장된 값, 값의 타입을 차례로 보면 됩니다. 값의 타입이 맞는지도 살펴보면 오류를 찾는 데 도움이 돼요.
다음 글에서는 오늘 만든 숫자 변수로 더하기, 비교하기 같은 연산자를 살펴볼게요. 10과 "10"이 왜 다른 결과를 만드는지도 그때 더 또렷해질 거예요. 변수에 값을 넣어 간단히 실행해 보면서 마무리해봐요. 직접 한 번 틀려보는 게 제일 오래 기억에 남더라고요!
![]() | ![]() |


첫 댓글을 남겨보세요.