Строки
Строка - это неизменная последовательность символов, которая рассматривается как значение. Строки поддерживают все функции и операторы с неизменными последовательностями, которые дают на выходе новую строку. Например, "abcdef"[1:4]
дает в результате "bcd"
.
В Python символы представлены строками единичной длины.
Строковые литералы определяются использованием одинарных или тройных кавычек.
Строки, определенные одинарными кавычками, не могут распространяться на несколько строк кода, а строки с тройными кавычками могут. Строка может заключаться в одинарные ('
) или в двойные кавычки ("
).
Между символами кавычек могут содержаться другие символы кавычек, не обозначающие переход, или символы кавычек с переходом, перед которыми должен стоять знак обратной дробной черты
(\
).
Примеры
"Это строка"
'Это тоже строка'
"It's a string"
'Эта книга называется "Руководство по автоматизации и сценариям Python".'
"Это кавычка, заданная с использованием эскейп-символа (\") в закавыченной строке"
Несколько строк, разделенных пробельным символом, автоматически объединяются синтаксическим анализатором Python. Так проще вводить длинные строки и совместно использовать разные типы кавычек в одной строке, например:
"В этой строке используется ', а " 'в этой строке используется ".'
Это приводит к следующему выводу:
В этой строке используется ', а в этой строке используется ".
Строки поддерживают несколько полезных методов. Некоторые из них приведены в следующей таблице.
Метод | Использование |
---|---|
s.capitalize() |
Переводит в верхний регистр начальные символы s |
s.count(ss {,start {,end}}) |
Считает количество ss в s[start:end] |
|
Проверяет, начинается ли
s с str Проверяет, заканчивается ли s на str |
s.expandtabs({size}) |
Заменяет символы табуляции на пробелы, по умолчанию значение size - 8 |
|
Ищет первое вхождение str в s ;
если не находит, возвращает -1. rfind ищет справа налево. |
|
Находит первое вхождение str в s ;
если не находит, выводит ошибку ValueError . rindex ищет справа налево. |
s.isalnum |
Проверяет, состоит ли строка из букв и цифр |
s.isalpha |
Проверяет, состоит ли строка из букв |
s.isnum |
Проверяет, состоит ли строка из цифр |
s.isupper |
Проверяет, используется ли в строке только верхний регистр |
s.islower |
Проверяет, используется ли в строке только нижний регистр |
s.isspace |
Проверяет, состоит ли строка только из пробельных символов |
s.istitle |
Проверяет, состоит ли строка из последовательности алфавитно-цифровых строк, начинающихся символом капители |
|
Преобразует все в нижний регистр
Преобразует все в верхний регистр Преобразует все в противоположный регистр Преобразует первую букву каждого слова в верхний регистр, а прочие буквы - в нижний регистр |
s.join(seq) |
Объединяет строки в seq , используя s как разделитель |
s.splitlines({keep}) |
Разбивает s на строки; если значение keep - true , сохраняет переход на новые строки |
s.split({sep {, max}}) |
Разделяет s на "слова", используя sep (по умолчанию sep - это пробельный символ); число повторений действия - max |
|
Выравнивает строку по левому краю в поле
ширины width Выравнивает строку по правому краю в поле ширины width Выравнивает строку по центру в поле ширины width Дополняет символами 0. |
|
Удаляет пробельные символы в начале
Удаляет пробельные символы в конце Удаляет начальные и конечные пробельные символы |
s.translate(str {,delc}) |
Переводит s с помощью таблицы, после удаления всех символов delc . str должна быть строкой длины == 256 . |
s.replace(old, new {, max}) |
Заменяет все или max строк old на строку new |