array — масиви числових даних¶
Цей модуль визначає тип array.array: компактну послідовність значень одного фіксованого числового типу, індексовану як список, але підкріплену суцільним блоком пам’яті, доступним через буферний протокол.
Підтримувані коди типів¶
Односимвольний аргумент typecode вибирає тип елемента:
Код типу |
Тип C |
Байти |
Тип Python |
|---|---|---|---|
|
|
1 |
|
|
|
1 |
|
|
|
2 |
|
|
|
2 |
|
|
|
2 or 4 |
|
|
|
2 or 4 |
|
|
|
4 |
|
|
|
4 |
|
|
|
8 |
|
|
|
8 |
|
|
|
4 |
|
|
|
8 |
|
Коди 'f' та 'd' вимагають мікропрограми, зібраної з підтримкою плаваючої коми (за замовчуванням на більшості плат). Точна ширина 'i' та 'I' відповідає ABI C хосту — зазвичай 4 байти на портах Cortex-M.
Класи¶
- class array.array(typecode: str, iterable: Iterable = ())¶
Створює масив з елементами заданого типу. Початковий вміст масиву задається через iterable. Якщо він не наданий, створюється порожній масив.
Окрім наведених нижче методів, об’єкти масиву також реалізують буферний протокол. Це означає, що вміст усього масиву можна отримати як необроблені байти через
memoryviewабо інші інтерфейси, що використовують цей протокол.- __getitem__(index: int | slice) Any¶
Індексоване читання масиву, що викликається як
a[index](деa— цеarray). Повертає значення, якщо index — цеint, таarray, якщо index — це зріз. Від’ємні індекси відраховуються з кінця, аIndexErrorгенерується, якщо індекс виходить за межі.Примітка:
__getitem__не можна викликати безпосередньо (a.__getitem__(index)завершується помилкою) і він відсутній у__dict__, однакa[index]працює.
- __setitem__(index: int | slice, value: Any) None¶
Індексований запис у масив, що викликається як
a[index] = value(деa— цеarray).value— це одне значення, якщо index — цеint, іarray, якщо index — це зріз. Від’ємні індекси відраховуються з кінця, аIndexErrorгенерується, якщо індекс виходить за межі.Примітка:
__setitem__не можна викликати безпосередньо (a.__setitem__(index, value)завершується помилкою) і він відсутній у__dict__, однакa[index] = valueпрацює.
- __len__() int¶
Повертає кількість елементів у масиві, що викликається як
len(a)(деa— цеarray).Примітка:
__len__не можна викликати безпосередньо (a.__len__()завершується помилкою) і метод відсутній у__dict__, однакlen(a)працює.
- __add__(other: array) array¶
Повертає новий
array, що є конкатенацією масиву з other, що викликається якa + other(деaта other — обидваarrays).Примітка:
__add__не можна викликати безпосередньо (a.__add__(other)завершується помилкою) і він відсутній у__dict__, однакa + otherпрацює.
- __iadd__(other: array) array¶
Конкатенує масив з other на місці, що викликається як
a += other(деaта other — обидваarrays). Еквівалентноextend(other).Примітка:
__iadd__не можна викликати безпосередньо (a.__iadd__(other)завершується помилкою) і він відсутній у__dict__, однакa += otherпрацює.
- __repr__() str¶
Повертає рядкове представлення масиву, що викликається як
str(a)абоrepr(a)(деa— цеarray). Повертає рядок"array(<type>, [<elements>])", де<type>— літера коду типу масиву, а<elements>— список елементів масиву, розділених комами.Примітка:
__repr__не можна викликати безпосередньо (a.__repr__()завершується помилкою) і він відсутній у__dict__, однакstr(a)таrepr(a)обидва працюють.