Что значит r перед строкой в Python?

Когда перед строкой в Python ставится символ "r", это означает "сырую" строку или "строку-литерал".

В "сырой" строке обратный слеш "\" не трактуется как специальный символ, а воспринимается буквально.


# Примеры
path = r"C:\Users\Username\Documents"  # обратный слеш игнорируется
print(path)  # Output: C:\Users\Username\Documents

pattern = r"(\d{3})-(\d{3})-(\d{4})"  # используется для регулярных выражений

Детальный ответ

Что значит r перед строкой в Python?

В Python, перед строкой вы можете использовать префикс r для обозначения сырой строки. Что значит "сырая строка"? Давайте разберемся!

Обычные строки в Python

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

print("Привет, мир!")

В этом примере мы выводим на экран фразу "Привет, мир!". Но что если мы хотим вывести строку, которая содержит символ обратного слеша, без того, чтобы он интерпретировался особым образом?

print("C:\new\folder")  # Ошибка!

Если мы попробуем напечатать путь к папке "C:\new\folder", Python выдаст ошибку. Это происходит потому, что \n интерпретируется как символ новой строки. Как же нам избежать такого поведения и вывести строку, как есть?

Сырые строки в Python

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

print(r"C:\new\folder")  # Выводит C:\new\folder

Теперь Python выведет строку "C:\new\folder" без ошибок, поскольку он игнорирует обратный слеш и не интерпретирует его как специальный символ.

Применение сырых строк

Префикс r перед строкой находит свое применение во многих ситуациях. Например, при работе с регулярными выражениями или путями к файлам в операционной системе Windows.

Вот примеры использования сырых строк в регулярных выражениях:

import re

pattern = r"\d+"  # Ищет одну или более цифр
result = re.findall(pattern, "Возраст: 25 лет")

print(result)  # Выводит ['25']

В этом примере мы используем сырую строку r"\d+" для поиска одной или более цифр. Это позволяет нам избежать интерпретации обратного слеша как управляющего символа.

Также, при указании пути к файлу в операционной системе Windows, сырые строки облегчают работу:

file_path = r"C:\Documents\file.txt"

with open(file_path) as file:
    content = file.read()

print(content)

В этом примере мы используем сырую строку r"C:\Documents\file.txt" для указания пути к файлу. Это позволяет нам избежать проблем с интерпретацией обратных слешей в пути.

Заключение

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

Видео по теме

#11. Спецсимволы, экранирование символов, raw-строки | Python для начинающих

🐍R-STRING:НЕОБРАБОТАННЫЕ СТРОКИ,ИГНОРИРОВАНИЕ ЭКРАНИРОВАНИЯ,ЭСКЕЙП ПОСЛЕДОВАТЕЛЬНОСТ #SHORTS #PYTHON

041. Совмещение R и Python Зачем, когда и как - Ирина Голощапова

Похожие статьи:

🔬 Как сделать текст в питоне: 7 простых способов для эффективной работы с текстом в языке Python

Что такое список в Python и для чего он нужен?

🔥 Как удалить символы в начале строки python | Полезные советы и трюки

Что значит r перед строкой в Python?

🔍 Подготовка к работе с документацией Python: полезные советы и техники

Что значит n mod 3 2 в Питоне? 🤔

🗑️ Как удалить виртуальное окружение Python в Ubuntu | Полное руководство