Ответ 1
r
означает, что строка должна обрабатываться как необработанная строка, что означает, что все escape-коды будут игнорироваться.
Пример:
'\n'
будет рассматриваться как символ новой строки, а r'\n'
будет рассматриваться как символы \
, за которыми следует n
.
Если присутствует префикс
'r'
или'r'
символ, следующий за обратной косой чертой, включены в строку без изменений, и все обратные косые черты остаются в строка. Например, строка буквальныйr"\n"
состоит из двух символы: обратная косая черта и нижний регистр'n'
. Строковые кавычки могут быть сбежал с обратной косой чертой, но обратная косая черта остается в строке; для Например,r"\""
является допустимой строкой буквальный, состоящий из двух символов: обратная косая черта и двойная кавычка;r"\"
не является допустимым строковым литералом (даже необработанная строка не может заканчиваться нечетным числом обратной косой черты). В частности, необработанный строка не может завершиться одним обратная косая черта (поскольку обратная косая черта избегайте следующего символа цитаты). Отметим также, что одна обратная косая черта интерпретируется новая строка как эти два символа как часть string, а не как продолжение строки.
Источник: Строковые литералы Python