본문 바로가기
📚 파이썬 입문

📚파이썬 입문기 3일차: 파이썬 문자열 정리

by 미래의 데이터 분석가 2025. 7. 17.

안녕하세요!
2025.07.16 제가 공부한 '문자열(String)'에 대해 정리해봤어요. 워낙 일상생활 데이터에 문자열이 많다 보니, 이걸 제대로 다루는 게 필수겠더라고요. 오늘 배운 내용을 여러분께도 공유하면서 저도 한 번 더 다져보려고 합니다! 이 정리가 여러분에게도 작게나마 도움이 되었으면 좋겠네요 :)


1. 왜 문자열이 중요할까? (feat. 내 데이터는 거의 다 문자열!)

신기하게도 우리가 웹사이트에서 보는 수많은 정보들, 예를 들면 상품 가격 같은 거요. 숫자처럼 보이지만 사실은 쉼표(,)나 퍼센트(%) 같은 기호 때문에 파이썬에서는 '문자열'로 인식된다고 해요. 이걸 그냥 숫자처럼 계산하려고 하면 에러가 나겠죠? 그래서 쉼표를 제거하거나 숫자로 바꿔주는 '전처리' 과정이 꼭 필요하다고 하더라구요!


2. 문자열 인덱싱 (Indexing): 각 글자의 주소를 찾아라!

문자열은 각 글자마다 자기만의 '위치 번호'가 있대요. 이걸 '인덱스(index)'라고 부르더라고요.

  • 앞에서부터 세기 (양수 인덱스): 0부터 시작해서 1, 2, 3... 이렇게요.
  • 뒤에서부터 세기 (음수 인덱스): 끝자리가 -1, 그 앞이 -2... 이런 식!

예를 들어, lang = "PYTHON3"이라는 문자열이 있으면... lang[0]은 'P'고, lang[6]은 '3'이겠죠? 그리고 뒤에서부터 세면 lang[-1]도 '3'이에요!

Python
 
lang = "PYTHON3"
print(lang[0])  # 결과: P (맨 앞글자!)
print(lang[6])  # 결과: 3 (맨 뒷글자!)
print(lang[-1]) # 결과: 3 (응? 뒤에서부터 세도 맨 뒷글자네!)

 


3. 문자열 슬라이싱 (Slicing): 문자열 일부를 쓱싹!

인덱싱이 글자 하나만 가져오는 거라면, 슬라이싱은 여러 글자를 '범위'로 잘라오는 거예요. 마치 피자 한 조각처럼요! 형식은 [시작인덱스:끝인덱스] 이렇게 쓰는데, 여기서 중요한 함정이 하나 있었어요! 끝인덱스에 해당하는 글자는 포함되지 않는다는 거! 이걸 처음엔 헷갈렸네요.

Python
 
lang = "PYTHON3"
print(lang[0:6]) # 결과: PYTHON (인덱스 0부터 5까지만 가져와!)

그리고 더 편리했던 슬라이싱 활용법들:

  • 시작부터 끝까지: 시작 인덱스를 비워두면 처음부터 가져와요.
  • Python
     
    lang = "PYTHON3"
    prog = lang[:6]
    print(prog) # 결과: PYTHON
    
  • 어디서부터 끝까지: 끝 인덱스를 비워두면 지정한 곳부터 끝까지 다 가져와요.
  • Python
     
    lang = "PYTHON3"
    ver = lang[6:]
    print(ver) # 결과: 3
    
  • 문자열 통째로 복사: 양쪽 다 비워두면 그냥 통째로 복사본을 만들어요.
  • Python
     
    lang = "PYTHON3"
    full_string = lang[:]
    print(full_string) # 결과: PYTHON3
    

4. 슬라이싱의 세 번째 마법: Step (증감 폭)

슬라이싱에 [시작인덱스:끝인덱스:증감폭] 처럼 세 번째 값을 넣으면, 글자를 건너뛰면서 가져올 수도 있더라고요! 이건 정말 신기했어요.

  • 두 칸씩 건너뛰며 가져오기:
  • Python
     
    lang = "PYTHON3"
    print(lang[::2]) # 결과: PTN3 (P, T, N, 3 이렇게 한 칸씩 건너뛰었네요!)
    
  • 문자열 뒤집기 (꿀팁!): 증감폭에 -1을 넣으면 문자열이 통째로 뒤집혀요! 이거 진짜 유용할 것 같아요.
  • Python
     
    lang = "PYTHON3"
    print(lang[::-1]) # 결과: 3NOHTYP (와우!)
    

📚 오늘 배운 거 복습 겸 풀어본 연습 문제!

오늘 배운 걸 바로 적용해보려고 예제 문제들을 풀어봤어요. 여러분도 한번 풀어보시면 좋을 것 같아요!

[1] 주민등록번호: 801230-1234567. 여기서 연월일(YYMMDD) 부분만 출력하기.

Python
 
reg_num = "801230-1234567"
print(reg_num[0:6])
# 내 예상: 801230. 맞았음! 😆

[2] 차량 번호: "12가 1234". 뒤 네 자리만 출력하기.

Python
 
car_num = "12가 1234"
print(car_num[-4:])
# 내 예상: 1234. 이것도 맞았음! 👍

[3] 이 코드의 결과는 과연?

Python
 
data = "ABC"
print(data[::-1])
# 내 예상: CBA. 뒤집기 마법! ✨

오늘 이렇게 파이썬 문자열의 인덱싱과 슬라이싱에 대해 빡세게(?) 공부하고 정리해봤네요! 확실히 직접 코드를 쳐보고 예제를 풀어보니 이해가 쏙쏙 됩니다. 앞으로 문자열 다룰 일이 많을 텐데, 오늘 배운 내용 잘 기억해야겠어요!

여러분도 파이썬 공부하시면서 오늘 제 정리가 조금이나마 도움이 되었기를 바랍니다! 다음에 또 유익한 내용으로 찾아올게요! 안녕~👋