Работа со строками в Python: литералы
Строки в Python - упорядоченные последовательности символов, используемые для хранения и представления текстовой информации, поэтому с помощью строк можно работать со всем, что может быть представлено в текстовой форме.
Это первая часть о работе со строками, а именно о литералах строк.
Литералы строк
Работа со строками в Python очень удобна. Существует несколько литералов строк, которые мы сейчас и рассмотрим.
Строки в апострофах и в кавычках
S = 'spam"s' S = "spam's"
Строки в апострофах и в кавычках - одно и то же. Причина наличия двух вариантов в том, чтобы позволить вставлять в литералы строк символы кавычек или апострофов, не используя экранирование.
Экранированные последовательности - служебные символы
Экранированные последовательности позволяют вставить символы, которые сложно ввести с клавиатуры.
Экранированная последовательность | Назначение |
---|---|
\n | Перевод строки |
\a | Звонок |
\b | Забой |
\f | Перевод страницы |
\r | Возврат каретки |
\t | Горизонтальная табуляция |
\v | Вертикальная табуляция |
\N{id} | Идентификатор ID базы данных Юникода |
\uhhhh | 16-битовый символ Юникода в 16-ричном представлении |
\Uhhhh… | 32-битовый символ Юникода в 32-ричном представлении |
\xhh | 16-ричное значение символа |
\ooo | 8-ричное значение символа |
\0 | Символ Null (не является признаком конца строки) |
"Сырые" строки - подавляют экранирование
Если перед открывающей кавычкой стоит символ 'r' (в любом регистре), то механизм экранирования отключается.
S = r'C:\newt.txt'
Но, несмотря на назначение, "сырая" строка не может заканчиваться символом обратного слэша. Пути решения:
S = r'\n\n\\'[:-1] S = r'\n\n' + '\\' S = '\\n\\n'
Строки в тройных апострофах или кавычках
Главное достоинство строк в тройных кавычках в том, что их можно использовать для записи многострочных блоков текста. Внутри такой строки возможно присутствие кавычек и апострофов, главное, чтобы не было трех кавычек подряд.
>>> c = '''это очень большая ... строка, многострочный ... блок текста''' >>> c 'это очень большая\nстрока, многострочный\nблок текста' >>> print(c) это очень большая строка, многострочный блок текста
Это все о литералах строк и работе с ними. О функциях и методах строк я расскажу в следующей статье.