Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Explorer les classes et les objets anonymes en Python

La fonction type() intégrée de Python renvoie la classe à laquelle appartient un objet. En Python, une classe, qu'elle soit intégrée ou définie par l'utilisateur, sont des objets de type class.

Exemple

class myclass:
 def __init__(self):
 self.myvar=10
 return
 
obj = myclass()
print ('class of int', type(int))
print ('class of list', type(list))
print ('class of dict', type(dict))
print ('class of myclass', type(myclass))
print ('class of obj', type(obj))

Cela produira le résultat suivant −

class of int <class 'type'>
class of list <class 'type'>
class of dict <class 'type'>
class of myclass <class 'type'>

Le type() a une version à trois arguments comme suit −

Syntaxe

newclass=type(name, bases, dict)

En utilisant la syntaxe ci-dessus, une classe peut être créée dynamiquement. Trois arguments de type fonction sont −

Créer une classe anonyme

Nous pouvons créer une classe anonyme avec la version ci-dessus de la fonction type(). L'argument name est une chaîne nulle, le deuxième argument est un tuple d'une classe, la classe d'objet (notez que chaque classe en Python est héritée de la classe d'objet). Nous ajoutons certaines variables d'instance comme troisième dictionnaire d'arguments. Nous le gardons vide pour l'instant.

anon=type('', (object, ), {})

Créer un objet anonyme

Pour créer un objet de cette classe anonyme −

obj = anon()
print ("type of obj:", type(obj))

Le résultat montre que l'objet est de classe anonyme

type of obj: <class '__main__.'>

Exemple de classe et d'objet anonymes

Nous pouvons également ajouter dynamiquement des variables d’instance et des méthodes d’instance. Jetez un oeil à cet exemple −

def getA(self):
 return self.a
obj = type('',(object,),{'a':5,'b':6,'c':7,'getA':getA,'getB':lambda self : self.b})()
print (obj.getA(), obj.getB())

Cela produira le résultat suivant −

5 6

Python

  1. Échangez deux variables Python sans en utiliser une troisième
  2. Erreurs Python et exceptions intégrées
  3. Maîtriser la communication inter-thread en Python :synchronisation et partage de données
  4. Entrée, sortie et importation Python
  5. Convertir les horodatages Python en Datetime (et inversement) – Un guide rapide
  6. Installer PIP sous Windows :un guide complet étape par étape
  7. Maîtriser Python :6 façons efficaces de calculer le carré d'un nombre
  8. Python - Boucles
  9. Classe de données Python :une meilleure façon de stocker des données