[Python] TypeError: unsupported operand type(s) 오류, 초보자도 쉽게 해결하는 법
![]() |
| < Python 오류 해결 > |
Python에서 TypeError를 처음 만나셨나요? 걱정 마세요, 쉽게 해결할 수 있습니다!
안녕하세요, Python 초보자 여러분! 코딩을 하다 보면 갑자기 오류 메시지가 튀어나와 당황스러울 때가 있죠? 오늘은 그중에서도 자주 만나는 TypeError: unsupported operand type(s) 오류를 초보자도 이해하기 쉽게 설명하고, 해결 방법을 알려드릴게요. 이 글을 읽고 나면 "아, 이거였구나!" 하면서 자신 있게 코드를 고칠 수 있을 거예요!
이 오류는 뭐야?
TypeError: unsupported operand type(s)는 한국어로 번역하면 "지원되지 않는 타입 간의 연산"이라는 뜻이에요. 쉽게 말해, Python이 "이 두 가지를 이렇게 계산할 수 없어요!"라고 말하는 거죠. 예를 들어, 숫자와 문자열을 더하려고 하면 Python이 혼란스러워해요.
예시를 볼까요?
a = "5" # 문자열
b = 3 # 숫자
print(a + b) # 에러! TypeError: unsupported operand type(s) for +: 'str' and 'int'
위 코드는 "5"(문자열)와 3(숫자)을 더하려고 해서 에러가 났어요. Python은 문자열과 숫자를 더하는 법을 모르거든요!
왜 이런 오류가 생길까?
![]() |
| < TypeError 코드 분석 > |
이 오류는 보통 서로 다른 데이터 타입을 잘못 섞어서 연산할 때 발생해요. Python에서 자주 쓰이는 데이터 타입은:
- 숫자:
int(정수, 예: 3),float(소수, 예: 3.14) - 문자열:
str(예: "hello") - 리스트:
list(예: [1, 2, 3])
예를 들어, 문자열 "5"와 숫자 3을 더하려고 하면 Python이 "이건 어떻게 해야 할지 모르겠어!"라고 하며 오류를 뱉는 거예요.
해결 방법, 이렇게 쉬울 수가!
이 오류를 고치는 방법은 간단해요. 데이터 타입을 맞춰주면 Python이 행복해진답니다! 아래 단계별로 해결법을 알려드릴게요.
1. 오류 메시지 읽기
오류 메시지는 Python이 우리에게 보내는 힌트예요. 예를 들어:
TypeError: unsupported operand type(s) for +: 'str' and 'int'
이 메시지는 + 연산에서 문자열(str)과 숫자(int)가 문제라고 말해줘요. 어떤 변수가 문제인지 먼저 찾아봅시다.
2. 데이터 타입 확인하기
변수의 타입을 확인하려면 type() 함수를 써보세요.
a = "5"
b = 3
print(type(a)) # <class 'str'>
print(type(b)) # <class 'int'>
a는 문자열, b는 숫자라는 걸 알았어요!
3. 타입 변환하기
이제 타입을 맞춰줍시다. 두 가지 선택지가 있어요:
- 숫자로 만들기: 문자열
"5"를 숫자로 바꾸려면int()또는float()를 사용. - 문자열로 만들기: 숫자
3을 문자열로 바꾸려면str()를 사용.
예시로 고쳐볼게요:
a = "5"
b = 3
# 숫자로 계산하고 싶을 때
print(int(a) + b) # 출력: 8
# 문자열로 붙이고 싶을 때
print(a + str(b)) # 출력: "53"
4. 입력값 조심하기
input() 함수로 사용자 입력을 받으면, 입력값은 항상 문자열로 들어와요. 예를 들어:
num = input("숫자를 입력하세요: ") # "10" 입력
print(num + 5) # 에러!
이럴 땐 int()로 변환해줘야 해요:
num = int(input("숫자를 입력하세요: ")) # "10" → 10
print(num + 5) # 출력: 15
5. 예외 처리로 안전하게
사용자가 숫자 대신 문자를 입력할 수도 있죠. 그럴 때를 대비해 try-except를 써보세요:
try:
num = int(input("숫자를 입력하세요: "))
print(num + 5)
except ValueError:
print("숫자를 입력해주세요!")
이렇게 하면 코드가 더 튼튼해져요!
실전 예제: 오류 고쳐보기
![]() |
| < TypeError 수정 예제 > |
price = "1000" # 상품 가격 (문자열)
tax = 0.1 # 세금 (소수)
total = price * (1 + tax) # 총액 계산
print(total)
이 코드는 price(문자열)와 tax(소수)를 곱하려고 해서 에러가 나요. 고쳐볼까요?
price = int("1000") # 문자열을 숫자로 변환
tax = 0.1
total = price * (1 + tax)
print(total) # 출력: 1100.0
짜잔! 이제 정상적으로 작동해요.
초보자를 위한 꿀팁
- 타입 확인 습관: 코드를 작성할 때
type(변수)로 타입을 자주 확인하세요. - 작은 테스트 먼저: 복잡한 코드라면, 작은 부분을 먼저 테스트해보세요.
- 에러 메시지 읽기: 에러 메시지는 무서워 보이지만, 사실 문제를 해결할 단서를 줘요.
- 구글링은 친구: 특정 오류가 이해 안 되면 "Python TypeError unsupported operand" 같은 키워드로 검색해보세요.
마무리
TypeError: unsupported operand type(s) 오류는 초보자도 쉽게 고칠 수 있는 문제예요. 핵심은 데이터 타입을 맞춰주는 것! 이 글을 통해 오류를 해결하는 방법을 익혔으니, 다음에 이 에러를 만나도 당황하지 마세요.
궁금한 점이나 더 설명이 필요한 부분이 있다면 댓글로 남겨주세요. 여러분의 Python 여정이 더 즐거워지길 응원합니다! 🚀


