Выбрать главу

'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 "<stdin>", line 1

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

············································^

SyntaxError: EOL while scanning string literal

>>>

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

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

…·····The reason why, I cannot tell.

…·····But this I know, and know full welclass="underline"

…·····I do not like thee, Doctor Fell.

… '''

>>> print(poem2)

I do not like thee, Doctor Fell.

····The reason why, I cannot tell.

····But this I know, and know full welclass="underline"

····I do not like thee, Doctor Fell.

>>>

Кстати, существует разница между выводом на экран с помощью функции print() и автоматическим выводом на экран с помощью интерактивного интерпретатора:

>>> poem2

'I do not like thee, Doctor Fell.\n····The reason why, I cannot tell.\n····But

this I know, and know full welclass="underline" \n····I do not like thee, Doctor Fell.\n'

Функция print() извлекает кавычки из строк и выводит на экран их содержимое. Она предназначена для удобства пользователя. Эта функция любезно добавляет пробел между каждым выводимым объектом, а также символ новой строки в конце:

>>> print(99, 'bottles', 'would be enough.')

99 bottles would be enough.

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

Интерпретатор выводит строку с одинарными кавычками и управляющими символами вроде \n, что объясняется в подразделе «Создаем управляющие символы с помощью символа \» далее в текущем разделе.

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

>>> ''

''

>>> ""

''

>>> ''''''

''

>>> """"""

''

>>>

Зачем может понадобиться пустая строка? Иногда приходится компоновать строку из других строк и для этого нужно начать с чистого листа, то есть с пустой строки.

>>> bottles = 99

>>> base = ''

>>> base += 'current inventory: '

>>> base += str(bottles)

>>> base

'current inventory: 99'

Преобразование типов данных с помощью функции str()

Вы можете преобразовывать другие типы данных Python в строки с помощью функции str():

>>> str(98.6)

'98.6'

>>> str(1.0e4)

'10000.0'

>>> str(True)

'True'

В Python функция str() также используется для внутренних нужд, когда вы вызываете функцию print() для объектов, которые не являются строками, и при выполнении интерполяции строк, с которой вы познакомитесь в главе 7.

Создаем управляющие символы с помощью символа \

Python позволяет вам создавать управляющие последовательности внутри строк, чтобы добиться эффекта, который по-другому было бы трудно выразить. Размещая перед символом обратный слеш (\), вы наделяете этот символ особым значением. Наиболее распространена последовательность \n, которая означает переход на новую строку. С ее помощью вы можете создать многострочные строки из однострочных:

>>> palindrome = 'A man,\nA plan,\nA canaclass="underline" \nPanama.'

>>> print(palindrome)

A man,

A plan,

A canaclass="underline"

Panama.

Вы также увидите последовательность \t (табуляция), которая используется для выравнивания текста: