Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 116

вать стороннее программное обеспечение Python, а также рассмотрены основные

детали разработки.

156

Глава 5. Py Boxes: модули, пакеты и программы

Упражнения

1. Создайте файл, который называется zoo.py. В нем объявите функцию hours(),

которая выводит на экран строку ' Open 9-5 daily'. Далее используйте интерак-

тивный интерпретатор, чтобы импортировать модуль zoo и вызвать его функцию

hours().

2. В интерактивном интерпретаторе импортируйте модуль zoo под именем menagerie

и вызовите его функцию hours().

3. Оставаясь в интерпретаторе, импортируйте непосредственно функцию hours()

из модуля zoo и вызовите ее.

4. Импортируйте функцию hours() под именем info и вызовите ее.

5. Создайте словарь с именем plain, содержащий пары «ключ — значение» 'a': 1,

'b': 2 и 'c':3, а затем выведите его на экран.

6. Создайте OrderedDict с именем fancy из пар «ключ — значение», приведенных

в упражнении 5, и выведите его на экран. Изменился ли порядок ключей?

7. Создайте defaultdict с именем dict_of_lists и передайте ему аргумент list.

Создайте список dict_of_lists['a'] и присоедините к нему значение 'something

for a' за одну операцию. Выведите на экран dict_of_lists['a'].

6 Ой-ой-ой: объекты

и классы

Таинственных объектов не бывает. Они

такими просто кажутся.

Элизабет Боуэн

Возьмите объект. Сделайте что-нибудь с ним.

Добавьте что-нибудь другое к нему.

Джаспер Джонс

К этому моменту вы уже познакомились с такими структурами данных, как строки

и словари, а также со структурами кода — функциями и модулями. В текущей главе

вы узнаете о пользовательской структуре данных — объектах.

Что такое объекты

Как я упоминал в главе 2, все в Python, от чисел до модулей, является объектами.

Однако Python скрывает большую часть принципов функционирования объектов

с помощью особого синтаксиса. Вы можете написать num = 7, чтобы создать объект

типа int со значением 7, и присвоить ссылку на него по имени num. Заглядывать

внутрь объектов нужно только в случае, если вам необходимо создать собственный

объект или модифицировать поведение уже существующих объектов. В этой главе

вы увидите, как сделать и то и другое.

Объект содержит как данные (переменные, которые называются атрибутами),

так и код (функции, которые называются методами). Он представляет собой уни-

кальный экземпляр какого-то конкретного предмета. Например, целочисленный

объект со значением 7 может использовать методы вроде сложения и умножения,

что показано в разделе «Числа» главы 2. 8 — это другой объект. Это значит, что

существует класс Integer, которому принадлежат объекты 7 и 8. Строки 'cat' и 'duck'

также являются объектами и имеют методы, с которыми вы уже знакомы, — напри-

мер, capitalize() и replace().

Когда вы создаете новые объекты, которые до вас не создавал никто, вы должны

создать класс, который демонстрирует их содержимое.