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

8

Используем Packed Sequences с помощью array

В Python список больше похож на связанный список, а не на массив. Если вы хо-

тите получить одномерную последовательность элементов одинакового типа, при-

меняйте тип array (http://docs.python.org/3/library/array.html). Переменные этого типа

используют меньше места и поддерживают многие методы работы со списками. Соз-

дайте массив с помощью команды вида array ( код типа, инициализатор). Код типа

указывает на тип данных (вроде int или float), и опциональный инициализатор

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

итерируемое значение.

Я никогда не использовал этот пакет для решения задач. Это низкоуровневая

структура данных, полезная для представления чего-то вроде изображений. Если

для выполнения числовых подсчетов вам на самом деле нужен массив, особенно

имеющий больше одного измерения, лучше воспользоваться NumPy, который мы

рассмотрим через пару разделов.

Python для науки

413

Обработка простой статистики

с помощью модуля statistics

Начиная с версии Python 3.4, statistics является стандартным модулем (http://

docs.python.org/3.4/library/statistics.html). Он содержит традиционные функции: сред-

нее, медиану, моду, стандартное отклонение, распределение и т. д. Входными аргу-

ментами являются последовательности (списки или кортежи) или итераторы лю-

бого числового типа данных: int, float, decimal и fraction. Одна из функций, mode,

также принимает в качестве аргументов строки. Для Python существует множество

других статистических функций, располагающихся в пакетах SciPy и Pandas, ко-

торые мы рассмотрим далее в этом приложении.

Перемножение матриц

Начиная с Python 3.5, вы увидите символ @, который делает необычные вещи. Он все

еще может использоваться для декораторов, но его также можно будет применять

для перемножения матриц (http://legacy.python.org/dev/peps/pep-0465/). Однако до

появления этой возможности вам следует воспользоваться NumPy.

Python для науки

В оставшейся части этого приложения рассматриваются сторонние пакеты Python

для науки и математики. Несмотря на то что вы можете установить их индивиду-

ально, следует рассмотреть их одновременную загрузку в качестве части научного

дистрибутива Python. Рассмотрим основные варианты.

 Anaconda (https://store.continuum.io/cshop/anaconda/). Это бесплатный

Это

пакет,

бесплатный

име-

пакет, име-

ющий множество самых свежих возможностей. Он поддерживает Python 2 и 3

и не вредит установленной у вас версии Python.

 Python(x,y) (https://code.google.com/p/pythonxy/). Этот релиз подходит только

для Windows.

 Pyzo (http://www.pyzo.org/). Этот пакет основан на некоторых инструментах

пакета Anaconda, а также других.

 ALGORETE Loopy (http://algorete.org/). Этот пакет также основан на Anaconda