array — numerikus adatok tömbjei

Ez a modul a array.array típust definiálja: egyetlen, rögzített numerikus típusú értékek helytakarékos sorozata, amely listaként indexelhető, de a memória összefüggő blokkjával van alátámasztva, és a pufferprotokollon keresztül érhető el.

Támogatott típuskódok

Az egykarakteres typecode argumentum választja ki az elemtípust:

Típuskód

C típus

Bájtok

Python típus

'b'

signed char

1

int

'B'

unsigned char

1

int

'h'

signed short

2

int

'H'

unsigned short

2

int

'i'

signed int

2 vagy 4

int

'I'

unsigned int

2 vagy 4

int

'l'

signed long

4

int

'L'

unsigned long

4

int

'q'

signed long long

8

int

'Q'

unsigned long long

8

int

'f'

float

4

float

'd'

double

8

float

Az 'f' és 'd' kódok lebegőpontos támogatással lefordított firmware-t igényelnek (ez az alapértelmezés a legtöbb panelen). Az 'i' és 'I' pontos szélessége a gazda C ABI-t követi — jellemzően 4 bájt a Cortex-M portokon.

Osztályok

class array.array(typecode: str, iterable: Iterable = ())

Létrehoz egy tömböt az adott típusú elemekkel. A tömb kezdeti tartalmát az iterable adja meg. Ha nincs megadva, egy üres tömb jön létre.

Az alábbi metódusokon kívül a tömbobjektumok megvalósítják a pufferprotokollt is. Ez azt jelenti, hogy a teljes tömb tartalma nyers bájtokként érhető el egy memoryview vagy más, ezt a protokollt használó interfész révén.

append(val: Any) None

Hozzáfűzi a val új elemet a tömb végéhez, megnövelve azt.

extend(iterable: Iterable) None

Hozzáfűzi az iterable által tartalmazott új elemeket a tömb végéhez, megnövelve azt.

__getitem__(index: int | slice) Any

A tömb indexelt olvasása, a[index] formában hívva (ahol a egy array). Egy értéket ad vissza, ha az index egy int, és egy array objektumot, ha az index egy szelet. A negatív indexek a végétől számolnak, és IndexError váltódik ki, ha az index a tartományon kívül esik.

Megjegyzés: a __getitem__ nem hívható közvetlenül (az a.__getitem__(index) sikertelen) és nincs jelen a __dict__ szótárban, azonban az a[index] működik.

__setitem__(index: int | slice, value: Any) None

A tömb indexelt írása, a[index] = value formában hívva (ahol a egy array). A value egyetlen érték, ha az index egy int, és egy array objektum, ha az index egy szelet. A negatív indexek a végétől számolnak, és IndexError váltódik ki, ha az index a tartományon kívül esik.

Megjegyzés: a __setitem__ nem hívható közvetlenül (az a.__setitem__(index, value) sikertelen) és nincs jelen a __dict__ szótárban, azonban az a[index] = value működik.

__len__() int

Visszaadja a tömb elemeinek számát, len(a) formában hívva (ahol a egy array).

Megjegyzés: a __len__ nem hívható közvetlenül (az a.__len__() sikertelen) és a metódus nincs jelen a __dict__ szótárban, azonban a len(a) működik.

__add__(other: array) array

Visszaad egy új array objektumot, amely a tömb és az other összefűzése, a + other formában hívva (ahol a és other egyaránt arrays).

Megjegyzés: az __add__ nem hívható közvetlenül (az a.__add__(other) sikertelen) és nincs jelen a __dict__ szótárban, azonban az a + other működik.

__iadd__(other: array) array

Helyben összefűzi a tömböt az other objektummal, a += other formában hívva (ahol a és other egyaránt arrays). Egyenértékű az extend(other) hívással.

Megjegyzés: az __iadd__ nem hívható közvetlenül (az a.__iadd__(other) sikertelen) és nincs jelen a __dict__ szótárban, azonban az a += other működik.

__repr__() str

Visszaadja a tömb karakterlánc-reprezentációját, str(a) vagy repr(a) formában hívva (ahol a egy array). Visszaadja az "array(<type>, [<elements>])" karakterláncot, ahol a <type> a tömb típuskód-betűje, az <elements> pedig a tömb elemeinek vesszővel elválasztott listája.

Megjegyzés: a __repr__ nem hívható közvetlenül (az a.__repr__() sikertelen) és nincs jelen a __dict__ szótárban, azonban a str(a) és a repr(a) egyaránt működik.