본문 바로가기

Python

TypeError: can only concatenate str (not "int") to str 에러 해결하기

파이썬을 사용하다 보면 다양한 오류 메시지를 마주치게 됩니다. 그 중 "TypeError: can only concatenate str (not "int") to str"는 특히 초보자들이 자주 마주치는 오류 중 하나입니다.

 

에러의 원인

이 에러 메시지는 문자열(str)과 정수(int)를 '+' 연산자를 사용하여 연결(concatenate)하려 할 때 발생합니다. 파이썬에서는 동일한 데이터 타입끼리만 '+' 연산자로 연결할 수 있습니다. 즉, 문자열과 문자열은 연결할 수 있지만, 문자열과 정수는 그렇게 할 수 없습니다.

예를 들어, 아래와 같은 코드에서 이 오류가 발생합니다.

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

 

여기서 age는 정수형(int)이고, "나는 "과 "살입니다."는 문자열(str)입니다. 이 세 개를 '+' 연산자로 연결하려고 했기 때문에 오류가 발생한 것입니다.

 

해결 방법

이 오류를 해결하는 방법은 여러 가지가 있습니다. 가장 간단한 방법은 정수를 문자열로 변환하는 것입니다. str() 함수를 사용하여 정수를 문자열로 변환할 수 있습니다. 위의 예제를 수정하면 다음과 같습니다.

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

 

또 다른 방법은 문자열 포매팅을 사용하는 것입니다. 파이썬 3.6 이상에서는 f-스트링(f-string)을 사용할 수 있으며, 그 이전 버전에서는 format 메소드나 '%' 연산자를 사용할 수 있습니다. f-스트링을 사용한 예제는 다음과 같습니다.

age = 25
message = f"나는 {age}살입니다."

 

'Python' 카테고리의 다른 글

단축 평가(Short Circuit Evaluation) 이해하기  (2) 2024.01.30