На этом шаге мы рассмотрим особенности этого класса.
Модуль Python array обеспечивает пространственно-эффективное хранение элементарных типов данных в стиле языка C, таких как байты, 32-разрядные целые числа, числа с плавающей точкой и т. д.
Массивы, создаваемые на основе класса array.array, могут изменяться и ведут себя аналогично спискам, за исключением одного важного различия - они являются "типизированными массивами", ограниченными единственным типом данных.
См. документацию Python "array.array": https://docs.python.org/3/library/array.html.
Из-за этого ограничения объекты array.array со многими элементами более пространственно эффективны, чем списки и кортежи. Хранящиеся в них элементы плотно упакованы, и это может быть полезно, если вам нужно хранить много элементов одного и того же типа.
Кроме того, массивы поддерживают многие из тех же методов, что и у обычных списков, и вы можете их использовать в качестве "прямой замены" без необходимости вносить в свой код другие изменения.
>>> import array >>> arr = array.array('f', (1.0, 1.5, 2.0, 2.5)) >>> arr[1] 1.5 # Массивы имеют хороший метод repr: >>> arr array('f', [1.0, 1.5, 2.0, 2.5]) # Массивы могут изменяться: >>> arr[1] = 23.0 >>> arr array('f', [1.0, 23.0, 2.0, 2.5]) >>> del arr[1] >>> arr array('f', [1.0, 2.0, 2.5]) >>> arr.append(42.0) >>> arr array('f', [1.0, 2.0, 2.5, 42.0]) # Массивы - это "типизированные" структуры данных: >>> arr[1] = 'привет' Traceback (most recent call last): . . . . TypeError: must be real number, not str
На следующем шаге мы рассмотрим класс str.