array — tablouri de date numerice¶
Acest modul definește tipul array.array: o secvență eficientă din punct de vedere al spațiului de valori de un singur tip numeric fix, indexabilă ca o listă, dar susținută de un bloc contiguu de memorie accesibil prin protocolul buffer.
Coduri de tip acceptate¶
Argumentul typecode de un singur caracter selectează tipul elementului:
Cod de tip |
Tip C |
Octeți |
Tip Python |
|---|---|---|---|
|
|
1 |
|
|
|
1 |
|
|
|
2 |
|
|
|
2 |
|
|
|
2 sau 4 |
|
|
|
2 sau 4 |
|
|
|
4 |
|
|
|
4 |
|
|
|
8 |
|
|
|
8 |
|
|
|
4 |
|
|
|
8 |
|
Codurile 'f' și 'd' necesită firmware construit cu suport pentru virgulă mobilă (implicit pe majoritatea plăcilor). Lățimea exactă a lui 'i' și 'I' urmează ABI-ul C al gazdei — de obicei 4 octeți pe porturile Cortex-M.
Clase¶
- class array.array(typecode: str, iterable: Iterable = ())¶
Creează un tablou cu elemente de tipul dat. Conținutul inițial al tabloului este dat de iterable. Dacă nu este furnizat, se creează un tablou gol.
Pe lângă metodele de mai jos, obiectele array implementează de asemenea protocolul buffer. Aceasta înseamnă că întregul conținut al tabloului poate fi accesat ca octeți bruți printr-un
memoryviewsau alte interfețe care folosesc acest protocol.- extend(iterable: Iterable) None¶
Adaugă noile elemente conținute în iterable la sfârșitul tabloului, mărindu-l.
- __getitem__(index: int | slice) Any¶
Citire indexată a tabloului, apelată ca
a[index](undeaeste unarray). Returnează o valoare dacă index este unintși unarraydacă index este un slice. Indicii negativi se numără de la sfârșit șiIndexErroreste ridicat dacă indexul este în afara intervalului.Notă:
__getitem__nu poate fi apelat direct (a.__getitem__(index)eșuează) și nu este prezent în__dict__, însăa[index]funcționează.
- __setitem__(index: int | slice, value: Any) None¶
Scriere indexată în tablou, apelată ca
a[index] = value(undeaeste unarray).valueeste o singură valoare dacă index este unintși unarraydacă index este un slice. Indicii negativi se numără de la sfârșit șiIndexErroreste ridicat dacă indexul este în afara intervalului.Notă:
__setitem__nu poate fi apelat direct (a.__setitem__(index, value)eșuează) și nu este prezent în__dict__, însăa[index] = valuefuncționează.
- __len__() int¶
Returnează numărul de elemente din tablou, apelat ca
len(a)(undeaeste unarray).Notă:
__len__nu poate fi apelat direct (a.__len__()eșuează) și metoda nu este prezentă în__dict__, însălen(a)funcționează.
- __add__(other: array) array¶
Returnează un nou
arraycare este concatenarea tabloului cu other, apelat caa + other(undeași other sunt ambelearrays).Notă:
__add__nu poate fi apelat direct (a.__add__(other)eșuează) și nu este prezent în__dict__, însăa + otherfuncționează.
- __iadd__(other: array) array¶
Concatenează tabloul cu other pe loc, apelat ca
a += other(undeași other sunt ambelearrays). Echivalent cuextend(other).Notă:
__iadd__nu poate fi apelat direct (a.__iadd__(other)eșuează) și nu este prezent în__dict__, însăa += otherfuncționează.
- __repr__() str¶
Returnează reprezentarea ca șir de caractere a tabloului, apelată ca
str(a)saurepr(a)(undeaeste unarray). Returnează șirul"array(<type>, [<elements>])", unde<type>este litera codului de tip al tabloului și<elements>este o listă separată prin virgule a elementelor tabloului.Notă:
__repr__nu poate fi apelat direct (a.__repr__()eșuează) și nu este prezent în__dict__, însăstr(a)șirepr(a)funcționează ambele.