본문 바로가기
IT/Python Basic

[Python] 초급 개념11 - 문자열 다루기 (split, join, format 등)

by Echinacea 2025. 2. 18.
반응형

파이썬에서 문자열(str)은 문자들의 시퀀스로, 다양한 문자열 조작 메서드를 제공합니다. 문자열은 변경할 수 없는(immutable) 자료형입니다.


 

 

🔹 1. 문자열 생성 및 기본 사용

 

문자열 생성

text1 = "Hello, Python!"
text2 = '파이썬 문자열'
print(text1)
print(text2)

 

문자열 길이 확인

text = "Python"
print(len(text))  # 6

📌 설명:

  • len() 함수를 사용하여 문자열 길이를 확인할 수 있음

 

 

🔹 2. 문자열 인덱싱과 슬라이싱

 

문자열 인덱싱 (0부터 시작하는 인덱스 사용)

text = "Python"
print(text[0])  # 'P'
print(text[-1]) # 'n'

 

문자열 슬라이싱

print(text[0:3])  # 'Pyt'
print(text[:4])   # 'Pyth'
print(text[2:])   # 'thon'

 

📌 설명:

  • text[start:end]: start부터 end-1까지의 문자를 추출
  • text[:end]: 처음부터 end-1까지
  • text[start:]: start부터 끝까지

 

 

🔹 3. 문자열 변경 및 연결

 

문자열 연결하기

first = "Hello"
second = "Python"
result = first + ", " + second
print(result)  # 'Hello, Python'

 

문자열 반복

text = "Hi! " * 3
print(text)  # 'Hi! Hi! Hi! '

📌 설명:

  • + 연산자로 문자열을 연결할 수 있음
  • * 연산자로 문자열을 반복할 수 있음

 

 

🔹 4. 주요 문자열 메서드

 

대소문자 변경

text = "Python"
print(text.upper())  # 'PYTHON'
print(text.lower())  # 'python'

 

공백 제거

text = "  Python  "
print(text.strip())  # 'Python'

 

문자열 나누기(split) 및 합치기(join)

text = "Python is fun"
words = text.split()  # 공백 기준으로 나눔
print(words)  # ['Python', 'is', 'fun']

new_text = "-".join(words)
print(new_text)  # 'Python-is-fun'

 

특정 문자열 찾기 및 바꾸기

text = "Hello, Python!"
print(text.find("Python"))  # 7
print(text.replace("Python", "World"))  # 'Hello, World!'

📌 설명:

  • strip(): 문자열 앞뒤 공백 제거
  • split(): 특정 기준으로 문자열을 리스트로 변환
  • join(): 리스트를 문자열로 변환
  • find(): 특정 문자열 위치 반환 (없으면 -1 반환)
  • replace(): 특정 문자열을 다른 문자열로 변경

 

 

🔹 5. 문자열 포맷팅

 

f-string (Python 3.6 이상)

name = "철수"
age = 25
print(f"{name}의 나이는 {age}살입니다.")

 

format() 메서드 사용

print("{}의 나이는 {}살입니다.".format(name, age))

 

% 연산자 사용 (구식 방법)

print("%s의 나이는 %d살입니다." % (name, age))

📌 설명:

  • f"{변수}"를 사용하면 더 직관적으로 문자열을 포맷할 수 있음
  • format()은 다양한 포맷을 지원
  • % 연산자는 오래된 방식이지만 여전히 사용됨

 

 

🔹 6. 마무리

이번 문서에서는 파이썬의 문자열 처리 방법을 학습했습니다.

핵심 요약

  • 문자열은 str 타입이며 변경할 수 없음(immutable)
  • 인덱싱과 슬라이싱을 통해 원하는 부분을 가져올 수 있음
  • + 연산자로 문자열을 연결하고, * 연산자로 반복 가능
  • strip(), split(), join(), replace() 등의 유용한 메서드 제공
  • f-string, format(), % 연산자로 문자열을 포맷할 수 있음

 

반응형

댓글