본문 바로가기

프로그래밍/Python

[Python] TypeError: unsupported operand type(s) for

반응형

파이썬 초보가 겪을 수 있는 에러입니다.

unsupported operand type : 지원되지 않는 피연산자 타입 으로 번역이 됩니다.

파이썬의 기본연산이 불가능한 타입끼리 연산을 하려고 할 때 발생합니다. 예를 들어, 문자열에 숫자를 더하거나 뺄 수는 없을 것입니다. 이럴 때 발생합니다. 예를 몇 개 봅시다.

 

>>> 1 + "3"
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    1 + "3"
TypeError: unsupported operand type(s) for +: 'int' and 'str'

숫자 1과 문자열 "3"을 더하려 했기 때문에 에러가 발생했습니다. 

 

>>> a = input()
3
>>> a
'3'
>>> 1 + a
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    1 + a
TypeError: unsupported operand type(s) for +: 'int' and 'str'

input 함수로 입력을 받았습니다. 3을 입력으로 넣었습니다. 그런데, input 의 결과는 문자열 타입입니다. 즉, a 값은 숫자 3이 아닌, 문자열 "3"입니다. 1과 "3"을 더하려 했기 때문에 에러가 발생하였습니다.

 

>>> l = [ 1, 2, 3 ]
>>> 3 + l
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    3 + l
TypeError: unsupported operand type(s) for +: 'int' and 'list'

숫자(int)에 리스트 l 을 더하려 했기 때문에, unsupported operand type 에러가 발생했습니다.

728x90