파이썬에서 문자열과 숫자를 연결하는 방법
파이썬에서는 문자열과 숫자를 + 연산자로 직접 연결할 수 없습니다. 서로 다른 자료형을 더하면 TypeError가 발생하기 때문입니다. 따라서 숫자를 먼저 문자열로 변환한 뒤 연결해야 합니다.
str() 함수로 숫자를 문자열로 변환하기
가장 기본적인 방법은 str() 함수를 사용해 숫자를 문자열로 캐스팅(casting)하는 것입니다.
>>> a = "string" >>> b = 1 >>> print(a + str(b)) string1
파이썬 2의 백틱(``) 사용법 (참고용)
파이썬 2에서는 백틱(backtick, ``)으로 숫자를 감싸면 자동으로 문자열로 변환되어 같은 결과를 얻을 수 있었습니다. 하지만 이 문법은 파이썬 3에서 완전히 제거되었으므로, 현재는 반드시 str()을 사용해야 합니다.
>>> a = "string" >>> b = 1 >>> print a + `b` string1
더 나은 대안: f-string과 format()
파이썬 3.6 이상에서는 f-string(f문자열)을 사용하는 것이 가장 권장되는 방식입니다. 코드가 간결하고 가독성이 뛰어나며, 여러 변수를 한 번에 조합할 수 있습니다.
>>> a = "string"
>>> b = 1
>>> print(f"{a}{b}")
string1
그 외에도 format() 메서드나 % 포매팅을 활용할 수 있습니다.
>>> print("{}{}".format(a, b))
string1
>>> print("%s%d" % (a, b))
string1
정리
- 문자열과 숫자를 직접
+로 연결하면 오류가 발생합니다. str(number)로 숫자를 문자열로 변환한 후 연결하세요.- 파이썬 2의 백틱 문법은 파이썬 3에서 삭제되었으므로 사용할 수 없습니다.
- 현대적인 파이썬 코드에서는 f-string을 사용하는 것이 가장 깔끔하고 효율적입니다.