MyTetra Share
Делитесь знаниями!
Работа со строками в Python: литералы
Время создания: 29.07.2019 23:51
Раздел: !Закладки - Python - Типы данных в Python

Работа со строками в Python: литералы

Строки в Python - упорядоченные последовательности символов, используемые для хранения и представления текстовой информации, поэтому с помощью строк можно работать со всем, что может быть представлено в текстовой форме.

Это первая часть о работе со строками, а именно о литералах строк.

Литералы строк

Работа со строками в Python очень удобна. Существует несколько литералов строк, которые мы сейчас и рассмотрим.

Строки в апострофах и в кавычках

S = 'spam"s'

S = "spam's"


Строки в апострофах и в кавычках - одно и то же. Причина наличия двух вариантов в том, чтобы позволить вставлять в литералы строк символы кавычек или апострофов, не используя экранирование.

Экранированные последовательности - служебные символы

Экранированные последовательности позволяют вставить символы, которые сложно ввести с клавиатуры.

Экранированная последовательностьНазначение
\nПеревод строки
\aЗвонок
\bЗабой
\fПеревод страницы
\rВозврат каретки
\tГоризонтальная табуляция
\vВертикальная табуляция
\N{id}Идентификатор ID базы данных Юникода
\uhhhh16-битовый символ Юникода в 16-ричном представлении
\Uhhhh…32-битовый символ Юникода в 32-ричном представлении
\xhh16-ричное значение символа
\ooo8-ричное значение символа
\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)

это очень большая

строка, многострочный

блок текста


Это все о литералах строк и работе с ними. О функциях и методах строк я расскажу в следующей статье.

 
MyTetra Share v.0.53
Яндекс индекс цитирования