Application/Python

[Python] 파이썬 자료형 정리: 숫자, 문자열, 불리언 쉽게 이해하기 (python data type)

devsalix 2026. 4. 16. 07:54
728x90

파이썬 자료형 정리: 숫자, 문자열, 불리언 쉽게 이해하기 (python data type)

지난 글에서 변수를 배우면서 age = 25, name = "민수" 이런 코드를 썼잖아요. 근데 잠깐 생각해보면, 25는 숫자고 "민수"는 글자예요. 이 둘은 생긴 것도 다르고, 할 수 있는 것도 달라요.

이렇게 값의 종류를 자료형이라고 불러요.

파이썬에서 가장 기본이 되는 자료형은 딱 세 가지예요. 숫자, 문자열, 불리언. 하나씩 보면 어렵지 않으니까 천천히 따라와 보세요.


파이썬 숫자형: 계산할 수 있는 값 (int, float)

숫자형은 말 그대로 숫자예요. 두 종류가 있거든요.

score = 100      # 정수(int) - 소수점 없는 숫자
weight = 67.5    # 실수(float) - 소수점 있는 숫자

 

여기서 한 가지 주의할 점이 있어요. 10이랑 10.0은 달라요. 소수점 하나 차이인데 파이썬은 이걸 다른 종류로 봐요.

숫자끼리는 계산이 돼요.

print(3 + 2)     # 5   (더하기)
print(10 - 4)    # 6   (빼기)
print(5 * 3)     # 15  (곱하기)
print(7 / 2)     # 3.5 (나누기)

 

나누기(/)는 좀 독특한데, 정수끼리 나눠도 결과가 항상 소수점이 붙어요. 6 / 2를 하면 3이 아니라 3.0이 나와요. 처음에 이거 보고 "왜 .0이 붙지?" 하고 헷갈리셨다면 정상이에요.


python 문자열: 따옴표로 감싼 모든 것 (str)

문자열은 따옴표로 감싼 텍스트예요. 작은따옴표든 큰따옴표든 상관없어요.

name = "민수"          # 큰따옴표 OK
greeting = '안녕하세요'  # 작은따옴표도 OK

 

문자열끼리는 +로 이어붙일 수 있어요.

print("파이" + "썬")        # 파이썬
print("하" * 3)             # 하하하

 

*로 반복도 돼요. "하"를 3번 반복하면 "하하하"가 되는 거죠.


숫자 10과 문자열 "10"은 완전 다르다

이게 진짜 중요해요.

print(10 + 5)       # 15  (숫자끼리 더하기 = 계산)
print("10" + "5")   # 105 (문자열끼리 더하기 = 이어붙이기)

 

겉보기에는 둘 다 10이지만, 따옴표가 있느냐 없느냐로 완전히 다른 결과가 나와요. 숫자 10은 계산이 되고, 문자열 "10"은 그냥 글자 1과 0이 나란히 붙어 있는 거예요.

전화번호를 생각해보세요. 010-1234-5678은 숫자처럼 생겼지만 계산하는 용도가 아니잖아요. 이런 건 문자열로 저장하는 게 맞아요.


불리언: True 아니면 False (bool)

불리언은 참(True) 또는 거짓(False), 딱 두 가지만 있어요.

is_student = True     # 학생인가요? 네
is_adult = False      # 성인인가요? 아니요

 

비교할 때 자동으로 불리언이 나와요.

print(5 > 3)     # True   (5가 3보다 크니까 참)
print(10 == 7)   # False  (10이랑 7은 같지 않으니까 거짓)
print(3 != 3)    # False  (3이랑 3은 같으니까, "같지 않다"는 거짓)

 

여기서 주의할 게 하나 있어요. True, False는 첫 글자가 반드시 대문자여야 해요. 소문자로 true라고 쓰면 에러가 나요. 처음에 이거 때문에 에러 나시는 분들이 꽤 있더라고요.


type()으로 자료형 확인하기

헷갈리면 type() 함수로 확인해볼 수 있어요.

print(type(10))       # <class 'int'>    정수
print(type(3.14))     # <class 'float'>  실수
print(type("안녕"))    # <class 'str'>    문자열
print(type(True))     # <class 'bool'>   불리언

 

int는 정수, float는 실수, str는 문자열, bool은 불리언이에요. 지금 당장 다 외울 필요는 없고, "이런 게 있구나" 정도면 충분해요.


자료형 바꾸기: 형변환

가끔 자료형을 바꿔야 할 때가 있어요. 예를 들어, 문자열 "25"를 숫자 25로 바꾸고 싶다면요.

num = int("25")       # 문자열 "25"를 정수 25로 변환
print(num + 5)        # 30

price = str(3000)     # 숫자 3000을 문자열 "3000"으로 변환
print("가격: " + price + "원")   # 가격: 3000원

rate = float("3.14")  # 문자열 "3.14"를 실수 3.14로 변환
print(rate + 1)        # 4.14

 

int()는 정수로, str()은 문자열로, float()는 실수로 바꿔주는 함수예요.

문자열이랑 숫자를 +로 합치면 에러가 나거든요.

print("나이: " + 25)
# TypeError: can only concatenate str (not "int") to str

 

이럴 때 str(25)로 숫자를 문자열로 바꿔주면 해결돼요. 형변환은 다음 글에서도 정말 많이 쓰이니까 기억해두세요.


직접 해보기

아래 코드를 실행해보고, type()으로 각 변수의 자료형을 확인해보세요.

# 변수 만들기
my_name = "홍길동"
my_age = 25
my_height = 175.5
is_beginner = True

# 자료형 확인하기
print(type(my_name))      # 뭐가 나올까요?
print(type(my_age))       # 뭐가 나올까요?
print(type(my_height))    # 뭐가 나올까요?
print(type(is_beginner))  # 뭐가 나올까요?

# 도전: 나이에 1을 더해서 "내년 나이"를 출력해보세요
next_age = my_age + 1
print(my_name + "님의 내년 나이: " + str(next_age) + "살")

 

str(next_age) 부분을 빼고 실행하면 어떤 에러가 나는지도 한번 확인해보세요. 직접 에러를 만나봐야 나중에 안 당황해요.

 

자료형, 이제 감이 좀 오시죠? 근데 실제로 프로그램을 만들려면 사용자한테 뭔가를 입력받아야 하잖아요. 그때 쓰는 게 input() 함수인데, 재밌는 게 있어요. input()으로 받은 값은 숫자를 입력해도 무조건 문자열이에요. 오늘 배운 형변환이 바로 거기서 써먹게 돼요.


 


제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

 

 
728x90