소개
파이썬은 +
연산자를 사용하여 문자열 연결을 지원합니다. 대부분의 다른 프로그래밍 언어에서는 문자열을 정수(또는 기타 기본 데이터 유형)와 연결하면 언어가 그것들을 문자열로 변환한 다음 연결합니다.
그러나 파이썬에서는 +
연산자를 사용하여 문자열과 정수를 연결하려고 하면 런타임 오류가 발생합니다.
예제
우리는 +
연산자를 사용하여 문자열(str
)과 정수(int
)를 연결하는 예제를 살펴보겠습니다.
current_year_message = 'Year is '
current_year = 2018
print(current_year_message + current_year)
원하는 출력물은 다음과 같은 문자열입니다: Year is 2018
. 그러나 이 코드를 실행하면 다음과 같은 런타임 오류가 발생합니다:
Traceback (most recent call last):
File "/Users/sammy/Documents/github/journaldev/Python-3/basic_examples/strings/string_concat_int.py", line 5, in <module>
print(current_year_message + current_year)
TypeError: can only concatenate str (not "int") to str
그래서 파이썬에서는 어떻게 str
과 int
를 연결할까요? 이 작업을 수행하는 다양한 방법이 있습니다.
전제 조건
이 자습서를 완료하기 위해 다음이 필요합니다:
- Python 3을 설치하는 방법에 익숙합니다. 그리고 Python으로 코딩하는 것에 익숙합니다. Python 3에서 코딩하는 방법 시리즈 또는 Python용 VS Code을 사용합니다.
이 자습서는 Python 3.9.6에서 테스트되었습니다.
str()
함수 사용하기
int
를 str()
함수에 전달하면 str
로 변환됩니다:
print(current_year_message + str(current_year))
current_year
정수가 문자열로 반환됩니다: Year is 2018
.
%
보간 연산자 사용하기
printf 스타일의 문자열 포매팅을 사용하여 변환 사양에 값을 전달할 수 있습니다:
print("%s%s" % (current_year_message, current_year))
current_year
정수가 문자열로 보간됩니다: Year is 2018
.
str.format()
함수를 사용합니다.
문자열 및 정수의 연결에도 str.format()
함수를 사용할 수 있습니다.
print("{}{}".format(current_year_message, current_year))
current_year
정수가 문자열로 형변환됩니다: 연도는 2018년입니다
.
f-strings 사용하기
Python 3.6 이상 버전을 사용하는 경우 f-strings 도 사용할 수 있습니다.
print(f'{current_year_message}{current_year}')
current_year
정수가 문자열로 보간됩니다: 연도는 2018년입니다
.
결론
완전한 Python 스크립트 및 더 많은 Python 예제를 GitHub 저장소 에서 확인할 수 있습니다.
Source:
https://www.digitalocean.com/community/tutorials/python-concatenate-string-and-int