Выводим данные на экран красиво с помощью функции pprint()
Все наши примеры использовали функцию print() (или просто имя переменной в интерактивном интерпретаторе), чтобы выводить информацию на экран. Иногда результаты было трудно прочитать. Нам нужен
>>> from pprint import pprint
>>> quotes = OrderedDict([
…·····('Moe', 'A wise guy, huh?'),
…·····('Larry', 'Ow!'),
…·····('Curly', 'Nyuk nyuk!'),
…·····])
>>>
Старая добрая функция print() просто выводит всю информацию:
>>> print(quotes)
OrderedDict([('Moe', 'A wise guy, huh?'), ('Larry', 'Ow!'), ('Curly', 'Nyuk nyuk!')])
А функция pprint() пытается выровнять элементы для лучшей читаемости:
>>> pprint(quotes)
{'Moe': 'A wise guy, huh?',
'Larry': 'Ow!',
'Curly': 'Nyuk nyuk!'}
Нужно больше кода
Иногда в стандартной библиотеке нет нужной вам функциональности или же она реализована не так, как вам нужно. В этом случае можете воспользоваться целым миром стороннего программного обеспечения с открытым исходным кодом. Отлично зарекомендовали себя следующие ресурсы:
• PyPi (известный также как Cheese Shop («Сырный магазин»), он назван в честь старого Monty Python skit) (http://bit.ly/py-libex);
• github (https://github.com/Python);
• readthedocs (https://readthedocs.org/).
Небольшие фрагменты кода вы можете найти по адресу http://code.activestate.com/recipes/langs/python/.
Почти весь код Python использует функции стандартных библиотек Python. Кое-где показаны внешние пакеты: я упоминал requests в главе 1, а в подразделе «За пределами стандартной библиотеки: Requests» раздела «Веб-клиенты» главы 9 приведу более подробную информацию. В приложении Г показано, как устанавливать стороннее программное обеспечение Python, а также рассмотрены основные детали разработки.
Упражнения
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. Заглядывать внутрь объектов нужно только в случае, если вам необходимо создать собственный объект или модифицировать поведение уже существующих объектов. В этой главе вы увидите, как сделать и то и другое.