Python에서 문자열 첫 글자를 대문자로 변환하는 방법
Python에서 문자열을 다룰 때 첫 글자만 대문자로 바꾸거나, 각 단어의 첫 글자를 모두 대문자로 변환해야 하는 경우가 자주 있습니다. 상황에 따라 capitalize(), 문자열 슬라이싱, title(), upper() 등 다양한 방법을 활용할 수 있습니다.
1. capitalize() 메서드로 첫 글자만 대문자로 변환
문자열의 맨 앞 글자만 대문자로 바꾸고 나머지는 소문자로 유지하고 싶다면, 문자열 클래스의 capitalize() 메서드를 사용하면 됩니다.
>>> s = "my name" >>> s.capitalize() 'My name'
capitalize()는 첫 글자를 대문자로 만들고, 나머지 모든 문자를 자동으로 소문자로 변환한다는 점에 유의하세요.
2. 문자열 슬라이싱으로 직접 구현하기
메서드를 사용하지 않고 문자열 슬라이싱(slicing)을 이용해 동일한 결과를 얻을 수도 있습니다. 첫 번째 문자만 추출해 대문자로 변환한 뒤, 나머지 부분과 연결하는 방식입니다.
>>> s = "my name" >>> s = s[:1].upper() + s[1:] >>> s 'My name'
이 방법은 첫 글자만 대문자로 바꾸고 나머지 문자의 원래 대소문자는 그대로 유지하고 싶을 때 특히 유용합니다.
3. title() 메서드로 각 단어의 첫 글자를 대문자로 변환
문자열 내 모든 단어의 첫 글자를 대문자로 만들고 싶다면 title() 메서드를 사용하는 것이 가장 간단합니다.
>>> s = "my name" >>> s.title() 'My Name'
title()은 공백뿐만 아니라 하이픈(-)이나 숫자 뒤의 문자도 새로운 단어의 시작으로 인식한다는 점을 참고하세요.
4. 보너스: upper()로 문자열 전체를 대문자로 변환
첫 글자가 아니라 문자열 전체를 대문자로 바꾸고 싶다면 upper() 메서드를 사용하면 됩니다.
>>> s = "my name" >>> s.upper() 'MY NAME'
정리
- capitalize(): 첫 글자만 대문자, 나머지는 소문자로 변환
- 슬라이싱 + upper(): 첫 글자만 대문자로 바꾸고 원래 대소문자 유지
- title(): 각 단어의 첫 글자를 모두 대문자로 변환
- upper(): 문자열 전체를 대문자로 변환
상황에 맞는 메서드를 선택하면 Python에서 문자열 대소문자 처리를 훨씬 효율적으로 할 수 있습니다.