본문 바로가기
Artificial Intelligence/60. Python

[PYTHON] 문자열(String) 완벽 가이드 : 기초부터 고급 활용까지

by Papa Martino V 2025. 7. 21.
728x90

문자열(String) 완벽 가이드 : 기초부터 고급 활용까지
[PYTHON] 문자열(String)

 

문자열(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. 마무리: 문자열은 데이터의 얼굴이다

문자열은 단순한 텍스트가 아니라, 프로그램과 사용자 간의 소통 수단입니다. 올바른 문자열 처리 능력은 파이썬 실력을 한 단계 끌어올리는 열쇠가 됩니다. 오늘 소개한 기법과 예제를 실무에 적극적으로 활용해보세요.

참고 출처

728x90