Пропустить до содержимого

Как использовать и исправить операции с реализацией сырой строки в Python

[

Что такое “сырые строки” в Python?

by Bartosz Zaczyński Jan 24, 2024

Вкратце: сырые строки в Python игнорируют последовательности управляющих символов

Если вы когда-либо сталкивались со стандартной строкой, которая начинается с префиксов r или R, то вы встретили сырую строку в Python:

>>> r"Это сырая строка"
'Это сырая строка'

Хотя сырая строка выглядит и ведет себя практически так же, как обычная строка, есть важная разница в том, как Python интерпретирует некоторые ее символы, о чем вы узнаете в этом руководстве.

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

Другие префиксы, доступные вам и иногда даже комбинируемые в вашем строковых литералах, включают:

  • b: Литерал байтов
  • f: Форматированный строковый литерал
  • u: Устаревший литерал строки Unicode (PEP 414)

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

paths/python-basics/) по Python, этой теме уделяется особое внимание с самого начала. В Python вы можете определить строковые литералы в своем исходном коде, заключив текст в одинарные (') или двойные кавычки ("):

>>> david = 'Она сказала "Я тебя люблю".'
>>> alice = "О, это замечательно слышать!"

Такой выбор позволяет избежать синтаксической ошибки, когда ваш текст содержит один из этих разделительных символов (' или "). Например, если вам нужно представить апостроф в строке, вы можете заключить свой текст в двойные кавычки. В альтернативу можно использовать многострочные строки, чтобы объединить оба типа разделителей внутри текста.

>>> poem = """
... Красивое лучше безобразного.
... Явное лучше неявного.
... Простое лучше сложного.
... Сложное лучше запутанного.
... """

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

Когда вы используете префикс r, вы превращаете соответствующий строковый литерал в его сырую строковую версию. Так что, что же такое сырые строки в Python?

cheatsheet/), которая показывает вам полный список последовательностей управляющих символов.