728x90
반응형
Python 문자열에 대해 알아보겠습니다!

문자열 분해, 조립, 대소문자 일괄처리, 공백제거, 탐색, 포멧팅 등은 따로 포스팅하겠습니다. (너무 하나에 다 쓰면 찾기 어려울 것 같아서요 ㅎㅎ)
1. 실무 환경에서의 문자열 데이터
문자열은 단순한 글자의 나열을 넘어, 데이터 파이프라인과 인공지능 모델의 핵심 원시 데이터(Raw Data)로 취급됩니다.
- AI 및 머신러닝 관점: 자연어 데이터 그 자체를 의미합니다. 문장 단위의 문자열은 토큰화 등의 전처리를 거쳐 벡터화(Vectorization) 과정을 수행하며, 최종적으로 벡터 데이터베이스(Vector DB)에 연결되어 모델 학습 및 검색에 활용됩니다.
- 데이터 엔지니어 관점: ETL(Extract, Transform, Load) 처리의 주 대상입니다. 다양한 소스에서 수집된 문자열을 전처리하여 필요한 데이터를 추출하고, 분석 가능한 형태로 변환한 뒤 데이터 웨어하우스에 적재합니다.
주요 활용 데이터 소스
- 로그 시스템: 스마트 팩토리, IoT 센서 기록, 이커머스 트랜잭션, 금융 거래 내역 등
- AI 프롬프트: LLM(거대 언어 모델) 및 AI 에이전트를 제어하기 위한 지시문
- 사내 데이터 및 문서: RAG(검색 증강 생성) 아키텍처 구현을 위한 텍스트 베이스
2. 문자열의 핵심 특징: 불변성(Immutability)
파이썬에서 문자열은 수정이 불가능(Immutable)한 객체입니다. 기존 문자열의 특정 문자를 직접 변경할 수 없으며, 문자열을 결합하거나 변경하는 연산을 수행할 경우 기존 데이터가 수정되는 것이 아니라 메모리 상에 새로운 결과값이 구성되어 재할당되는 방식으로 동작합니다.
3. 문자열 리터럴 선언
텍스트를 감싸는 따옴표의 형태에 따라 한 줄 문자열과 여러 줄 문자열로 구분하여 선언합니다.
- 한 줄 문자열: 작은따옴표(' ') 또는 큰따옴표(" ")를 사용합니다. 자바스크립트 등 타 언어의 문자열 선언 방식과 동일합니다.
- 여러 줄 문자열: 작은따옴표 3개(''' ''') 또는 큰따옴표 3개(""" """)를 연속으로 사용합니다. 들여쓰기와 줄바꿈 등 문장의 구조를 그대로 유지해야 할 때 필수적입니다.
# 1. 구조를 가진 SQL 쿼리문 표기
sql_query = '''
SELECT *
FROM users
WHERE id = 'k';
'''
# 2. AI 프롬프트 엔지니어링 및 에이전트 구성
prompt = '''
# 페르소나
당신은 친절한 데이터 분석 어시스턴트입니다.
# 예시 (Few-shot)
...
# 요구사항
...
'''
4. 문자열 기본 다루기
파이썬 내장 함수와 연산자를 활용한 기본적인 문자열 제어 문법입니다.
# 1. 기본 선언 및 정보 확인
sample = 'abcd ABCD 1234 !@#$ 가나다라'
print(sample)
print(type(sample)) # 데이터형 확인: <class 'str'> 반환
print(len(sample)) # 문자열의 길이(문자의 총 개수) 반환
# 2. 여러 줄 문자열 출력
sql = '''
select *
from users
where id = 'k';
'''
# 줄바꿈(\n) 등 화이트스페이스 문자가 실제 표현으로 대체되어 출력됩니다.
print(sql)
# 3. 따옴표 섞어 쓰기
# 내부 문자열로 따옴표를 포함해야 할 경우 이스케이프(\) 문자를 사용합니다.
a = 'abc\'de\'fg'
print(a) # abc'de'fg
# 리터럴 자체를 교차 사용하여 이스케이프 없이 더 효율적으로 결과를 유도할 수도 있습니다.
a = "abc'de'fg"
print(a) # abc'de'fg
# 4. 문자열 더하기 (병합)
prefix = 'hi'
context = 'hello'
# 두 문자열을 결합하여 새로운 메모리에 할당합니다.
# 주의: 변수가 많거나 형식이 복잡할 때는 단순 결합(+)보다 포매팅(Formatting) 기법 사용을 권장합니다.
print(prefix + " " + context)
# 5. 문자열 반복
# 특정 문자열을 지정된 횟수만큼 반복 출력할 때 곱하기(*) 연산자를 사용합니다.
print('-' * 50)
print('점심 먹자!')
print('-' * 50)
오늘의 한 마디
저는 그렇게 생각합니다. 너무 열심히하면 금방 지치고 질립니다. 그냥 자신이 할 수 있을만큼 꾸준히 무언가를 한다면 언젠가는 달콤한 결과를 얻을 수 있을 것이라고 ㅎㅎ
급하지 않고 꾸준히 꾸준히 조금씩 나아가다 보면 더 멋진 내일이 우리를 기다리지 않을까 생각합니다.
반응형