Простой Python. Современный стиль программирования (Любанович) - страница 25

Строки являются первым примером последовательностей в Python. В частности, они представляют собой последовательности символов.

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

Скоро вы узнаете, как это делается.

Создаем строки с помощью кавычек

Строка в Python создается заключением символов в одинарные или двойные кавычки, как показано в следующем примере:

>>>> 'Snap'

>'Snap'

>>>> "Crackle"

>'Crackle'

Интерактивный интерпретатор выводит на экран строки в одинарных кавычках, но все они обрабатываются одинаково.

Зачем иметь два вида кавычек? Основная идея заключается в том, что вы можете создавать строки, содержащие кавычки. Внутри одинарных кавычек можно расположить двойные и наоборот:

>>>> "'Nay,' said the naysayer."

>"'Nay,' said the naysayer."

>>>> 'The rare double quote in captivity: ".'

>'The rare double quote in captivity: ".'

>>>> 'A "two by four" is actually 1 1/2" × 3 1/2".'

>'A "two by four is" actually 1 1/2" × 3 1/2".'

>>>> "'There's the man that shot my paw!' cried the limping hound."

>"'There's the man that shot my paw!' cried the limping hound."

Можно также использовать три одинарные (''') или три двойные кавычки ("""):

>>>> '''Boom!'''

>'Boom'

>>>> """Eek!"""

>'Eek!'

Тройные кавычки не очень полезны для таких коротких строк. Они обычно используются для того, чтобы создать многострочные строки, наподобие следующего классического стихотворения Эдварда Леара (Edward Lear):

>>>> poem =··'''There was a Young Lady of Norway,

>… Who casually sat in a doorway;

>… When the door squeezed her flat,

>… She exclaimed, "What of that?"

>… This courageous Young Lady of Norway.'''

>>>>

(Это стихотворение было введено в интерактивный интерпретатор, который поприветствовал нас символами >>> в первой строке и выводил символы … до тех пор, пока мы не ввели последние тройные кавычки и не перешли к следующей строке.)

Если бы вы попробовали создать стихотворение с помощью одинарных кавычек, Python начал бы волноваться, когда бы вы перешли к следующей строке:

>>>> poem = 'There was a young lady of Norway,

>··File "", line 1

>····poem = 'There was a young lady of Norway,

>············································^

>SyntaxError: EOL while scanning string literal

>>>>

Если внутри тройных кавычек располагается несколько строк, символы конца строки будут сохранены внутри нее. Если перед строкой или после нее находятся пробелы, они также будут сохранены:

>>>> poem2 = '''I do not like thee, Doctor Fell.