При разработке приложения для текстового редактора на языке Python я создал функцию, которая позволяет вставлять символы в строку с помощью escape-последовательностей. Например, для вставки символа одинарной кавычки, пробела и других специальных символов я использовал обратную косую черту.

Содержание

Что означает escape-последовательность

Escape-последовательность — это специальный символ, который рассматривается интерпретатором Python как нечто особенное при встрече с ним в строковом литерале.

Python определяет, что перед ним именно escape-последовательность, благодаря обратной косой черте («\»), за которой следует определённый символ.

Некоторые символы нельзя вставить в строку Python напрямую — это так называемые **недопустимые символы**. Например, если вы попытаетесь добавить в строку одинарную кавычку, Python выдаст ошибку, так как интерпретирует её неправильно.

Попробуйте выполнить следующий код:

task = 'I wake at 2 o'clock'
print(task)

Ошибка Escape-последовательности в Python

Когда вы пытаетесь сохранить строку «Я просыпаюсь в 2 часа», возникает синтаксическая ошибка. Проблема в том, что в этой строке есть одинарная кавычка в позиции «2 часа».

Кроме того, вы можете заметить, что строка заключена в одинарные кавычки: «Я просыпаюсь в 2 часа». Из-за этого интерпретатор не может понять, какая именно одинарная кавычка является концом строки.

Чтобы исправить эту проблему, нужно использовать одинарную кавычку внутри строки везде, где вы хотите поставить обратную косую черту (‘\’). Вот пример кода: str = ‘Я просыпаюсь в \’2 часа\».

task = 'I wake at 2 o\'clock'
print(task)

Что означает escape-последовательность в Python

А теперь давайте посмотрим на результат. В этот раз одинарная кавычка вставляется с помощью обратной косой черты, чтобы можно было избежать этой последовательности.

Существуют разные типы escape-последовательностей, которые мы рассмотрим далее.

Escape-последовательность Описание
\\ Обратная косая черта(\)
\’ Одинарная кавычка(‘)
Двойная кавычка(«»)
\n Новая линия
\ t Вкладка
\r Возврат каретки
\b Backspace
\ f Подача формы
\ооо Символ с восьмеричным значением «ооо»
\xhh Символ с шестнадцатеричным значением hh

Вставка пробела

Чтобы вставить пробел между строками в Python, можно воспользоваться escape-символом для горизонтальной табуляции, который обозначается как ‘\t’.

Например, если у вас есть данные, которые вы хотите разделить для удобства чтения, вы можете использовать символ табуляции ‘\t’.

Например, напечатайте следующие записи, как показано в коде.

print("Section 1:2023 Sales Data")

Вставка пробела

Посмотрите на результат, он не очень удобен для чтения.

Предположим, вам нужно вставить пробел между точкой с запятой (:) и данными о продажах за 2023 год. Для этого можно использовать ‘\t’, как показано в следующем коде:

print("Section 1:\t2023 Sales Data")

Пространство выхода Python

Теперь вы можете видеть, что символ ‘\t’ вставляет в строку пробел, что делает запись более читаемой.

Рассмотрим ещё один пример, который содержит более одной записи. Вот код для этого:

print("Section 1:\t2023 Sales Data")
print("Section 2:\t2023 Expense Data")
print("Section 3:\t2023 Product Sale Data")

Escape-последовательность для пробела в Python

Возврат последовательности

Escape-последовательность представлена как «\b». Она используется для удаления или стирания пробела между строками.

Например, если у вас есть строка «PythonPythonguides», выполните следующий код.

print( 'PythonPythonguides')

Возврат Escape-последовательности в примере Python

Обратите внимание на ошибку в строке. Она должна содержать только «Pythonguides», но похоже, что там написано «PythonPythonguides». Чтобы убрать слово «Python», можно использовать клавишу возврата «\b».

Для этого нужно знать, сколько символов вы хотите удалить или вернуть. В нашем случае слово «python» состоит из шести символов, поэтому после слова «Python» нужно указать символ возврата «\b» шесть раз. Вот пример кода:

print( 'Python\b\b\b\b\b\bPythonguides')

Escape-последовательность Backspace в Python

Обратите внимание, как слово «Python» исчезает из «PythonPythonguides». При использовании клавиши Backspace, пространство удаляется справа налево. Исходя из названия, это действие напоминает функцию backspace, которая удаляет пробелы в обратном направлении.

Подача формы

Последовательность символов для перевода строки выглядит как «\f». Подача формы — это невидимые символы, которые вставляются в строку; вы можете не заметить их, но текстовые редакторы используют их. Этот символ перевода строки называется управляющим символом разрыва страницы или разделителем страниц.

Он перемещает курсор на следующую страницу. Например, предположим, вам нужно добавить логический разрыв страницы в текстовый файл.

Допустим, вы храните распечатанные отчёты в текстовом файле. В этом случае вам следует использовать символы подачи формы, чтобы обозначить конец страницы и начало следующей. Для этого выполните следующий код и разберитесь в нём.

report = "2024 Sales Report\n-----------------\nJanuary: $5000\nFebruary: $6000\fMarch: $7000\nApril: $8000\n\fSummary: Sales are increasing."
with open("sales_report.txt", "w") as file:
 file.write(report)

Подача формы Escape-последовательности в Python

Когда вы выполняете этот код, в вашем каталоге создаётся новый файл с именем «sales_report.text», в который записывается отчёт. Вы можете увидеть отчёт в выводе, который представлен выше.

В правой части экрана находится файл, содержащий все данные отчёта. Также виден перевод страницы, обозначенный маленьким красным прямоугольником FF.

Форма подачи не отображается в текстовом файле, но я показал вам, как она выглядит, чтобы вы могли лучше понять процесс.

Добавить комментарий