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

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

[

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

Автор: Бартож Зачиньский, 24 января 2024 г.

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

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

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

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

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

  • b: литерал байтов
  • f: форматированный строковый литерал
  • u: устаревший литерал строки Юникода (PEP 414)

Из этих префиксов вам могут быть наиболее знакомы

Создание строки символов часто является одним из первых навыков, которые вы изучаете при изучении нового языка программирования. В книге “Основы Python” и пути изучения Python этой же теме уделяется внимание прямо с самого начала. В Python вы можете определять литералы строк в вашем исходном коде, заключая текст либо в одинарные кавычки ('), либо в двойные кавычки ("):

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

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

>>> poem = '''
... Красивое лучше, чем уродливое.
... Явное лучше, чем неявное.
... Простое лучше, чем сложное.
... Сложное лучше, чем запутанное.
... '''

Многострочные строковые литералы могут действовать как

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

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