본문 바로가기
IT&게임/파이썬(Python)

[파이썬기초 - 3장] 문자열 기본 함수 유형

by 푸루루 2025. 10. 19.
728x90
반응형

🔤 파이썬 문자열 함수 완전 정리! (예제 포함) 📘

문자열은 파이썬에서 가장 많이 다루는 데이터 중 하나입니다.
파이썬 문자열은 str 타입이며, 문자열과 관련된 함수(메서드)를 굉장히 많이 제공합니다.

이번 포스트에서는 자주 사용하는 문자열 함수 20+개를 예제와 함께 소개할게요


📌 문자열의 기본 개념

문자열은 ' 혹은 "로 감싸서 표현합니다.

 
text1 = 'Hello' text2 = "Python"

파이썬에서 문자열은 변경 불가능(immutable) 하기 때문에
함수를 써도 원본 문자열은 바뀌지 않고, 새 값을 반환해요.


🔍 문자열 탐색 & 검사 함수


1. len(s)

문자열의 길이(문자 개수)를 반환

 
s = "Hello" print(len(s)) # 출력: 5

2. s.find(sub)

부분 문자열의 위치 반환 (처음 등장하는 인덱스)

 
s = "banana"
print(s.find("a")) # 출력: 1
print(s.find("z")) # 출력: -1 (없으면 -1)

3. s.rfind(sub)

부분 문자열을 오른쪽(뒤)부터 찾아,
마지막 위치의 인덱스를 반환

 
s = "banana"
print(s.rfind("a")) # 출력: 5 (마지막 'a'의 위치)
print(s.rfind("z")) # 출력: -1
  • find()는 왼쪽부터, rfind()는 오른쪽부터 찾습니다.
  • 둘 다 찾는 값이 없으면 -1을 반환합니다.

4. s.index(sub)

find()와 같지만, 없으면 에러 발생

 
s = "banana" print(s.index("a")) # 출력: 1 # print(s.index("z")) # ❌ ValueError 발생

5. s.count(sub)

부분 문자열이 몇 번 나오는지 세기

 
s = "banana" print(s.count("a")) # 출력: 3

6. s.startswith(prefix) / s.endswith(suffix)

시작 / 끝나는 문자열 여부 확인

 
print("hello.py".endswith(".py")) # True print("hello.py".startswith("he")) # True

✂️ 문자열 자르기 & 결합


7. s.split(sep)

문자열을 리스트로 분리

 
s = "apple,banana,orange" print(s.split(",")) # 출력: ['apple', 'banana', 'orange']

8. s.rsplit(sep)

오른쪽부터 분리 (split과 기능 유사)


9. sep.join(list)

리스트 요소를 하나의 문자열로 결합

 
fruits = ['apple', 'banana', 'orange'] print(", ".join(fruits)) # 출력: 'apple, banana, orange'

10. s.replace(old, new)

문자열의 일부를 다른 문자열로 바꾸기

 
text = "I like python" print(text.replace("like", "love")) # 출력: I love python

11. s.strip()

양쪽 공백 제거

 
s = " hello " print(s.strip()) # 출력: 'hello'
  • lstrip() → 왼쪽 공백만 제거
  • rstrip() → 오른쪽 공백만 제거

🔠 대소문자 관련


12. s.upper()

모두 대문자로 변환

 
print("hello".upper()) # 출력: HELLO

13. s.lower()

모두 소문자로 변환

 
print("HELLO".lower()) # 출력: hello

14. s.capitalize()

첫 글자만 대문자, 나머지는 소문자

 
print("python is fun".capitalize()) # 출력: Python is fun

15. s.title()

단어의 첫 글자만 대문자로

 
print("python is fun".title()) # 출력: Python Is Fun

16. s.swapcase()

대소문자 뒤집기

 
print("Hello WORLD".swapcase()) # 출력: hELLO world

✅ 조건 검사 (참/거짓 반환)


17. s.isalpha()

문자열이 알파벳만 구성되어 있으면 True

 
print("abc".isalpha()) # True
print("abc123".isalpha()) # False

18. s.isdigit()

문자열이 숫자만 구성되어 있으면 True

 
print("12345".isdigit()) # True
print("123abc".isdigit()) # False

19. s.isalnum()

알파벳 + 숫자 조합이면 True

 
print("abc123".isalnum()) # True
print("abc!".isalnum()) # False

20. s.isspace()

공백 문자만 있으면 True

 
print(" ".isspace()) # True
print(" a ".isspace()) # False

21. s.islower() / s.isupper()

모두 소문자 / 대문자면 True

 
print("abc".islower()) # True
print("ABC".isupper()) # True

🧱 문자열 정렬 관련 함수


22. s.center(width, fillchar=' ')

문자열을 지정한 길이로 중앙 정렬하고,
좌우에 지정한 문자로 채움 (기본은 공백)

 
text = "hi" print(text.center(10)) # 출력: ' hi '
print(text.center(10, '*')) # 출력: '****hi****'

🔁 문자열 반복 & 포맷


문자열 곱하기 *

 
print("hi" * 3) # 출력: hihihi

문자열 포함 여부 in

 
print("py" in "python") # True

문자열 포맷 format()

 
name = "Tom" age = 20 print("My name is {} and I am {} years old".format(name, age))

f-string (Python 3.6 이상)

 
print(f"My name is {name} and I am {age} years old")
728x90

댓글