728x90

문자열(String)은 텍스트 데이터를 다룰 때 가장 중요한 데이터 타입 중 하나입니다. 파이썬의 문자열 기능은 매우 강력하며, 웹 개발, 데이터 분석, 인공지능 등 거의 모든 영역에서 활용됩니다. 본 글에서는 단순한 문자열 출력부터 고급 문자열 조작 기법까지 전문가 수준의 활용법을 깊이 있게 소개합니다.
1. 파이썬 문자열의 기본 구조
문자열은 작은 따옴표(') 또는 큰 따옴표(")로 감싸서 표현합니다. 멀티라인 문자열은 세 개의 따옴표(''' 또는 """)를 사용합니다.
text1 = 'Hello'
text2 = "World"
text3 = '''멀티라인
문자열입니다.'''
2. 문자열 인덱싱과 슬라이싱
문자열은 시퀀스 자료형으로, 인덱싱과 슬라이싱을 통해 부분 문자열을 추출할 수 있습니다.
word = "Python"
print(word[0]) # 'P'
print(word[-1]) # 'n'
print(word[1:4]) # 'yth'
print(word[::-1]) # 'nohtyP' (역순)
3. 문자열 주요 메서드
다양한 문자열 메서드는 데이터를 전처리하거나 정제할 때 매우 유용합니다.
lower(),upper(): 대소문자 변환strip(),lstrip(),rstrip(): 공백 제거split(),join(): 분할 및 결합replace(): 문자열 치환startswith(),endswith(): 특정 문자 여부 확인
4. 문자열 포맷팅의 3가지 방식 비교
| 방식 | 문법 예시 | 장점 | 단점 |
|---|---|---|---|
| 기본 포맷 (%) | "%s님, 환영합니다!" % name | 간단하고 빠름 | 복잡한 포맷에 약함 |
| format() | "{}님, 환영합니다!".format(name) | 순서 지정, 다양한 옵션 가능 | 구문이 다소 길어짐 |
| f-string | f"{name}님, 환영합니다!" | 가독성 높고 직관적 | Python 3.6 이상만 가능 |
5. 문자열과 정규표현식(Regex)의 강력한 조합
re 모듈을 활용하면 복잡한 문자열 패턴도 쉽게 처리할 수 있습니다.
import re
text = "전화번호: 010-1234-5678"
pattern = r"\d{3}-\d{4}-\d{4}"
match = re.search(pattern, text)
if match:
print("번호:", match.group())
정규표현식은 로그 분석, 텍스트 클렌징, 크롤링 등 다양한 분야에서 필수적인 도구입니다.
6. 문자열 처리 성능을 높이기 위한 전략
- 리스트에 저장 후
join()으로 결합하면 문자열 연결 성능이 개선됩니다. - 반복 문자열 연산 시 f-string이나 format()을 활용해 코드 간결성을 유지하세요.
- 불필요한 replace나 re.sub의 남용은 피하고, 목적에 맞는 메서드를 선택하세요.
7. 문자열 활용 예제: 텍스트 요약기 만들기
간단한 키워드 기반 요약기를 만들어 봅니다.
text = "파이썬은 매우 강력한 프로그래밍 언어입니다. 문자열 처리는 핵심 기능입니다."
keywords = ['파이썬', '문자열']
summary = [sentence for sentence in text.split('.') if any(k in sentence for k in keywords)]
print('요약:', '.'.join(summary))
텍스트 마이닝, 뉴스 요약, 챗봇 응답 등에서 문자열 전처리는 핵심 역할을 합니다.
8. 문자열 관련 주요 함수와 특징 비교
| 함수 | 설명 | 사용 예시 |
|---|---|---|
| len() | 문자열 길이 반환 | len("hello") → 5 |
| in | 부분 문자열 포함 여부 | "a" in "apple" → True |
| replace() | 문자열 치환 | "dog".replace("d", "f") → "fog" |
| split() | 문자열 분할 | "a,b".split(",") → ['a', 'b'] |
9. 문자열과 유니코드(Unicode)
파이썬 3는 기본적으로 모든 문자열을 유니코드로 처리합니다. 이는 다국어 처리에 유리하며, 이모지나 특수문자도 자연스럽게 다룰 수 있습니다.
emoji = "😊"
print(ord(emoji)) # 유니코드 코드 포인트 출력
print(chr(128522)) # 코드 포인트 → 문자
10. 마무리: 문자열은 데이터의 얼굴이다
문자열은 단순한 텍스트가 아니라, 프로그램과 사용자 간의 소통 수단입니다. 올바른 문자열 처리 능력은 파이썬 실력을 한 단계 끌어올리는 열쇠가 됩니다. 오늘 소개한 기법과 예제를 실무에 적극적으로 활용해보세요.
참고 출처
- Python 공식 문서: https://docs.python.org/3/library/stdtypes.html#text-sequence-type-str
- Real Python - Working with Strings: https://realpython.com/python-strings/
- Effective Python, Brett Slatkin
728x90
'Artificial Intelligence > 60. Python' 카테고리의 다른 글
| [PYTHON] Dictionary 완전 정복 : 구조 활용 최적화까지 (0) | 2025.07.21 |
|---|---|
| [PYTHON] 리스트의 모든 것: 기초부터 고급 활용까지 완전 정복 (0) | 2025.07.21 |
| [PYTHON] 파이썬 파일 처리 완전 정복 : 실무 예제 & 베스트 프랙티스 (0) | 2025.07.21 |
| [PYTHON] 파이썬 가상환경 완전 정복 : venv, virtualenv, pipenv 비교와 실전 활용 (0) | 2025.07.21 |
| [PYTHON] 백엔드 마스터하기 : Python 서버 개발 완전 가이드 (0) | 2025.07.21 |