array --- arrays of numeric data¶
Module này định nghĩa kiểu array.array: một chuỗi giá trị tiết kiệm không gian của một kiểu số cố định duy nhất, có thể truy cập theo chỉ mục như danh sách nhưng được hỗ trợ bởi một khối bộ nhớ liên tiếp có thể truy cập qua buffer protocol.
Các mã kiểu được hỗ trợ¶
Đối số typecode một ký tự chọn kiểu phần tử:
Mã kiểu |
Kiểu C |
Bytes |
Kiểu Python |
|---|---|---|---|
|
|
1 |
|
|
|
1 |
|
|
|
2 |
|
|
|
2 |
|
|
|
2 or 4 |
|
|
|
2 or 4 |
|
|
|
4 |
|
|
|
4 |
|
|
|
8 |
|
|
|
8 |
|
|
|
4 |
|
|
|
8 |
|
Các mã 'f' và 'd' yêu cầu firmware được biên dịch với hỗ trợ dấu phẩy động (mặc định trên hầu hết các board). Độ rộng chính xác của 'i' và 'I' theo host C ABI --- thường là 4 byte trên các cổng Cortex-M.
Các lớp¶
- class array.array(typecode: str, iterable: Iterable = ())¶
Tạo mảng với các phần tử của kiểu đã cho. Nội dung ban đầu của mảng được cung cấp bởi iterable. Nếu không được cung cấp, một mảng rỗng sẽ được tạo.
Ngoài các phương thức dưới đây, các đối tượng array cũng triển khai buffer protocol. Điều này có nghĩa là toàn bộ nội dung mảng có thể được truy cập dưới dạng bytes thô qua
memoryviewhoặc các giao diện khác sử dụng protocol này.- extend(iterable: Iterable) None¶
Thêm các phần tử mới chứa trong iterable vào cuối mảng, làm tăng kích thước của nó.
- __getitem__(index: int | slice) Any¶
Đọc theo chỉ mục của mảng, được gọi là
a[index](trong đóalà mộtarray). Trả về một giá trị nếu index làintvà mộtarraynếu index là slice. Các chỉ mục âm đếm từ cuối vàIndexErrorđược ném nếu chỉ mục nằm ngoài phạm vi.Lưu ý:
__getitem__không thể được gọi trực tiếp (a.__getitem__(index)thất bại) và không có trong__dict__, tuy nhiêna[index]vẫn hoạt động.
- __setitem__(index: int | slice, value: Any) None¶
Ghi theo chỉ mục vào mảng, được gọi là
a[index] = value(trong đóalà mộtarray).valuelà một giá trị đơn nếu index làintvà mộtarraynếu index là slice. Các chỉ mục âm đếm từ cuối vàIndexErrorđược ném nếu chỉ mục nằm ngoài phạm vi.Lưu ý:
__setitem__không thể được gọi trực tiếp (a.__setitem__(index, value)thất bại) và không có trong__dict__, tuy nhiêna[index] = valuevẫn hoạt động.
- __len__() int¶
Trả về số phần tử trong mảng, được gọi là
len(a)(trong đóalà mộtarray).Lưu ý:
__len__không thể được gọi trực tiếp (a.__len__()thất bại) và phương thức không có trong__dict__, tuy nhiênlen(a)vẫn hoạt động.
- __add__(other: array) array¶
Trả về một
arraymới là sự nối của mảng với other, được gọi làa + other(trong đóavà other đều làarrays).Lưu ý:
__add__không thể được gọi trực tiếp (a.__add__(other)thất bại) và không có trong__dict__, tuy nhiêna + othervẫn hoạt động.
- __iadd__(other: array) array¶
Nối mảng với other tại chỗ, được gọi là
a += other(trong đóavà other đều làarrays). Tương đương vớiextend(other).Lưu ý:
__iadd__không thể được gọi trực tiếp (a.__iadd__(other)thất bại) và không có trong__dict__, tuy nhiêna += othervẫn hoạt động.
- __repr__() str¶
Trả về biểu diễn chuỗi của mảng, được gọi là
str(a)hoặcrepr(a)(trong đóalà mộtarray). Trả về chuỗi"array(<type>, [<elements>])", trong đó<type>là chữ cái mã kiểu cho mảng và<elements>là danh sách phân cách bằng dấu phẩy của các phần tử mảng.Lưu ý:
__repr__không thể được gọi trực tiếp (a.__repr__()thất bại) và không có trong__dict__, tuy nhiên cảstr(a)vàrepr(a)đều hoạt động.