array — מערכים של נתונים מספריים¶
מודול זה מגדיר את הטיפוס array.array: רצף חסכוני-בשטח של ערכים מטיפוס מספרי קבוע יחיד, ניתן לאינדוקס כמו רשימה אך מגובה על ידי בלוק זיכרון רציף הנגיש דרך פרוטוקול החוצץ (buffer).
קודי טיפוס נתמכים¶
ארגומנט ה-typecode בן התו היחיד בוחר את טיפוס האיבר:
קוד טיפוס |
טיפוס C |
בתים |
טיפוס Python |
|---|---|---|---|
|
|
1 |
|
|
|
1 |
|
|
|
2 |
|
|
|
2 |
|
|
|
2 או 4 |
|
|
|
2 או 4 |
|
|
|
4 |
|
|
|
4 |
|
|
|
8 |
|
|
|
8 |
|
|
|
4 |
|
|
|
8 |
|
הקודים 'f' ו-'d' דורשים קושחה שנבנתה עם תמיכה בנקודה צפה (ברירת המחדל ברוב הלוחות). הרוחב המדויק של 'i' ו-'I' עוקב אחר ה-ABI של שפת C במארח — בדרך כלל 4 בתים בפורטים של Cortex-M.
מחלקות¶
- class array.array(typecode: str, iterable: Iterable = ())¶
צור מערך עם איברים מהטיפוס הנתון. התוכן ההתחלתי של המערך ניתן על ידי iterable. אם הוא לא סופק, נוצר מערך ריק.
בנוסף למתודות שלהלן, אובייקטי מערך מיישמים גם את פרוטוקול החוצץ (buffer). פירוש הדבר שניתן לגשת לתוכן המערך כולו כבתים גולמיים דרך
memoryviewאו ממשקים אחרים המשתמשים בפרוטוקול זה.- __getitem__(index: int | slice) Any¶
קריאה מאונדקסת של המערך, הנקראת כ-
a[index](כאשרaהואarray). מחזירה ערך אם index הואintו-arrayאם index הוא פרוסה (slice). אינדקסים שליליים נספרים מהסוף ו-IndexErrorנזרק אם האינדקס מחוץ לטווח.הערה:
__getitem__לא ניתן לקריאה ישירה (a.__getitem__(index)נכשל) ואינו קיים ב-__dict__, אולםa[index]אכן עובד.
- __setitem__(index: int | slice, value: Any) None¶
כתיבה מאונדקסת אל המערך, הנקראת כ-
a[index] = value(כאשרaהואarray).valueהוא ערך יחיד אם index הואintו-arrayאם index הוא פרוסה (slice). אינדקסים שליליים נספרים מהסוף ו-IndexErrorנזרק אם האינדקס מחוץ לטווח.הערה:
__setitem__לא ניתן לקריאה ישירה (a.__setitem__(index, value)נכשל) ואינו קיים ב-__dict__, אולםa[index] = valueאכן עובד.
- __len__() int¶
מחזיר את מספר הפריטים במערך, הנקרא כ-
len(a)(כאשרaהואarray).הערה:
__len__לא ניתן לקריאה ישירה (a.__len__()נכשל) והמתודה אינה קיימת ב-__dict__, אולםlen(a)אכן עובד.
- __add__(other: array) array¶
החזר
arrayחדש שהוא השרשור של המערך עם other, הנקרא כ-a + other(כאשרaו-other הם שניהםarrays).הערה:
__add__לא ניתן לקריאה ישירה (a.__add__(other)נכשל) ואינו קיים ב-__dict__, אולםa + otherאכן עובד.
- __iadd__(other: array) array¶
משרשר את המערך עם other במקום (in-place), הנקרא כ-
a += other(כאשרaו-other הם שניהםarrays). שקול ל-extend(other).הערה:
__iadd__לא ניתן לקריאה ישירה (a.__iadd__(other)נכשל) ואינו קיים ב-__dict__, אולםa += otherאכן עובד.
- __repr__() str¶
מחזיר את ייצוג המחרוזת של המערך, הנקרא כ-
str(a)אוrepr(a)(כאשרaהואarray). מחזיר את המחרוזת"array(<type>, [<elements>])", כאשר<type>הוא אות קוד הטיפוס של המערך ו-<elements>היא רשימה מופרדת בפסיקים של איברי המערך.הערה:
__repr__לא ניתן לקריאה ישירה (a.__repr__()נכשל) ואינו קיים ב-__dict__, אולםstr(a)ו-repr(a)שניהם עובדים.