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
'IT&게임 > 파이썬(Python)' 카테고리의 다른 글
| [파이썬기초 - 4장] 리스트 함수 정리하기 (0) | 2025.10.19 |
|---|---|
| [파이썬기초 2.2장] 파이썬 기본 내장함수 정리 (0) | 2025.10.19 |
| [파이썬기초 - 2.1장] 모듈함수 math의 기본 함수 (0) | 2025.10.19 |
| [파이썬기초 - 2장] 변수와 데이터 형식 (0) | 2025.10.19 |
| [파이썬 기초 - 1장] python 개발환경과 IDLE (0) | 2025.10.19 |
댓글