types — שמות עבור טיפוסים מובנים¶
מודול זה מגדיר שמות עבור כמה טיפוסי אובייקטים המשמשים את מפרש Python הסטנדרטי אך אינם חשופים כפונקציות מובנות (כגון הטיפוס של פונקציות או של גנרטורים), יחד עם מספר קטן של פונקציות עזר לבניית מחלקות דינמית.
זוהי הסבה של MicroPython לתת-קבוצה של מודול types של CPython. מספר כינויי טיפוס שאין להם ייצוג שימושי ב-MicroPython (CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType) חשופים כממלאי-מקום של None כך שקוד המתייחס אליהם בלבד ימשיך להיות ניתן לייבוא, אך הם לא יתאימו לשום אובייקט אמיתי דרך isinstance().
זמינות: מודול זה הוא חלק מ-micropython-lib. הוא כלול כברירת מחדל רק ב-OpenMV N6 וב-OpenMV AE3. במצלמות OpenMV Cam האחרות ניתן להתקין אותו באמצעות mip (או להקפיא אותו לתוך קושחה מותאמת אישית); ראו ניהול חבילות.
כינויי טיפוס¶
- types.LambdaType: type¶
הטיפוס של ביטויי
lambda. זהה ל-FunctionType.
- types.BuiltinFunctionType: type¶
הטיפוס של פונקציות מובנות כגון
len()ו-sys.exit().
- types.BuiltinMethodType: type¶
הטיפוס של מתודות מאוגדות של טיפוסים מובנים (לדוגמה
[].append). זהה ל-BuiltinFunctionType.
- types.MappingProxyType: None¶
ממלא-מקום עבור טיפוס ה-mapping proxy לקריאה-בלבד המוחזר על ידי
type.__dict__ב-CPython. תמידNoneבמימוש זה.
- types.SimpleNamespace: None¶
ממלא-מקום עבור המחלקה
types.SimpleNamespaceשל CPython. תמידNoneבמימוש זה.
פונקציות¶
- types.new_class(name: str, bases: tuple = (), kwds: dict | None = None, exec_body: Callable[[dict], None] | None = None) type¶
יצירת אובייקט מחלקה באופן דינמי בדרך המשקפת את הוראת ה-
classהתואמת ל-PEP 3115.name הוא שם המחלקה החדשה.
bases הוא tuple של מחלקות בסיס.
kwds הוא dict של ארגומנטי מילת-מפתח להעברה למטא-מחלקה. מפתח
"metaclass", אם קיים, בוחר את המטא-מחלקה ישירות.exec_body הוא callable אופציונלי שיופעל עם מרחב השמות של המחלקה שהוכן זה עתה; עליו לאכלס אותו בתכונות של המחלקה החדשה.
מחזיר את המחלקה החדשה שנבנתה.
- types.prepare_class(name: str, bases: tuple = (), kwds: dict | None = None) tuple[type, dict, dict]¶
חישוב המטא-מחלקה המתאימה והכנת מרחב השמות עבור מחלקה חדשה.
name הוא שם המחלקה שעומדת להיווצר.
bases הוא tuple של מחלקות בסיס.
kwds הוא dict של ארגומנטי מילת-מפתח. מפתח
"metaclass", אם קיים, מוסר מתוך ה-kwds המוחזר ומשמש כמטא-מחלקה. אחרת, המטא-מחלקה שלbases[0]משמשת, עם נסיגה אלtype.
מחזיר tuple בן 3 איברים
(metaclass, namespace, kwds)כאשר namespace הוא תוצאת הקריאה ל-metaclass.__prepare__אם הוגדרה, או dict ריק אחרת, ו-kwds הוא עותק של הקלט שממנו הוסרה כל רשומת"metaclass".