array — pole numerických dat¶
Tento modul definuje typ array.array: prostorově úspornou sekvenci hodnot jediného pevně daného numerického typu, indexovatelnou jako seznam, ale podloženou souvislým blokem paměti dostupným přes protokol bufferu.
Podporované kódy typů¶
Jednoznakový argument typecode vybírá typ prvku:
Kód typu |
Typ C |
Bajty |
Typ Python |
|---|---|---|---|
|
|
1 |
|
|
|
1 |
|
|
|
2 |
|
|
|
2 |
|
|
|
2 nebo 4 |
|
|
|
2 nebo 4 |
|
|
|
4 |
|
|
|
4 |
|
|
|
8 |
|
|
|
8 |
|
|
|
4 |
|
|
|
8 |
|
Kódy 'f' a 'd' vyžadují firmware sestavený s podporou pohyblivé řádové čárky (výchozí na většině desek). Přesná šířka 'i' a 'I' se řídí hostitelským C ABI — typicky 4 bajty na portech Cortex-M.
Třídy¶
- class array.array(typecode: str, iterable: Iterable = ())¶
Vytvoří pole s prvky daného typu. Počáteční obsah pole je dán iterable. Pokud není poskytnut, vytvoří se prázdné pole.
Kromě níže uvedených metod implementují objekty pole také protokol bufferu. To znamená, že k obsahu celého pole lze přistupovat jako k surovým bajtům přes
memoryviewnebo jiná rozhraní, která tento protokol používají.- __getitem__(index: int | slice) Any¶
Indexované čtení pole, voláno jako
a[index](kdeajearray). Vrací hodnotu, pokud je index typuint, aarray, pokud je index řez. Záporné indexy se počítají od konce a pokud je index mimo rozsah, vyvolá seIndexError.Poznámka:
__getitem__nelze volat přímo (a.__getitem__(index)selže) a není přítomno v__dict__, avšaka[index]funguje.
- __setitem__(index: int | slice, value: Any) None¶
Indexovaný zápis do pole, voláno jako
a[index] = value(kdeajearray).valueje jediná hodnota, pokud je index typuint, aarray, pokud je index řez. Záporné indexy se počítají od konce a pokud je index mimo rozsah, vyvolá seIndexError.Poznámka:
__setitem__nelze volat přímo (a.__setitem__(index, value)selže) a není přítomno v__dict__, avšaka[index] = valuefunguje.
- __len__() int¶
Vrací počet položek v poli, voláno jako
len(a)(kdeajearray).Poznámka:
__len__nelze volat přímo (a.__len__()selže) a metoda není přítomna v__dict__, avšaklen(a)funguje.
- __add__(other: array) array¶
Vrátí nové
array, které je zřetězením pole s other, voláno jakoa + other(kdeai other jsou oběarrays).Poznámka:
__add__nelze volat přímo (a.__add__(other)selže) a není přítomno v__dict__, avšaka + otherfunguje.
- __iadd__(other: array) array¶
Zřetězí pole s other na místě, voláno jako
a += other(kdeai other jsou oběarrays). Ekvivalentní kextend(other).Poznámka:
__iadd__nelze volat přímo (a.__iadd__(other)selže) a není přítomno v__dict__, avšaka += otherfunguje.
- __repr__() str¶
Vrací řetězcovou reprezentaci pole, voláno jako
str(a)neborepr(a)(kdeajearray). Vrací řetězec"array(<type>, [<elements>])", kde<type>je písmeno kódu typu pole a<elements>je čárkami oddělený seznam prvků pole.Poznámka:
__repr__nelze volat přímo (a.__repr__()selže) a není přítomno v__dict__, avšakstr(a)irepr(a)fungují.