...
>>> for item in itertools.accumulate([1, 2, 3, 4], multiply):
... print(item)
...
1
2
6
24
Модуль itertools имеет еще много функций, он известен благодаря определен-
ным комбинациям и преобразованиям, которые могут сохранить кучу времени,
если в них появится необходимость.
Нужно больше кода
155
Выводим данные на экран красиво
с помощью функции pprint()
Все наши примеры использовали функцию print() (или просто имя переменной
в интерактивном интерпретаторе), чтобы выводить информацию на экран. Иногда
результаты было трудно прочитать. Нам нужен pretty printer (красивый принтер)
вроде pprint():
>>> 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
приведу более подробную информацию. В приложении Г показано, как устанавли-