Строки
Строки в Python - упорядоченные последовательности символов, используемые для хранения и представления текстовой информации, поэтому с помощью строк можно работать со всем, что может быть представлено в текстовой форме.
Литералы строк
Что такое литерал? Литерал (англ. literal), или безымянная константа — запись в исходном коде компьютерной программы, представляющая собой фиксированное значение.
Когда мы писали в программе
a = 1 a = 2.5
1 и 2.5 - это примеры литералов. Если числа очевидно, какими литералами обозначаются (хотя некоторые могут путать точку и запятую для отделения дробной части), то у строк возможных литералов гораздо больше.
Строки в апострофах и в кавычках
string = 'spam' string = "spam"
Строки в апострофах и в кавычках - одно и то же. Причина наличия двух вариантов в том, чтобы позволить вставлять в литералы строк символы кавычек или апострофов, не используя экранированные последовательности.
>>> string = '"sp"am"' >>> print(string) "sp"am" >>> string = "'sp'am'" >>> print(string) 'sp'am'
Экранированные последовательности
Экранированные последовательности позволяют вставить символы, которые сложно, или невозможно ввести с клавиатуры.
Экранированная последовательность | Назначение |
---|---|
\n | Перевод строки |
\a | Звонок |
\b | Забой |
\f | Перевод страницы |
\r | Возврат каретки |
\t | Горизонтальная табуляция |
\v | Вертикальная табуляция |
\N{id} | Идентификатор ID базы данных Unicode |
\uhhhh | 16-битовый символ Unicode в 16-ричном представлении |
\Uhhhh… | 32-битовый символ Unicode в 32-ричном представлении |
\xhh | 16-ричное значение символа |
\ohh | 8-ричное значение символа |
\0 | Символ Null (не является признаком конца строки, как, например, в языке C) |
>>> print("Привет\nмир") Привет мир >>> print("\N{YI SYLLABLE IT}") ꀀ >>> print("\U0001f604") 😄
Строки в тройных апострофах или кавычках
Главное достоинство строк в тройных кавычках в том, что их можно использовать для записи многострочных блоков текста. Внутри такой строки возможно присутствие кавычек и апострофов, главное, чтобы не было трёх кавычек подряд (либо хотя бы одна из них должна быть экранирована).
>>> c = '''это очень большая ... строка, многострочный ... блок текста''' >>> c 'это очень большая\nстрока, многострочный\nблок текста' >>> print(c) это очень большая строка, многострочный блок текста
"Сырые" строки - подавляют экранирование
Если перед открывающей кавычкой стоит символ 'r' (в любом регистре), то механизм экранирования отключается.
S = r'C:\newt.txt'
Операции над строками
Строка в Python ведёт себя как массив символов, а значит, можно применять индексы и срезы:
>>> string = "Привет, pyplanet" >>> string[0] 'П' >>> string[-1] 't' >>> string[8:] 'pyplanet' >>> string[::-1] 'tenalpyp ,тевирП' >>> string[::2] 'Пие,ppae'
Полный список строковых методов есть в нашем справочнике.
Приведу несколько примеров, а вообще, если необходимо что-то конкретное, то Google в помощь; возможно, нужная вам процедура реализована и есть в строковых методах (это касается любых типов данных, функций и прочего).
>>> string = "Привет, pyplanet" >>> string.upper() 'ПРИВЕТ, PYPLANET' >>> string.replace("и", "е") 'Превет, pyplanet' >>> string.split() ['Привет,', 'pyplanet']