Что значит 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 означает, что строка является сырой строкой.
Это позволяет игнорировать специальные символы, такие как обратный слеш.
Сырые строки особенно полезны при работе с регулярными выражениями и указании путей к файлам.