Python 문자열 연산(str): 합치기, 나누기, 포매팅
Python의 문자열(String)은 단순한 문자들의 나열을 넘어서, 매우 유연하고 강력한 텍스트 처리 도구입니다. 문자열을 자유자재로 합치고, 나누고, 포맷하는 기술은 파이썬 프로그래밍의 기초이자 실전에서 가장 많이 활용되는 능력 중 하나입니다. 이 글에서는 합치기, 나누기, 포매팅을 중심으로 Python 문자열 연산을 깊이 있게 다루어봅니다.

목차
- 문자열 합치기 (Concatenation)
- 문자열 반복과 확장
- 문자열 나누기 (split)
- 고전적인 포매팅: % 방식
- format() 함수와 인덱스 포매팅
- f-string: 가장 현대적인 문자열 포매팅
- 문자열 연산의 모범 사례와 주의점
1. 문자열 합치기 (Concatenation)
Python에서 문자열 합치기는 + 연산자를 사용해 간단하게 구현할 수 있습니다.
greeting = "Hello, "
name = "Alice"
message = greeting + name
print(message) # Hello, Alice
- 문자열끼리만 결합 가능하며, 숫자는
str()로 형 변환 필요 - 연산량이 많을 경우에는
.join()을 고려
2. 문자열 반복과 확장
문자열은 곱하기(*) 연산자로 반복할 수 있습니다.
print("ha" * 3) # 출력: hahaha
로딩 표시나 텍스트 블록 생성 등 반복이 필요한 상황에서 유용합니다.
3. 문자열 나누기 (split)
split() 메서드를 통해 문자열을 특정 구분자 기준으로 분할할 수 있습니다.
data = "apple,banana,cherry"
fruits = data.split(",")
print(fruits) # ['apple', 'banana', 'cherry']
기본 구분자는 공백이며, 정규표현식 분할은 re.split()을 사용합니다.
4. 고전적인 포매팅: % 방식
초기의 포매팅 방식으로, C 스타일과 유사합니다.
name = "Tom"
age = 25
print("이름: %s, 나이: %d" % (name, age))
- %s: 문자열
- %d: 정수
- 여러 타입에 대해 혼용 가능하나 가독성이 떨어짐

5. format() 함수와 인덱스 포매팅
Python 3부터 사용되는 str.format()은 명시적이고 유연한 포매팅 방식입니다.
template = "이름: {}, 나이: {}"
print(template.format("Jane", 30))
인덱스나 변수명으로 포맷할 수 있습니다.
print("이름: {name}, 나이: {age}".format(name="John", age=22))
6. f-string: 가장 현대적인 문자열 포매팅
Python 3.6부터 도입된 f-string은 가장 직관적이고 빠른 문자열 포매팅 방식입니다.
name = "Emily"
age = 27
print(f"이름: {name}, 나이: {age}")
- 변수, 표현식, 함수 호출도 포함 가능
- 성능도 가장 우수한 포매팅 방식
7. 문자열 연산의 모범 사례와 주의점
효율적인 문자열 연산을 위한 팁:
- 여러 문자열을 결합할 때는
' '.join(list)방식 권장 - 포매팅은 f-string 우선, 하위 버전 호환 시 format() 사용
- 복잡한 포매팅은 템플릿 엔진이나 f-string에 표현식을 활용
| 기법 | 설명 | 권장 여부 |
|---|---|---|
| + | 문자열 직접 연결 | 소규모 연결 시 OK |
| join() | 리스트 등 순회하며 연결 | 추천 |
| f-string | 최신 포매팅 방식 | 강력 추천 |
'프로그래밍 언어 > 파이썬' 카테고리의 다른 글
| Python bool, Boolean 연산과 비트 연산의 차이점 (0) | 2025.04.29 |
|---|---|
| 파이썬 복소수 연산, complex를 활용한 수학 계산 (0) | 2025.04.23 |
| Python 리스트 컴프리헨션, 간결하고 강력한 코드 작성법 (0) | 2025.04.11 |
| Python bool 값 처리, 조건문과 필터링에 최적화하기 (0) | 2025.04.05 |
| Python complex 객체, 실수와 허수의 조화 이해하기 (0) | 2025.03.30 |