array — Arrays numerischer Daten#

Dieses Modul definiert den Typ array.array: eine speichereffiziente Sequenz von Werten eines einzigen festen numerischen Typs, indizierbar wie eine Liste, aber durch einen zusammenhängenden Speicherblock gestützt, der über das Buffer-Protokoll zugänglich ist.

Unterstützte Type-Codes#

Das Ein-Zeichen-Argument typecode wählt den Elementtyp aus:

Type-Code

C-Typ

Bytes

Python-Typ

'b'

signed char

1

int

'B'

unsigned char

1

int

'h'

signed short

2

int

'H'

unsigned short

2

int

'i'

signed int

2 oder 4

int

'I'

unsigned int

2 oder 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

Die Codes 'f' und 'd' erfordern eine Firmware, die mit Gleitkomma-Unterstützung gebaut wurde (auf den meisten Boards der Standard). Die genaue Breite von 'i' und 'I' folgt dem Host-C-ABI — typischerweise 4 Bytes auf den Cortex-M-Ports.

Klassen#

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

Erstellt ein Array mit Elementen des angegebenen Typs. Der anfängliche Inhalt des Arrays wird durch iterable angegeben. Wird es nicht bereitgestellt, wird ein leeres Array erstellt.

Zusätzlich zu den untenstehenden Methoden implementieren Array-Objekte auch das Buffer-Protokoll. Das bedeutet, dass auf den Inhalt des gesamten Arrays als rohe Bytes über ein memoryview oder andere Schnittstellen, die dieses Protokoll verwenden, zugegriffen werden kann.

append(val: Any) None#

Hängt das neue Element val an das Ende des Arrays an und vergrößert es.

extend(iterable: Iterable) None#

Hängt die in iterable enthaltenen neuen Elemente an das Ende des Arrays an und vergrößert es.

__getitem__(index: int | slice) Any#

Indizierter Lesezugriff auf das Array, aufgerufen als a[index] (wobei a ein array ist). Gibt einen Wert zurück, wenn index ein int ist, und ein array, wenn index ein Slice ist. Negative Indizes zählen vom Ende, und IndexError wird ausgelöst, wenn der Index außerhalb des gültigen Bereichs liegt.

Hinweis: __getitem__ kann nicht direkt aufgerufen werden (a.__getitem__(index) schlägt fehl) und ist nicht in __dict__ vorhanden, a[index] funktioniert jedoch.

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

Indizierter Schreibzugriff auf das Array, aufgerufen als a[index] = value (wobei a ein array ist). value ist ein einzelner Wert, wenn index ein int ist, und ein array, wenn index ein Slice ist. Negative Indizes zählen vom Ende, und IndexError wird ausgelöst, wenn der Index außerhalb des gültigen Bereichs liegt.

Hinweis: __setitem__ kann nicht direkt aufgerufen werden (a.__setitem__(index, value) schlägt fehl) und ist nicht in __dict__ vorhanden, a[index] = value funktioniert jedoch.

__len__() int#

Gibt die Anzahl der Elemente im Array zurück, aufgerufen als len(a) (wobei a ein array ist).

Hinweis: __len__ kann nicht direkt aufgerufen werden (a.__len__() schlägt fehl) und die Methode ist nicht in __dict__ vorhanden, len(a) funktioniert jedoch.

__add__(other: array) array#

Gibt ein neues array zurück, das die Verkettung des Arrays mit other ist, aufgerufen als a + other (wobei a und other beide arrays sind).

Hinweis: __add__ kann nicht direkt aufgerufen werden (a.__add__(other) schlägt fehl) und ist nicht in __dict__ vorhanden, a + other funktioniert jedoch.

__iadd__(other: array) array#

Verkettet das Array mit other an Ort und Stelle, aufgerufen als a += other (wobei a und other beide arrays sind). Entspricht extend(other).

Hinweis: __iadd__ kann nicht direkt aufgerufen werden (a.__iadd__(other) schlägt fehl) und ist nicht in __dict__ vorhanden, a += other funktioniert jedoch.

__repr__() str#

Gibt die String-Repräsentation des Arrays zurück, aufgerufen als str(a) oder repr(a) (wobei a ein array ist). Gibt den String "array(<type>, [<elements>])" zurück, wobei <type> der Type-Code-Buchstabe für das Array ist und <elements> eine durch Kommas getrennte Liste der Elemente des Arrays ist.

Hinweis: __repr__ kann nicht direkt aufgerufen werden (a.__repr__() schlägt fehl) und ist nicht in __dict__ vorhanden, str(a) und repr(a) funktionieren jedoch beide.