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

14. Создайте и выведите на экран множество английских слов из ключей словаря e2f.

15. Создайте многоуровневый словарь life. Используйте следующие строки для ключей верхнего уровня: 'animals', 'plants' и 'other'. Сделайте так, чтобы ключ 'animals' ссылался на другой словарь, имеющий ключи 'cats', 'octopi' и 'emus'. Сделайте так, чтобы ключ 'cats' ссылался на список строк со значениями 'Henri', 'Grumpy' и 'Lucy'. Остальные ключи должны ссылаться на пустые словари.

16. Выведите на экран высокоуровневые ключи словаря life.

17. Выведите на экран ключи life['animals'].

18. Выведите значения life['animals']['cats'].

Глава 4. Корочка Python: структуры кода

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

В большинстве языков программирования символы вроде фигурных скобок ({ и }) или ключевые слова вроде begin и end применяется для того, чтобы разбить код на разделы. В этих языках хорошим тоном является использование отбивки пробелами, чтобы сделать программу более удобочитаемой для себя и других. Существуют даже инструменты, которые помогут красиво выстроить ваш код.

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

Комментируем с помощью символа #

Комментарий — это фрагмент текста в вашей программе, который будет проигнорирован интерпретатором Python. Вы можете использовать комментарии, чтобы дать пояснение близлежащего кода, сделать какие-то пометки для себя, или для чего-то еще. Комментарий помечается символом #; все, что находится после # до конца текущей строки, является комментарием. Обычно комментарий располагается на отдельной строке, как показано здесь:

>>> # 60 с/мин * 60 мин/ч * 24 ч/день

>>> seconds_per_day = 86400

Или на той же строке, что и код, который нужно пояснить:

>>> seconds_per_day = 86400 # 60 sec/min * 60 min/hr * 24 hr/day

Символ # имеет много имен: хеш, шарп, фунт или устрашающее октоторп[3]. Как бы вы его ни назвали[4], его эффект действует только до конца строки, на которой он располагается.

Python не дает возможности написать многострочный комментарий. Вам нужно явно начинать каждую строку или раздел комментария с символа #:

>>> # Я могу сказать здесь все, даже если Python это не нравится,

… # поскольку я защищен крутым

… # октоторпом.

>>>

Однако если октоторп находится внутри текстовой строки, он становится простым символом #:

>>> print("No comment: quotes make the # harmless.")

No comment: quotes make the # harmless.

Продлеваем строки с помощью символа \

Любая программа становится более удобочитаемой, если ее строки относительно короткие. Рекомендуемая (но не обязательная) максимальная длина строки равна 80 символам. Если вы не можете выразить свою мысль в рамках 80 символов, воспользуйтесь символом возобновления \. Просто поместите его в конце строки, и дальше Python будет действовать так, будто это все та же строка.

Например, если бы я хотел создать длинную строку из нескольких коротких, я мог бы сделать это пошагово:

>>> alphabet = ''

>>> alphabet += 'abcdefg'

>>> alphabet += 'hijklmnop'

>>> alphabet += 'qrstuv'

>>> alphabet += 'wxyz'

Или же за одно действие, использовав символ continuation:

>>> alphabet = 'abcdefg' + \

…······'hijklmnop' + \

…······'qrstuv' + \

…······'wxyz'

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

>>> 1 + 2 +

··File "<stdin>", line 1

····1 + 2 +

··········^

SyntaxError: invalid syntax

>>> 1 + 2 + \

… 3

6

вернуться

3

Прямо как та восьминогая зеленая штука, которая стоит прямо за вами.

вернуться

4

Пожалуйста, не зовите его. Оно может вернуться.