Автор оригинала: Pankaj Kumar.
Python Raw String создается с помощью префикса строкового литерала с помощью «R» или «R». Python Raw String обрабатывает обратную косание (\) как буквальный характер. Это полезно, когда мы хотим иметь строку, которая содержит обратную косание, и не хочет, чтобы она рассматривалась как эвакуатор.
Python Raw String.
Допустим, мы хотим создать строку Привет \ nhello в питоне. Если мы попытаемся назначить его в нормальную строку, \ n будет рассматриваться как новая строка.
s = 'Hi\nHello' print(s)
Выход:
Hi Hello
Давайте посмотрим, насколько сырая строка помогает нам обрабатывать обратную косание как нормальный характер.
raw_s = r'Hi\nHello' print(raw_s)
Выход: Привет \ nhello
Давайте увидим другой пример, когда персонаж, за которым следует обратная косание, не имеет особого значения.
>>> s = 'Hi\xHello' File "", line 1 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \xXX escape
Мы получили ошибку, потому что Python не знает, как декодировать «\ x», так как у него нет особого значения. Давайте посмотрим, как мы можем создать одну и ту же строку, используя сырые строки.
>>> s = r'Hi\xHello' >>> print(s) Hi\xHello
>>> r'Hi\xHello' 'Hi\\xHello'
Не путайтесь с выходом, имеющим две обратные кашилы. Это просто чтобы показать его как нормальную строку Python, где обратная косая черта бегается.
Python Raw String и цитаты
Когда обратная косание сопровождается цитатой в сырой строке, она сбежала. Однако обратная косание также остается в результате. Из-за этой функции мы не можем создать необработанную строку одной обратной ячейки. Также необрабатывающая строка не может иметь нечетное количество обратных стяков в конце.
Некоторые из недействительных сырых строк:
r'\' # missing end quote because the end quote is being escaped r'ab\\\' # first two backslashes will escape each other, the third one will try to escape the end quote.
Давайте посмотрим на некоторые из действующих примеров сырой строки с цитатами.
raw_s = r'\'' print(raw_s) raw_s = r'ab\\' print(raw_s) raw_s = R'\\\"' # prefix can be 'R' or 'r' print(raw_s)
Выход:
\' ab\\ \\\"
Это все для быстрого введения плавной строки Python.