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

>Open 9–5 daily

2. В интерактивном интерпретаторе импортируйте модуль zoo под именем menagerie и вызовите его функцию hours():

>>>> import zoo as menagerie

>>>> menagerie.hours()

>Open 9–5 daily

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

>>>> from zoo import hours

>>>> hours()

>Open 9–5 daily

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

>>>> from zoo import hours as info

>>>> info()

>Open 9–5 daily

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

>>>> plain = {'a': 1, 'b': 2, 'c': 3}

>>>> plain

>{'a': 1, 'c': 3, 'b': 2}

6. Создайте OrderedDict с именем fancy из пар «ключ — значение», приведенных в упражнении 5, и выведите его на экран. Изменился ли порядок ключей?

>>>> from collections import OrderedDict

>>>> fancy = OrderedDict([('a', 1), ('b', 2), ('c', 3)])

>>>> fancy

>OrderedDict([('a', 1), ('b', 2), ('c', 3)])

7. Создайте defaultdict с именем dict_of_lists и передайте ему аргумент list. Создайте список dict_of_lists['a'] и присоедините к нему значение 'something for a' за одну операцию. Выведите на экран dict_of_lists['a']:

>>>> from collections import defaultdict

>>>> dict_of_lists = defaultdict(list)

>>>> dict_of_lists['a'].append('something for a')

>>>> dict_of_lists['a']

>['something for a']

Глава 6. Ой-ой-ой: объекты и классы

1. Создайте класс, который называется Thing, не имеющий содержимого, и выведите его на экран. Затем создайте объект example этого класса и также выведите его. Совпадают ли выведенные значения?

>>>> class Thing:

>…·····pass

>…

>>>> print(Thing)

>

>>>> example = Thing()

>>>> print(example)

><__main__.Thing object at 0x1006f3fd0>

2. Создайте новый класс с именем Thing2 и присвойте его атрибуту letters значение 'abc'. Выведите на экран значение атрибута letters:

>>>> class Thing2:

>…·····letters = 'abc'

>…

>>>> print(Thing2.letters)

>abc

3. Создайте еще один класс, который, конечно же, называется Thing3. В этот раз присвойте значение 'xyz' атрибуту объекта, который называется letters. Выведите на экран значение атрибута letters. Понадобилось ли вам создавать объект класса, чтобы сделать это?

>>>> class Thing3:

>…·····def __init__(self):

>…·········self.letters = 'xyz'

>…

Переменная letters принадлежит любому объекту класса Thing3, но не самому классу Thing3:

>>>> print(Thing3.letters)

>Traceback (most recent call last):

>··File "", line 1, in

>AttributeError: type object 'Thing3' has no attribute 'letters'

>>>> something = Thing3()

>>>> print(something.letters)