array — nizovi numeričkih podataka#
Ovaj modul definira tip array.array: prostorno učinkovit slijed vrijednosti jednog fiksnog numeričkog tipa, indeksiran poput liste, ali poduprt kontinuiranim blokom memorije dostupnim putem protokola međuspremnika (buffer protocol).
Podržani kodovi tipova#
Argument typecode od jednog znaka odabire tip elementa:
Kod tipa | C tip | Bajtovi | Python tip |
|---|---|---|---|
|
| 1 |
|
|
| 1 |
|
|
| 2 |
|
|
| 2 |
|
|
| 2 ili 4 |
|
|
| 2 ili 4 |
|
|
| 4 |
|
|
| 4 |
|
|
| 8 |
|
|
| 8 |
|
|
| 4 |
|
|
| 8 |
|
Kodovi 'f' i 'd' zahtijevaju ugrađeni program (firmware) izgrađen s podrškom za pomični zarez (zadano na većini ploča). Točna širina kodova 'i' i 'I' slijedi C ABI domaćina — tipično 4 bajta na Cortex-M portovima.
Klase#
- class array.array(typecode: str, iterable: Iterable = ())#
Stvara niz s elementima zadanog tipa. Početni sadržaj niza zadan je s iterable. Ako nije naveden, stvara se prazan niz.
Uz metode navedene u nastavku, objekti niza također implementiraju protokol međuspremnika. To znači da se sadržaju cijelog niza može pristupiti kao sirovim bajtovima putem
memoryviewili drugih sučelja koja koriste ovaj protokol.- extend(iterable: Iterable) None#
Dodaje nove elemente sadržane u iterable na kraj niza, povećavajući ga.
- __getitem__(index: int | slice) Any#
Indeksirano čitanje niza, pozvano kao
a[index](gdje jeaarray). Vraća vrijednost ako je index tipaint, aarrayako je index isječak (slice). Negativni indeksi broje se od kraja, aIndexErrorse podiže ako je indeks izvan raspona.Napomena:
__getitem__se ne može pozvati izravno (a.__getitem__(index)ne uspijeva) i nije prisutan u__dict__, noa[index]ipak radi.
- __setitem__(index: int | slice, value: Any) None#
Indeksirano pisanje u niz, pozvano kao
a[index] = value(gdje jeaarray).valueje jedna vrijednost ako je index tipaint, aarrayako je index isječak (slice). Negativni indeksi broje se od kraja, aIndexErrorse podiže ako je indeks izvan raspona.Napomena:
__setitem__se ne može pozvati izravno (a.__setitem__(index, value)ne uspijeva) i nije prisutan u__dict__, noa[index] = valueipak radi.
- __len__() int#
Vraća broj stavki u nizu, pozvano kao
len(a)(gdje jeaarray).Napomena:
__len__se ne može pozvati izravno (a.__len__()ne uspijeva) i metoda nije prisutna u__dict__, nolen(a)ipak radi.
- __add__(other: array) array#
Vraća novi
arraykoji je spajanje niza s other, pozvano kaoa + other(gdje suai other obaarrays).Napomena:
__add__se ne može pozvati izravno (a.__add__(other)ne uspijeva) i nije prisutan u__dict__, noa + otheripak radi.
- __iadd__(other: array) array#
Spaja niz s other na mjestu, pozvano kao
a += other(gdje suai other obaarrays). Ekvivalentnoextend(other).Napomena:
__iadd__se ne može pozvati izravno (a.__iadd__(other)ne uspijeva) i nije prisutan u__dict__, noa += otheripak radi.
- __repr__() str#
Vraća string reprezentaciju niza, pozvano kao
str(a)ilirepr(a)(gdje jeaarray). Vraća string"array(<type>, [<elements>])", gdje je<type>slovo koda tipa za niz, a<elements>je popis elemenata niza odvojen zarezima.Napomena:
__repr__se ne može pozvati izravno (a.__repr__()ne uspijeva) i nije prisutan u__dict__, nostr(a)irepr(a)oba rade.