types — noms des types intégrés¶
Ce module définit des noms pour certains types d’objets utilisés par l’interpréteur Python standard mais qui ne sont pas exposés en tant qu’objets intégrés (comme le type des fonctions ou des générateurs), ainsi qu’un petit nombre d’utilitaires pour la construction dynamique de classes.
Il s’agit d’un portage MicroPython d’un sous-ensemble du module types de CPython. Plusieurs alias de types qui n’ont aucune représentation utile dans MicroPython (CodeType, MappingProxyType, SimpleNamespace, TracebackType, FrameType, GetSetDescriptorType, MemberDescriptorType) sont exposés comme des espaces réservés None afin que le code qui ne fait que les référencer continue de s’importer, mais ils ne correspondront à aucun objet réel via isinstance().
Disponibilité : Ce module fait partie de micropython-lib. Il n’est inclus par défaut que sur l’OpenMV N6 et l’OpenMV AE3. Sur les autres OpenMV Cams, il peut être installé avec mip (ou figé dans un micrologiciel personnalisé) ; voir Gestion des paquets.
Alias de types¶
- types.FunctionType: type¶
Le type des fonctions définies par l’utilisateur et des objets créés par les instructions
def.
- types.LambdaType: type¶
Le type des expressions
lambda. Identique àFunctionType.
- types.GeneratorType: type¶
Le type des objets générateur-itérateur produits par les fonctions génératrices.
- types.MethodType: type¶
Le type des méthodes liées des instances de classes définies par l’utilisateur.
- types.BuiltinFunctionType: type¶
Le type des fonctions intégrées telles que
len()etsys.exit().
- types.BuiltinMethodType: type¶
Le type des méthodes liées des types intégrés (par exemple
[].append). Identique àBuiltinFunctionType.
- types.CodeType: None¶
Espace réservé pour le type d’objet
codede CPython. ToujoursNonedans cette implémentation.
- types.MappingProxyType: None¶
Espace réservé pour le type de proxy de mappage en lecture seule renvoyé par
type.__dict__dans CPython. ToujoursNonedans cette implémentation.
- types.SimpleNamespace: None¶
Espace réservé pour la classe
types.SimpleNamespacede CPython. ToujoursNonedans cette implémentation.
- types.TracebackType: None¶
Espace réservé pour le type des objets de traceback. Toujours
Nonedans cette implémentation.
- types.FrameType: None¶
Espace réservé pour le type des objets de trame. Toujours
Nonedans cette implémentation.
Fonctions¶
- types.new_class(name: str, bases: tuple = (), kwds: dict | None = None, exec_body: Callable[[dict], None] | None = None) type¶
Crée dynamiquement un objet classe d’une manière qui reflète l’instruction
classconforme à la PEP 3115.name est le nom de la nouvelle classe.
bases est un tuple de classes de base.
kwds est un dictionnaire d’arguments nommés à transmettre à la métaclasse. Une clé
"metaclass", si elle est présente, sélectionne directement la métaclasse.exec_body est un appelable optionnel qui sera invoqué avec l’espace de noms de classe fraîchement préparé ; il doit le remplir avec les attributs de la nouvelle classe.
Renvoie la classe nouvellement construite.
- types.prepare_class(name: str, bases: tuple = (), kwds: dict | None = None) tuple[type, dict, dict]¶
Calcule la métaclasse appropriée et prépare l’espace de noms pour une nouvelle classe.
name est le nom de la classe sur le point d’être créée.
bases est un tuple de classes de base.
kwds est un dictionnaire d’arguments nommés. Une clé
"metaclass", si elle est présente, est retirée du kwds renvoyé et utilisée comme métaclasse. Sinon, la métaclasse debases[0]est utilisée, avec un repli surtype.
Renvoie un triplet
(metaclass, namespace, kwds)où namespace est le résultat de l’appel àmetaclass.__prepare__si elle est définie, ou un dictionnaire vide sinon, et kwds est une copie de l’entrée d’où toute entrée"metaclass"a été retirée.