Строки

Строка - это неизменная последовательность символов, которая рассматривается как значение. Строки поддерживают все функции и операторы с неизменными последовательностями, которые дают на выходе новую строку. Например, "abcdef"[1:4] дает в результате "bcd".

В Python символы представлены строками единичной длины.

Строковые литералы определяются использованием одинарных или тройных кавычек. Строки, определенные одинарными кавычками, не могут распространяться на несколько строк кода, а строки с тройными кавычками могут. Строка может заключаться в одинарные (') или в двойные кавычки ("). Между символами кавычек могут содержаться другие символы кавычек, не обозначающие переход, или символы кавычек с переходом, перед которыми должен стоять знак обратной дробной черты (\).

Примеры

"Это строка"
'Это тоже строка'
"It's a string"
'Эта книга называется "Руководство по автоматизации и сценариям Python".'
"Это кавычка, заданная с использованием эскейп-символа (\") в закавыченной строке"

Несколько строк, разделенных пробельным символом, автоматически объединяются синтаксическим анализатором Python. Так проще вводить длинные строки и совместно использовать разные типы кавычек в одной строке, например:

"В этой строке используется ', а " 'в этой строке используется ".'

Это приводит к следующему выводу:

В этой строке используется ', а в этой строке используется ".

Строки поддерживают несколько полезных методов. Некоторые из них приведены в следующей таблице.

Табл. 1. Строковые методы
Метод Использование
s.capitalize() Переводит в верхний регистр начальные символы s
s.count(ss {,start {,end}}) Считает количество ss в s[start:end]
s.startswith(str {, start {, end}})
s.endswith(str {, start {, end}}) 
Проверяет, начинается ли s с str
Проверяет, заканчивается ли s на str
s.expandtabs({size}) Заменяет символы табуляции на пробелы, по умолчанию значение size - 8
s.find(str {, start {, end}})
s.rfind(str {, start {, end}})
Ищет первое вхождение str в s; если не находит, возвращает -1. rfind ищет справа налево.
s.index(str {, start {, end}})
s.rindex(str {, start {, end}})
Находит первое вхождение str в s; если не находит, выводит ошибку ValueError. rindex ищет справа налево.
s.isalnum Проверяет, состоит ли строка из букв и цифр
s.isalpha Проверяет, состоит ли строка из букв
s.isnum Проверяет, состоит ли строка из цифр
s.isupper Проверяет, используется ли в строке только верхний регистр
s.islower Проверяет, используется ли в строке только нижний регистр
s.isspace Проверяет, состоит ли строка только из пробельных символов
s.istitle Проверяет, состоит ли строка из последовательности алфавитно-цифровых строк, начинающихся символом капители
s.lower()
s.upper()
s.swapcase()
s.title()
Преобразует все в нижний регистр
Преобразует все в верхний регистр
Преобразует все в противоположный регистр
Преобразует первую букву каждого слова в верхний
регистр, а прочие буквы - в нижний регистр
s.join(seq) Объединяет строки в seq, используя s как разделитель
s.splitlines({keep}) Разбивает s на строки; если значение keep - true, сохраняет переход на новые строки
s.split({sep {, max}}) Разделяет s на "слова", используя sep (по умолчанию sep - это пробельный символ); число повторений действия - max
s.ljust(width)
s.rjust(width)
s.center(width)
s.zfill(width)
Выравнивает строку по левому краю в поле
ширины width
Выравнивает строку по правому краю в поле
ширины width
Выравнивает строку по центру в поле ширины width
Дополняет символами 0.
s.lstrip()
s.rstrip()
s.strip()
Удаляет пробельные символы в начале
Удаляет пробельные символы в конце
Удаляет начальные и конечные пробельные символы
s.translate(str {,delc}) Переводит s с помощью таблицы, после удаления всех символов delc. str должна быть строкой длины == 256.
s.replace(old, new {, max}) Заменяет все или max строк old на строку new