목차
Python String – lib은 가장 기본적이면서도 자주 사용되는 데이터 타입입니다. 문자열은 단순한 출력 용도뿐만 아니라, 사용자 입력 처리, 로그 기록, API 응답 파싱, 문장 요약, 데이터 클렌징 등 수많은 곳에서 핵심 역할을 합니다.
이 글에서는 Python String 관련 기본 함수들과 실제 사용 예제를 통해 String operations을 쉽게 이해할 수 있도록 정리해보았습니다. 문자열을 잘 다루는 것은 파이썬 실력 향상의 필수 단계입니다.
Python String 정의 및 특성
문자열은 작은따옴표('
) 또는 큰따옴표("
)로 감싸서 표현합니다. Python String 에서는 불변(immutable)하다는 특징을 가지므로, 기존 문자열을 직접 수정하지 않고 항상 새로운 문자열을 반환합니다.
text_1 = "Hello, World!"
text_2 = 'Hello, World!'
자주 사용하는 문자열 함수 및 메서드
1. 길이 확인: len()
len("Hello") # 출력: 5
2. 대소문자 변환: lower()
/ upper()
"Hello".lower() # 'hello'
"Hello".upper() # 'HELLO'
3. 공백 제거: strip()
" Hello ".strip() # 'Hello'
4. 문자열 치환: replace()
"Hello, World!".replace("World", "Python") # 'Hello, Python!'
5. 문자열 분할: split()
"a,b,c".split(",") # ['a', 'b', 'c']
6. 문자열 병합: join()
",".join(['a', 'b', 'c']) # 'a,b,c'
7. 문자열 포맷팅: format()
, f-string
, %
name = "John"
age = 30
f"Hi~ My name is {name}, I am {age} years old."
"Hi~ My name is {}, I am {} years old.".format(name, age)
"Hi~ My name is %s, I am %d years old." % (name, age)
8. 문자열 성질 검사: isalnum()
, isalpha()
, isdigit()
"123".isdigit() # True
"abc".isalpha() # True
"abc123".isalnum() # True
문자열 연산 예시 코드
first = "A"
second = "B"
full = first + " " + second
print(full) # 'A B'
repeat_str = "Ha " * 3
print(repeat_str) # 'Ha Ha Ha '
슬라이싱(Slicing)
_str = " Hi my name is John "
print(_str[7:12]) # 'name'
print(_str[:5]) # ' Hi m'
print(_str[7:]) # 'name is John '
대소문자 관련
print(_str.upper()) # ' HI MY NAME IS JOHN '
print(_str.lower()) # ' hi my name is john '
print(_str.capitalize()) # ' hi my name is john '
print(_str.title()) # ' Hi My Name Is John '
공백 처리
print(_str.strip()) # 'Hi my name is John'
print(_str.lstrip()) # 'Hi my name is John '
print(_str.rstrip()) # ' Hi my name is John'
검색과 치환
print(_str.find("John")) # 15
print(_str.find("World")) # -1
print(_str.replace("John", "Jang")) # ' Hi my name is Jang '
문자열 시작/끝 확인
"Hello".startswith("He") # True
"Hello".endswith("o") # True
실전에서 문자열이 사용되는 예시
문장 나누기와 합치기
sentence = "This is a sentence."
words = sentence.split()
print(words) # ['This', 'is', 'a', 'sentence.']
joined_sentence = ' '.join(words)
print(joined_sentence) # 'This is a sentence.'
실무 활용 사례
예전에는 시스템 프로그래밍을 할 때 문자열은 거의 로그 출력이나 시스템 정보 표시 정도에만 사용했었습니다. 하지만 최근에는 다양한 정보를 수집하고 자동화된 리포트나 알림 메시지를 작성하면서, 문자열 처리 기능을 자주 사용하게 되었습니다.
예를 들어:
- 뉴스 요약: 기사 제목 추출 후 포맷 정리
- LLM 출력 조정: 응답 문장 다듬기
- Slack/Telegram 메시지: 조건에 맞는 텍스트 자동 생성
- RSS/JSON 데이터 정리: 문자열 파싱 및 치환
이러한 상황에서 문자열 처리 함수들을 적극적으로 활용하면 효율이 크게 올라갑니다.
문자열 함수의 장점과 개선된 속도
과거 C언어에서 문자열을 char[]
로 다뤄야 했던 시절과 비교하면, Python의 문자열 처리 기능은 엄청난 편의성을 제공합니다. 물론 속도는 시스템 언어보다 느릴 수 있지만, Python 3.12 이후로 문자열 관련 성능도 꽤 개선되었기 때문에 대부분의 업무에서 충분히 빠르고 안정적입니다.
마무리
문자열(String)은 단순한 데이터 타입 같지만, 실무에서는 가장 빈번히 사용되며 입력 처리, 출력 포맷, 데이터 파싱 등 다양한 곳에 쓰입니다. Python에서는 매우 직관적인 문법과 풍부한 내장 메서드 덕분에 문자열 처리가 훨씬 수월합니다. 특히 f-string을 활용한 포맷팅, 슬라이싱을 통한 부분 문자열 추출, 정규 표현식을 통한 고급 매칭 기능 등은 데이터 처리에 큰 도움을 줍니다.
모든 함수를 외울 필요는 없습니다. “이런 기능이 있다”는 것만 기억하고 필요할 때 공식 문서를 참고하는 것이 가장 좋은 학습 방법입니다. 실무에서 자주 사용하는 메서드 몇 가지만 익혀도 대부분의 문자열 작업은 무리 없이 해결할 수 있습니다.