Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Erkunden anonymer Klassen und Objekte in Python

Die in Python integrierte Funktion type() gibt die Klasse zurück, zu der ein Objekt gehört. In Python sind eine Klasse, sowohl eine integrierte Klasse als auch eine benutzerdefinierte Klasse, Objekte vom Typ Klasse.

Beispiel

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))

Es wird die folgende Ausgabe erzeugt:-

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

Der Typ() hat eine Version mit drei Argumenten wie folgt:−

Syntax

newclass=type(name, bases, dict)

Mit der oben genannten Syntax kann eine Klasse dynamisch erstellt werden. Drei Argumente vom Typ Funktion sind −

Erstellen Sie eine anonyme Klasse

Mit der obigen Version der Funktion type() können wir eine anonyme Klasse erstellen. Das Namensargument ist eine Nullzeichenfolge, das zweite Argument ist ein Tupel einer Klasse, der Objektklasse (beachten Sie, dass jede Klasse in Python von der Objektklasse geerbt wird). Wir fügen bestimmte Instanzvariablen als drittes Argumentwörterbuch hinzu. Wir lassen es vorerst leer.

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

Erstellen Sie ein anonymes Objekt

Um ein Objekt dieser anonymen Klasse zu erstellen −

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

Das Ergebnis zeigt, dass das Objekt einer anonymen Klasse angehört

type of obj: <class '__main__.'>

Beispiel für eine anonyme Klasse und ein anonymes Objekt

Wir können Instanzvariablen und Instanzmethoden auch dynamisch hinzufügen. Schauen Sie sich dieses Beispiel an −

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())

Es wird die folgende Ausgabe erzeugt:-

5 6

Python

  1. PyUnit-Tutorial:Python Unit Testing Framework (mit Beispiel)
  2. Python - Multithread-Programmierung
  3. Python Timeit() mit Beispielen
  4. Umgang mit Python-Dateien:So erstellen Sie eine Textdatei, lesen, schreiben, öffnen
  5. Python-Datei und -Verzeichnis mit os.rename() umbenennen
  6. Python - Listen
  7. Python-Funktionen
  8. Multithreading in Python mit Beispiel:Lernen Sie GIL in Python
  9. Python vs. JavaScript:Unterschied zwischen JavaScript und Python
  10. Python vs. PHP:Was ist der Unterschied zwischen Python und PHP?