array — sayısal veri dizileri

Bu modül array.array tipini tanımlar: tek bir sabit sayısal tipte değerlerden oluşan, alan açısından verimli bir dizi; bir liste gibi indekslenebilir ancak arabellek protokolü aracılığıyla erişilebilen bitişik bir bellek bloğuyla desteklenir.

Desteklenen tip kodları

Tek karakterlik typecode argümanı eleman tipini seçer:

Tip kodu

C tipi

Bayt

Python tipi

'b'

signed char

1

int

'B'

unsigned char

1

int

'h'

signed short

2

int

'H'

unsigned short

2

int

'i'

signed int

2 veya 4

int

'I'

unsigned int

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

'f' ve 'd' kodları, kayan noktalı destekle derlenmiş aygıt yazılımı (firmware) gerektirir (çoğu kartta varsayılandır). 'i' ve 'I' kodlarının tam genişliği ana makinenin C ABI’sini izler — Cortex-M portlarında genellikle 4 bayttır.

Sınıflar

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

Verilen tipte elemanlardan oluşan bir dizi oluşturur. Dizinin başlangıç içeriği iterable tarafından verilir. Sağlanmazsa, boş bir dizi oluşturulur.

Aşağıdaki yöntemlere ek olarak, dizi nesneleri arabellek protokolünü de uygular. Bu, dizinin tüm içeriğine bir memoryview veya bu protokolü kullanan diğer arabirimler aracılığıyla ham bayt olarak erişilebileceği anlamına gelir.

append(val: Any) None

Diziyi büyüterek sonuna yeni eleman val ekler.

extend(iterable: Iterable) None

Diziyi büyüterek sonuna iterable içinde bulunan yeni elemanları ekler.

__getitem__(index: int | slice) Any

a[index] olarak çağrılan, dizinin indeksli okuması (burada a bir array). index bir int ise bir değer, bir dilim (slice) ise bir array döndürür. Negatif indeksler sondan sayılır ve indeks aralık dışındaysa IndexError yükseltilir.

Not: __getitem__ doğrudan çağrılamaz (a.__getitem__(index) başarısız olur) ve __dict__ içinde bulunmaz, ancak a[index] çalışır.

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

a[index] = value olarak çağrılan, diziye indeksli yazma (burada a bir array). index bir int ise value tek bir değer, bir dilim (slice) ise bir array olur. Negatif indeksler sondan sayılır ve indeks aralık dışındaysa IndexError yükseltilir.

Not: __setitem__ doğrudan çağrılamaz (a.__setitem__(index, value) başarısız olur) ve __dict__ içinde bulunmaz, ancak a[index] = value çalışır.

__len__() int

len(a) olarak çağrılan, dizideki öğe sayısını döndürür (burada a bir array).

Not: __len__ doğrudan çağrılamaz (a.__len__() başarısız olur) ve yöntem __dict__ içinde bulunmaz, ancak len(a) çalışır.

__add__(other: array) array

a + other olarak çağrılan, dizinin other ile birleştirilmesi olan yeni bir array döndürür (burada a ve other her ikisi de arrays).

Not: __add__ doğrudan çağrılamaz (a.__add__(other) başarısız olur) ve __dict__ içinde bulunmaz, ancak a + other çalışır.

__iadd__(other: array) array

a += other olarak çağrılan, diziyi other ile yerinde birleştirir (burada a ve other her ikisi de arrays). extend(other) ile eşdeğerdir.

Not: __iadd__ doğrudan çağrılamaz (a.__iadd__(other) başarısız olur) ve __dict__ içinde bulunmaz, ancak a += other çalışır.

__repr__() str

str(a) veya repr(a) olarak çağrılan, dizinin dize gösterimini döndürür (burada a bir array). "array(<type>, [<elements>])" dizesini döndürür; burada <type> dizinin tip kodu harfidir ve <elements> dizinin elemanlarının virgülle ayrılmış bir listesidir.

Not: __repr__ doğrudan çağrılamaz (a.__repr__() başarısız olur) ve __dict__ içinde bulunmaz, ancak str(a) ve repr(a) her ikisi de çalışır.