프로그래밍언어/파이썬[Error]

[파이썬][Error] 024. TypeError - can only concatenate str (not 'int') to str

about_IT 2025. 5. 26. 02:02
728x90

TypeError: can only concatenate str (not 'int') to str 오류는 문자열(str)과 정수형(int)을 직접 덧붙이려고 할 때 발생하는 오류입니다. 파이썬은 타입이 다른 객체 간의 연산에 엄격하여, 문자열과 정수를 + 연산자로 연결하려고 하면 자동으로 형변환을 해주지 않습니다.

이 오류는 문자열과 숫자를 함께 출력하거나 메시지에 포함하려 할 때 자주 발생합니다. 문자열로 출력하려면 정수형 데이터를 먼저 문자열로 변환해야 합니다.

● 오류 발생 예시

age = 25
message = "나는 " + age + "살입니다."

위 코드는 age가 정수형이기 때문에 + 연산으로 문자열과 결합하려고 하면 오류가 발생합니다.

TypeError: can only concatenate str (not 'int') to str

● 해결 방법

  • str() 함수로 정수를 문자열로 변환
  • f-string을 활용한 문자열 포매팅
  • format() 메서드를 이용한 방식

● 올바른 코드 예시

age = 25
message = "나는 " + str(age) + "살입니다."
message = f"나는 {age}살입니다."
message = "나는 {}살입니다.".format(age)

위 세 가지 방법은 모두 문자열과 숫자를 문제 없이 결합할 수 있는 방법입니다.

● 자주 하는 실수

  • 숫자를 문자열로 변환하지 않고 바로 연결 시도
  • 문자열 처리 과정에서 다양한 타입이 혼합되는 경우
  • 사용자 입력을 문자열로 받아놓고 숫자 연산에 사용하려는 경우

● 결론

TypeError - can only concatenate str (not 'int') to str 오류는 문자열과 숫자 타입의 명확한 구분이 필요한 파이썬의 특성에서 비롯됩니다. 문자열 간 연결 시에는 반드시 모든 항목이 str 타입이어야 하며, 숫자 데이터는 str() 함수나 문자열 포매팅 기능을 이용해 명시적으로 문자열로 변환한 후 사용해야 합니다.

728x90