array --- arrays of numeric data

โมดูลนี้กำหนดประเภท array.array: ลำดับที่ประหยัดพื้นที่ของค่าประเภทตัวเลขคงที่เดี่ยว สามารถ index ได้เหมือนรายการแต่รองรับด้วยบล็อกหน่วยความจำต่อเนื่องที่เข้าถึงได้ผ่าน buffer protocol

ประเภทโค้ดที่รองรับ

อาร์กิวเมนต์ typecode ตัวอักษรเดี่ยวเลือกประเภทองค์ประกอบ:

รหัสประเภท

ประเภท C

ไบต์

ประเภท Python

'b'

signed char

1

int

'B'

unsigned char

1

int

'h'

signed short

2

int

'H'

unsigned short

2

int

'i'

signed int

2 or 4

int

'I'

unsigned int

2 or 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' และ 'd' ต้องใช้เฟิร์มแวร์ที่สร้างพร้อมรองรับ floating-point (ค่าเริ่มต้นบนบอร์ดส่วนใหญ่) ความกว้างที่แน่นอนของ 'i' และ 'I' ตาม host C ABI --- โดยทั่วไปคือ 4 ไบต์บนพอร์ต Cortex-M

คลาส

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

สร้าง array ที่มีองค์ประกอบตามประเภทที่กำหนด เนื้อหาเริ่มต้นของ array กำหนดโดย iterable ถ้าไม่ได้ระบุจะสร้าง array ว่างเปล่า

นอกจากวิธีด้านล่าง ออบเจ็กต์ array ยังใช้ buffer protocol ด้วย ซึ่งหมายความว่าเนื้อหาทั้งหมดของ array สามารถเข้าถึงเป็นไบต์ดิบผ่าน memoryview หรืออินเทอร์เฟซอื่นที่ใช้ protocol นี้

append(val: Any) None

ต่อท้ายองค์ประกอบใหม่ val ไปยังส่วนท้ายของ array ทำให้มันขยายใหญ่ขึ้น

extend(iterable: Iterable) None

ต่อท้ายองค์ประกอบใหม่ที่อยู่ใน iterable ไปยังส่วนท้ายของ array ทำให้มันขยายใหญ่ขึ้น

__getitem__(index: int | slice) Any

การอ่านแบบ indexed ของ array เรียกเป็น a[index] (โดยที่ a คือ array) ส่งคืนค่าถ้า index เป็น int และ array ถ้า index เป็น slice ดัชนีลบนับจากส่วนท้ายและจะ throw IndexError ถ้า index อยู่นอกช่วง

หมายเหตุ: __getitem__ ไม่สามารถเรียกโดยตรงได้ (a.__getitem__(index) จะล้มเหลว) และไม่มีอยู่ใน __dict__ อย่างไรก็ตาม a[index] ใช้งานได้

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

การเขียนแบบ indexed ลงใน array เรียกเป็น a[index] = value (โดยที่ a คือ array) value เป็นค่าเดี่ยวถ้า index เป็น int และ array ถ้า index เป็น slice ดัชนีลบนับจากส่วนท้ายและจะ throw IndexError ถ้า index อยู่นอกช่วง

หมายเหตุ: __setitem__ ไม่สามารถเรียกโดยตรงได้ (a.__setitem__(index, value) จะล้มเหลว) และไม่มีอยู่ใน __dict__ อย่างไรก็ตาม a[index] = value ใช้งานได้

__len__() int

ส่งคืนจำนวนรายการใน array เรียกเป็น len(a) (โดยที่ a คือ array)

หมายเหตุ: __len__ ไม่สามารถเรียกโดยตรงได้ (a.__len__() จะล้มเหลว) และวิธีนี้ไม่มีอยู่ใน __dict__ อย่างไรก็ตาม len(a) ใช้งานได้

__add__(other: array) array

ส่งคืน array ใหม่ที่เป็นการต่อกันของ array กับ other เรียกเป็น a + other (โดยที่ a และ other เป็น arrays ทั้งคู่)

หมายเหตุ: __add__ ไม่สามารถเรียกโดยตรงได้ (a.__add__(other) จะล้มเหลว) และไม่มีอยู่ใน __dict__ อย่างไรก็ตาม a + other ใช้งานได้

__iadd__(other: array) array

ต่อ array กับ other ใน-place เรียกเป็น a += other (โดยที่ a และ other เป็น arrays ทั้งคู่) เทียบเท่ากับ extend(other)

หมายเหตุ: __iadd__ ไม่สามารถเรียกโดยตรงได้ (a.__iadd__(other) จะล้มเหลว) และไม่มีอยู่ใน __dict__ อย่างไรก็ตาม a += other ใช้งานได้

__repr__() str

ส่งคืนสตริงที่แทน array เรียกเป็น str(a) หรือ repr(a) (โดยที่ a คือ array) ส่งคืนสตริง "array(<type>, [<elements>])" โดยที่ <type> คือตัวอักษรรหัสประเภทของ array และ <elements> คือรายการองค์ประกอบที่คั่นด้วยจุลภาค

หมายเหตุ: __repr__ ไม่สามารถเรียกโดยตรงได้ (a.__repr__() จะล้มเหลว) และไม่มีอยู่ใน __dict__ อย่างไรก็ตาม str(a) และ repr(a) ทั้งคู่ใช้งานได้