파이썬은 실무뿐만 아니라 COS Pro, 정보처리기사, PCEP(파이썬 프로그래밍 능력검정) 같은 자격시험에서도 자주 등장한다.
이 시험들에서는 기본 문법을 묻는 문제들이 많은데, 그중에서도 문자열 함수(String Function) 는 빠지지 않고 출제된다.
이번 글에서는 시험에서도 자주 등장하고, 실제 코딩 연습에서도 꼭 알아둬야 할 파이썬 문자열 함수 6가지를 예제와 함께 정리했다.
기초 개념을 정확히 잡고 싶거나, 자격증 공부를 시작하는 사람에게 도움이 될 것 같다.
1. 대소문자 변환 함수 — 글자의 형태를 통일하기
문자열의 대소문자를 맞춰야 하는 상황은 자주 있다.
예를 들어 "Apple"과 "apple"은 같은 단어지만, 컴퓨터는 서로 다른 문자열로 인식한다.
이럴 때는 아래 함수들을 이용하면 손쉽게 통일할 수 있다.
-
lower() : 문자열을 모두 소문자로 바꾼다.
-
upper() : 문자열을 모두 대문자로 바꾼다.
-
title() : 각 단어의 첫 글자를 대문자로 만든다.
-
capitalize() : 문장의 첫 글자만 대문자로 바꾼다.
text = "PyTHon ProGRamMing"
print(text.lower()) # python programming
print(text.upper()) # PYTHON PROGRAMMING
print(text.title()) # Python Programming
print(text.capitalize()) # Python programming
시험 문제에서도 "HELLO".lower() → 'hello' 같은 간단한 변환 문제로 자주 출제된다.
실제 코드에서도 입력값 비교나 파일명 처리 시 자주 쓰이는 기본 함수다.
2. 문자열 검색 함수 — 특정 단어 위치 찾기
문자열 안에서 특정 단어나 문자가 있는지, 있다면 어디에 위치하는지를 확인할 때 사용한다.
검색이나 문자열 분석 문제에서 자주 출제된다.
-
find(sub) : 지정한 문자열이 처음 나타나는 위치(인덱스)를 반환한다. 없으면
-1. -
index(sub) : 찾는 문자열의 위치를 반환하지만, 없으면 오류(
ValueError) 발생. -
rfind(sub) : 문자열 뒤쪽부터 검색해 마지막으로 등장한 위치를 반환.
-
count(sub) : 특정 문자열이 몇 번 등장했는지 반환.
word = "banana"
print(word.find("a")) # 1
print(word.rfind("a")) # 5
print(word.count("a")) # 3
find()와 index()의 차이는 오류 처리 여부다.
find()는 결과가 없으면 -1을 주지만, index()는 오류가 나기 때문에 예외 처리에 주의해야 한다.
3. 문자열 시작과 끝 확인 — 특정 패턴 검사
문자열이 특정 글자로 시작하거나 끝나는지를 확인할 때 사용하는 함수다.
파일 확장자, URL 주소, 이메일 도메인 등을 판별할 때 유용하다.
-
startswith(prefix) : 문자열이 특정 문자열로 시작하는지 검사한다.
-
endswith(suffix) : 문자열이 특정 문자열로 끝나는지 검사한다.
file_name = "report.csv"
if file_name.endswith(".csv"):
print("CSV 파일입니다.")
url = "https://www.google.com"
if url.startswith("https://"):
print("보안 연결입니다.")
이 두 함수는 단순 비교(==)보다 가독성이 높고 명확하다.
예를 들어 "data.txt".endswith(".txt")는 텍스트 파일 여부를 판단하는 간단한 예로 시험에서도 자주 보인다.
4. 공백 제거와 문자열 치환 — 깔끔한 데이터 만들기
문자열을 입력받을 때는 앞뒤로 공백이 섞이거나, 특정 단어를 바꿔야 하는 상황이 있다.
이럴 때 아래 함수들을 사용하면 된다.
-
strip() : 문자열 양쪽의 공백 제거.
-
lstrip() / rstrip() : 왼쪽 또는 오른쪽 공백만 제거.
-
replace(old, new) : 문자열의 특정 부분을 다른 문자열로 바꾼다.
msg = " Hello Python "
print(msg.strip()) # 'Hello Python'
print(msg.replace("Python", "World")) # ' Hello World '
입력값을 처리하거나 CSV 데이터를 다룰 때 거의 필수적으로 사용되는 함수다.
특히 strip()은 사용자 입력 데이터를 다룰 때 가장 먼저 적용되는 함수 중 하나다.
5. 문자열 나누기와 합치기 — split()과 join()의 조합
문자열을 나누거나 다시 합칠 때 사용하는 함수다.
데이터 전처리, 파일 입출력, API 응답 처리 등에서 기본적으로 등장한다.
-
split(sep) : 구분자(sep)를 기준으로 문자열을 나누어 리스트로 반환.
-
join(iterable) : 리스트나 튜플의 요소를 문자열로 합친다.
data = "python,java,c"
langs = data.split(",")
print(langs) # ['python', 'java', 'c']
joined = "-".join(langs)
print(joined) # python-java-c
split()으로 나눈 후 join()으로 다시 합치는 구조는 파이썬 문자열 처리에서 가장 자주 사용되는 패턴이다.
시험에서는 "a,b,c".split(",") → ['a','b','c'] 형태의 정답이 자주 나온다.
6. 문자열 조건 활용 — 자격증 문제에서 자주 보이는 패턴
문자열 함수를 단독으로 쓰기보다 조건문(if)이나 반복문(for)과 함께 쓰는 경우가 많다.
예를 들어 특정 단어를 포함한 문장만 출력하는 식이다.
sentences = ["I love Python", "Java is good", "Python is easy"]
for s in sentences:
if "python" in s.lower():
print(s)
이 예제는 대소문자 구분 없이 "python"이 들어 있는 문장만 출력한다.
이런 문제는 자격증 시험문제에서 자주 등장한다.
조건문과 문자열 함수를 함께 익혀두면 훨씬 쉽게 풀 수 있다.

댓글 쓰기