array --- arrays of numeric data¶
โมดูลนี้กำหนดประเภท array.array: ลำดับที่ประหยัดพื้นที่ของค่าประเภทตัวเลขคงที่เดี่ยว สามารถ index ได้เหมือนรายการแต่รองรับด้วยบล็อกหน่วยความจำต่อเนื่องที่เข้าถึงได้ผ่าน buffer protocol
ประเภทโค้ดที่รองรับ¶
อาร์กิวเมนต์ typecode ตัวอักษรเดี่ยวเลือกประเภทองค์ประกอบ:
รหัสประเภท |
ประเภท C |
ไบต์ |
ประเภท Python |
|---|---|---|---|
|
|
1 |
|
|
|
1 |
|
|
|
2 |
|
|
|
2 |
|
|
|
2 or 4 |
|
|
|
2 or 4 |
|
|
|
4 |
|
|
|
4 |
|
|
|
8 |
|
|
|
8 |
|
|
|
4 |
|
|
|
8 |
|
รหัส '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 นี้- extend(iterable: Iterable) None¶
ต่อท้ายองค์ประกอบใหม่ที่อยู่ใน iterable ไปยังส่วนท้ายของ array ทำให้มันขยายใหญ่ขึ้น
- __getitem__(index: int | slice) Any¶
การอ่านแบบ indexed ของ array เรียกเป็น
a[index](โดยที่aคือarray) ส่งคืนค่าถ้า index เป็นintและarrayถ้า index เป็น slice ดัชนีลบนับจากส่วนท้ายและจะ throwIndexErrorถ้า 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 ดัชนีลบนับจากส่วนท้ายและจะ throwIndexErrorถ้า 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)ทั้งคู่ใช้งานได้