HOWTO · Python

Python에서 문자열에 문자 추가

이 튜토리얼은 Python에서 문자열에 문자를 추가하는 방법을 보여줍니다.

이 페이지의 내용

Python 문자열에 문자를 추가하려면 +로 연결하거나 포맷 문자열에 넣으면 됩니다. 문자는 한 글자로 이루어진 문자열로 표현합니다. Python 문자열은 불변이므로 이 연산은 새 문자열을 만들며 원래 문자열을 바꾸지 않습니다. 문자열 끝에 덧붙이는 것과 다른 위치에 삽입하는 것은 다릅니다. 다른 위치에 삽입하려면 해당 위치를 기준으로 원래 문자열을 슬라이스해야 합니다.

이 예제를 실행해 보세요:

이 섹션의 코드와 표시되는 레이블 또는 출력은 영어로 유지됩니다.

message = "Hello"
character = "!"
result = message + character
print(result)

Python에서 + 연산자로 문자열에 문자 추가하기

간단하게 문자열을 연결할 때는 +를 사용하세요. 두 피연산자는 모두 문자열이어야 합니다. 아래 식은 새 문자열을 만들므로 실행한 뒤에도 message에는 "Hello"가 그대로 들어 있습니다.

이 섹션의 코드와 표시되는 레이블 또는 출력은 영어로 유지됩니다.

message = "Hello"
character = "!"
result = message + character
print(result)

추가할 값이 숫자라면 먼저 str()로 문자열로 변환하세요. 예를 들어 "Page " + str(3)은 숫자를 변환한 뒤 텍스트와 연결합니다. 피연산자의 형식이 일치하지 않으므로 숫자를 문자열에 바로 더하면 TypeError가 발생합니다.

알려진 인덱스에 문자를 삽입하려면 삽입 위치를 기준으로 슬라이스를 이어 붙이세요: text[:index] + character + text[index:]. 이 방법도 새 문자열을 만듭니다. 원하는 위치에 맞는 유효한 인덱스를 선택하고, Python 문자열 인덱스는 0부터 시작한다는 점을 기억하세요.

Python에서 join() 메서드로 문자열에 문자 추가하기

join()은 문자열로 이루어진 반복 가능한 객체의 요소들을 하나로 연결합니다. 메서드를 호출한 문자열은 각 요소 사이의 구분자가 됩니다. 따라서 join()은 특별한 덧붙이기 연산이 아닙니다. 요소 사이에 다른 문자를 넣지 않으려면 빈 문자열을 구분자로 사용하고, 결과에 쉼표가 필요하다면 쉼표를 구분자로 선택하세요.

이 섹션의 코드와 표시되는 레이블 또는 출력은 영어로 유지됩니다.

parts = ["red", "green", "blue"]
result = ", ".join(parts)
print(result)

반복 가능한 객체의 모든 요소는 문자열이어야 합니다. 문자열이 아닌 값은 str(value)처럼 변환한 다음 연결하세요. 기존 문자열 하나에 접미사를 덧붙이는 경우에는 보통 +가 더 명확합니다. join()은 여러 조각을 모으거나, 특히 각 조각 사이에 같은 구분자를 넣어야 할 때 유용합니다.

Python에서 str.format() 메서드로 문자열에 문자 추가하기

str.format()은 중괄호로 표시한 자리표시자에 값을 넣습니다. 각 조각이 들어갈 위치에 자리표시자를 배치한 다음, 이에 맞는 값을 메서드에 전달하세요. 자리표시자가 서로 붙어 있으면 그대로 연결되므로 템플릿에 구분자를 넣지 않는 한 별도의 구분 문자는 추가되지 않습니다.

이 섹션의 코드와 표시되는 레이블 또는 출력은 영어로 유지됩니다.

name = "Ada"
punctuation = "!"
result = "Hello, {}{}".format(name, punctuation)
print(result)

이 방법은 str.format()을 지원하는 Python 버전에서 사용할 수 있으며, 템플릿과 값을 분리하고 싶을 때 유용합니다. 자리표시자가 여러 개라면 해당 순서에 맞춰 값을 전달하세요. 또는 "Hello, {name}!".format(name="Ada")처럼 이름이 있는 자리표시자를 사용하면 값과 자리표시자의 관계를 명확하게 나타낼 수 있습니다.

Python에서 문자열 보간(f-문자열)으로 문자열에 문자 추가하기

f-문자열은 문자열 리터럴 안에 값과 식을 간결하게 넣는 방법입니다. Python 3.6 이상에서 사용할 수 있습니다. f 접두사 뒤의 문자열에서 변수나 식을 중괄호로 감싸세요.

이 섹션의 코드와 표시되는 레이블 또는 출력은 영어로 유지됩니다.

name = "Ada"
punctuation = "!"
result = f"Hello, {name}{punctuation}"
print(result)

f-문자열 안의 템플릿이 읽기 쉬울 때 이 방법을 사용하세요. 삽입된 값은 결과 문자열에 표시될 텍스트로 변환되며, 원래 문자열과 변수는 바뀌지 않습니다. 이전 Python 버전에서는 str.format()이나 문자열 연결을 사용하세요.

Python에서 % 연산자로 문자열에 문자 추가하기

% 문자열 포맷팅은 이전부터 사용해 온 대안입니다. %s 같은 자리표시자는 값이 들어갈 위치를 나타내고, 연산자 뒤에 그 값을 지정합니다. 자리표시자가 여러 개라면 해당 순서에 맞는 튜플을 전달하세요.

이 섹션의 코드와 표시되는 레이블 또는 출력은 영어로 유지됩니다.

name = "Ada"
punctuation = "!"
result = "Hello, %s%s" % (name, punctuation)
print(result)

새 코드를 작성할 때는 템플릿의 의미가 가장 쉽게 드러나는 포맷팅 방식을 선택하세요. %는 이 문법을 사용하는 기존 코드를 유지보수할 때 유용합니다.

결론

간단히 문자열 끝에 덧붙일 때는 +를, 텍스트와 값을 결합할 때는 str.format()이나 f-문자열을, 여러 문자열을 구분자와 함께 연결할 때는 join()을 사용하세요. 숫자를 연결하거나 join()으로 합치기 전에는 문자열로 변환해야 합니다. 어떤 방법이든 새 문자열을 만들므로 결과를 사용하려면 변수에 할당하세요. 위 예제는 실행할 수 있는 Python 코드 조각이지만, 이 패킷에는 실행 기록이 없으므로 관찰된 출력 결과를 주장하지 않습니다.