Как проверить, находится ли строка в заглавном регистре (title case) в Python

PythonPythonBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь проверять, находится ли строка в заглавном регистре (title case) на Python. Практическое занятие начинается с объяснения концепции заглавного регистра (title case) — стиля написания заголовков, где первая буква каждого слова пишется с заглавной буквы, за исключением мелких слов, таких как артикли, предлоги и союзы.

Затем вы создадите скрипт на Python с именем title_case.py, который будет содержать функцию для преобразования заданной строки в заглавный регистр (title case). Скрипт разделяет строку на слова, делает первую букву каждого слова заглавной (за исключением мелких слов) и снова объединяет слова в строку. Наконец, вы запустите скрипт и посмотрите на вывод, чтобы убедиться, что строки преобразуются в заглавный регистр (title case).


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/strings -.-> lab-559580{{"Как проверить, находится ли строка в заглавном регистре (title case) в Python"}} python/conditional_statements -.-> lab-559580{{"Как проверить, находится ли строка в заглавном регистре (title case) в Python"}} python/function_definition -.-> lab-559580{{"Как проверить, находится ли строка в заглавном регистре (title case) в Python"}} python/build_in_functions -.-> lab-559580{{"Как проверить, находится ли строка в заглавном регистре (title case) в Python"}} end

Понимание заглавного регистра (title case)

На этом этапе вы узнаете о заглавном регистре (title case) — общем стиле написания заголовков и шапок. Понимание заглавного регистра (title case) является важным для правильного форматирования текста и обеспечения его читаемости.

Заглавный регистр (title case) относится к стилю, при котором первая буква каждого слова пишется с заглавной буквы, за исключением определенных мелких слов, таких как артикли (a, an, the), предлоги (of, in, to) и союзы (and, but, or). Однако первое и последнее слова заголовка всегда пишутся с заглавной буквы, независимо от их типа.

Начнем с создания скрипта на Python для изучения заглавного регистра (title case).

  1. Откройте редактор VS Code в среде LabEx.

  2. Создайте новый файл с именем title_case.py в директории ~/project.

    touch ~/project/title_case.py
  3. Откройте файл title_case.py в редакторе.

  4. Добавьте следующий код на 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). Он разбивает строку на слова, делает первую букву каждого слова заглавной (за исключением мелких слов), а затем снова объединяет слова в строку.

  5. Сохраните файл title_case.py.

  6. Запустите скрипт с помощью команды python в терминале:

    python ~/project/title_case.py

    Вы должны увидеть следующий вывод:

    The Quick Brown Fox
    Learning Python Is Fun

    Этот вывод показывает, как скрипт преобразует входные строки в заглавный регистр (title case), делая первую букву каждого значимого слова заглавной.

Использование метода istitle()

На этом этапе вы научитесь использовать метод istitle() в Python для проверки, находится ли строка в заглавном регистре (title case). Метод istitle() является встроенным методом строки, который возвращает True, если строка написана в заглавном регистре (title case), и False в противном случае.

Для того чтобы понять, как работает метод istitle(), изменим скрипт title_case.py из предыдущего этапа.

  1. Откройте файл title_case.py в редакторе VS Code.

  2. Добавьте следующий код в файл:

    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 в заглавном регистре (title case). Строка text1 написана в нижнем регистре, строка text2 частично соответствует заглавному регистру (title case), а строка text3 является результатом преобразования строки text1 в заглавный регистр (title case) с использованием функции to_title_case из предыдущего этапа.

  3. Сохраните файл title_case.py.

  4. Запустите скрипт с помощью команды python в терминале:

    python ~/project/title_case.py

    Вы должны увидеть следующий вывод:

    False
    False
    True

    Этот вывод показывает, что строки text1 и text2 не находятся в заглавном регистре (title case) (поэтому метод istitle() возвращает False), в то время как строка text3 находится в заглавном регистре (title case) (поэтому метод istitle() возвращает True).

Проверка правильного написания с заглавными буквами

На этом этапе вы научитесь комбинировать функцию to_title_case и метод istitle() для проверки, правильно ли написана заданная строка в соответствии с правилами заглавного регистра (title case). Это включает преобразование строки в заглавный регистр (title case) и последующую проверку, действительно ли преобразованная строка находится в таком регистре.

Продолжим изменять скрипт title_case.py из предыдущих этапов.

  1. Откройте файл title_case.py в редакторе VS Code.

  2. Добавьте следующий код в файл:

    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))

    В этом коде мы определяем новую функцию check_title_case, которая принимает строку в качестве входных данных, преобразует ее в заглавный регистр (title case) с использованием функции to_title_case, а затем использует метод istitle() для проверки, находится ли преобразованная строка в заглавном регистре (title case). Затем мы тестируем эту функцию на трех разных строках: text1, text2 и text3.

  3. Сохраните файл title_case.py.

  4. Запустите скрипт с помощью команды python в терминале:

    python ~/project/title_case.py

    Вы должны увидеть следующий вывод:

    True
    True
    True

    Этот вывод показывает, что строки text1 и text2 преобразуются в заглавный регистр (title case), и метод istitle() возвращает True. Строка text3 уже находится в заглавном регистре (title case), и функция check_title_case подтверждает это.

Резюме

В этом практическом занятии (лабораторной работе) вы начали с понимания концепции заглавного регистра (title case) — стиля написания, при котором первая буква каждого слова пишется с заглавной буквы, за исключением незначительных слов, таких как артикли, предлоги и союзы (при этом первое и последнее слова всегда пишутся с заглавной буквы).

Затем вы создали скрипт на Python с именем title_case.py, в котором определена функция to_title_case для преобразования заданной строки в заглавный регистр (title case). Скрипт разбивает строку на слова, делает первую букву соответствующих слов заглавной и снова объединяет их в строку. Наконец, вы запускаете скрипт, чтобы увидеть вывод, демонстрирующий преобразование примеров строк в заглавный регистр (title case).