Backslash (символ обратной косой черты) в Python

В этом руководстве вы узнаете о символе обратной косой черты (Backslash) в Python как о части специальных последовательностей и об экранировании символов в строке.

Содержание

Что такое обратный слэш в Python?

В Python обратная косая черта(\) является специальным символом. Если вы используете обратную косую черту перед другим символом, это меняет значение этого символа.

Например, t — буквенный символ. Но если вы используете обратный слэш перед буквой t, он станет символом табуляции(\t).

Обычно обратная косая черта преследует две основные цели:

  • Во-первых, символ обратного слэша является частью специальных последовательностей символов, таких как символ табуляции \t или символ новой строки \n.

В следующем примере печатается строка, содержащая символ новой строки:

print('Hello,\n World')

Выход:

Hello,
World

\n — это один символ, а не два. Например:

s = '\n'
print(len(s)) # 1
  • Во-вторых, обратная косая черта(\) экранирует другие специальные символы. Например, если у вас есть строка, содержащая одинарную кавычку внутри строки с одинарными кавычками, как в следующей строке, вам нужно использовать обратную косую черту, чтобы экранировать символ одинарной кавычки:
s = '"Python\'s awesome" She said'
print(s)

Выход:

"Python's awesome" She said

Обратная косая черта в f-строках

PEP-498 указывает, что f-строка не может содержать символ обратной косой черты как часть выражения внутри фигурных скобок {}.

Следующий пример приведет к ошибке:

colors = ['red','green','blue']
s = f'The RGB colors are:\n {'\n'.join(colors)}'
print(s)

Ошибка:

SyntaxError: f-string expression part cannot include a backslash

Чтобы это исправить, вам нужно соединить строки в списке цветов, прежде чем помещать их в фигурные скобки:

colors = ['red','green','blue']
rgb = '\n'.join(colors)
s = f"The RGB colors are:\n{rgb}"
print(s)

Выход:

The RGB colors are:
red
green
blue

Использование в необработанных строках

Необработанные строки рассматривают символ обратной косой черты(\) как литеральный символ.

Пример:

s = r'\n'
print(s)

Выход:

\n
Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *