소개
이 랩에서는 Python 에서 문자열이 제목 대문자 (title case) 인지 확인하는 방법을 배우게 됩니다. 이 랩은 제목 대문자의 개념을 설명하는 것으로 시작합니다. 제목 대문자는 제목이나 머리글에서 일반적으로 사용되는 대문자 스타일로, 각 단어의 첫 글자는 대문자로 표기되지만, 관사, 전치사, 접속사와 같은 작은 단어는 제외됩니다.
그런 다음, 주어진 문자열을 제목 대문자로 변환하는 함수를 포함하는 title_case.py라는 Python 스크립트를 생성합니다. 이 스크립트는 문자열을 단어로 분리하고, 각 단어의 첫 글자를 대문자로 표기하며 (작은 단어 제외), 단어를 다시 결합합니다. 마지막으로, 스크립트를 실행하고 출력을 관찰하여 문자열을 제목 대문자로 변환하는 것을 시연합니다.
제목 대문자 이해
이 단계에서는 제목이나 머리글에서 사용되는 일반적인 대문자 스타일인 제목 대문자에 대해 배우게 됩니다. 제목 대문자를 이해하는 것은 텍스트를 올바르게 서식 지정하고 가독성을 보장하는 데 필수적입니다.
제목 대문자는 각 단어의 첫 글자를 대문자로 표기하는 스타일을 의미하며, 관사 (a, an, the), 전치사 (of, in, to), 접속사 (and, but, or) 와 같은 특정 작은 단어는 예외입니다. 그러나 제목의 첫 번째 단어와 마지막 단어는 유형에 관계없이 항상 대문자로 표기됩니다.
Python 스크립트를 생성하여 제목 대문자를 살펴보겠습니다.
LabEx 환경에서 VS Code 편집기를 엽니다.
~/project디렉토리에title_case.py라는 새 파일을 생성합니다.touch ~/project/title_case.py편집기에서
title_case.py파일을 엽니다.다음 Python 코드를 파일에 추가합니다.
def to_title_case(text): minor_words = ['a', 'an', 'the', 'of', 'in', 'to', 'and', 'but', 'or'] words = text.split() title_cased_words = [] for i, word in enumerate(words): if i == 0 or i == len(words) - 1 or word not in minor_words: title_cased_words.append(word.capitalize()) else: title_cased_words.append(word.lower()) return ' '.join(title_cased_words) text1 = "the quick brown fox" text2 = "learning python is fun" print(to_title_case(text1)) print(to_title_case(text2))이 코드는 주어진 문자열을 제목 대문자로 변환하는
to_title_case함수를 정의합니다. 문자열을 단어로 분리하고, 각 단어의 첫 글자를 대문자로 표기하며 (작은 단어 제외), 단어를 다시 결합합니다.title_case.py파일을 저장합니다.터미널에서
python명령을 사용하여 스크립트를 실행합니다.python ~/project/title_case.py다음 출력을 볼 수 있습니다.
The Quick Brown Fox Learning Python Is Fun이 출력은 스크립트가 입력 문자열을 제목 대문자로 변환하여 각 중요한 단어의 첫 글자를 대문자로 표기하는 방법을 보여줍니다.
istitle() 메서드 사용
이 단계에서는 Python 에서 문자열이 제목 대문자인지 확인하기 위해 istitle() 메서드를 사용하는 방법을 배우게 됩니다. istitle() 메서드는 문자열이 제목 대문자인 경우 True를 반환하고 그렇지 않으면 False를 반환하는 내장 문자열 메서드입니다.
istitle()이 어떻게 작동하는지 이해하기 위해 이전 단계에서 만든 title_case.py 스크립트를 수정해 보겠습니다.
VS Code 편집기에서
title_case.py파일을 엽니다.다음 코드를 파일에 추가합니다.
def to_title_case(text): minor_words = ['a', 'an', 'the', 'of', 'in', 'to', 'and', 'but', 'or'] words = text.split() title_cased_words = [] for i, word in enumerate(words): if i == 0 or i == len(words) - 1 or word not in minor_words: title_cased_words.append(word.capitalize()) else: title_cased_words.append(word.lower()) return ' '.join(title_cased_words) text1 = "the quick brown fox" text2 = "Learning Python is fun" text3 = to_title_case(text1) print(text1.istitle()) print(text2.istitle()) print(text3.istitle())이 코드에서는
istitle()메서드를 사용하여text1,text2,text3가 제목 대문자인지 확인합니다.text1은 소문자이고,text2는 부분적으로 제목 대문자이며,text3은 이전 단계의to_title_case함수를 사용하여text1을 제목 대문자로 변환한 결과입니다.title_case.py파일을 저장합니다.터미널에서
python명령을 사용하여 스크립트를 실행합니다.python ~/project/title_case.py다음 출력을 볼 수 있습니다.
False False True이 출력은
text1과text2가 제목 대문자가 아니므로 (istitle()이False를 반환)text3은 제목 대문자이므로 (istitle()이True를 반환) 를 보여줍니다.
올바른 대문자 사용 확인
이 단계에서는 to_title_case 함수와 istitle() 메서드를 결합하여 주어진 문자열이 제목 대문자 규칙에 따라 적절하게 대문자 표기되었는지 확인하는 방법을 배우게 됩니다. 여기에는 문자열을 제목 대문자로 변환한 다음 변환된 문자열이 실제로 제목 대문자인지 확인하는 작업이 포함됩니다.
이전 단계에서 만든 title_case.py 스크립트를 계속 수정해 보겠습니다.
VS Code 편집기에서
title_case.py파일을 엽니다.다음 코드를 파일에 추가합니다.
def to_title_case(text): minor_words = ['a', 'an', 'the', 'of', 'in', 'to', 'and', 'but', 'or'] words = text.split() title_cased_words = [] for i, word in enumerate(words): if i == 0 or i == len(words) - 1 or word not in minor_words: title_cased_words.append(word.capitalize()) else: title_cased_words.append(word.lower()) return ' '.join(title_cased_words) def check_title_case(text): title_cased_text = to_title_case(text) return title_cased_text.istitle() text1 = "the quick brown fox" text2 = "Learning Python is fun" text3 = "The Quick Brown Fox" print(check_title_case(text1)) print(check_title_case(text2)) print(check_title_case(text3))이 코드에서는 문자열을 입력으로 받아
to_title_case함수를 사용하여 제목 대문자로 변환한 다음istitle()메서드를 사용하여 변환된 문자열이 제목 대문자인지 확인하는 새로운 함수check_title_case를 정의합니다. 그런 다음text1,text2,text3의 세 가지 다른 문자열로 이 함수를 테스트합니다.title_case.py파일을 저장합니다.터미널에서
python명령을 사용하여 스크립트를 실행합니다.python ~/project/title_case.py다음 출력을 볼 수 있습니다.
True True True이 출력은
text1과text2가 제목 대문자로 변환되고istitle()메서드가True를 반환함을 보여줍니다.text3은 이미 제목 대문자이며,check_title_case함수가 이를 확인합니다.
요약
이 Lab 에서는 각 단어의 첫 글자가 대문자로 표기되는 제목 대문자 (title case) 의 개념을 이해하는 것으로 시작합니다. 단, 관사, 전치사, 접속사 (첫 번째 및 마지막 단어는 항상 대문자) 와 같은 중요하지 않은 단어는 예외입니다.
그런 다음, 주어진 문자열을 제목 대문자로 변환하는 to_title_case 함수를 정의하는 title_case.py라는 Python 스크립트를 만듭니다. 이 스크립트는 문자열을 단어로 분리하고, 적절한 단어를 대문자로 표기한 다음, 다시 결합합니다. 마지막으로, 스크립트를 실행하여 출력을 관찰하고, 샘플 문자열을 제목 대문자로 변환하는 것을 보여줍니다.



