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

Anonyme Klassen und Objekte in Python erkunden

Pythons eingebaute type()-Funktion gibt die Klasse zurück, zu der ein Objekt gehört. In Python sind sowohl eingebaute als auch benutzerdefinierte Klassen Objekte vom Typ class.

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

Ausgabe:

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

type() hat eine Dreierargument-Version:

Syntax

 newclass = type(name, bases, dict) 

Damit lässt sich eine Klasse dynamisch erstellen. Die drei Argumente:

Anonyme Klasse erstellen

Mit der Dreierargument-Version von type() können wir eine anonyme Klasse erstellen. Das name-Argument ist ein leerer String, das zweite Argument ein Tupel mit der Klasse object (jede Python-Klasse erbt von object). Das dritte Argument-Dictionary fügen wir Instanzvariablen hinzu – hier leer.

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

Anonymes Objekt erstellen

Ein Objekt dieser anonymen Klasse:

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

Ergebnis zeigt, dass das Objekt der anonymen Klasse angehört:

 type of obj: <class '__main__.'> 

Beispiel: Anonyme Klasse und Objekt mit Attributen und Methoden

Wir können auch Instanzvariablen und -methoden dynamisch hinzufügen:

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

Ausgabe:

 5 6 

Python

  1. Python vs. Go: Welche Sprache gewinnt für Ihr Projekt?
  2. Python Zahlen: Unveränderliche numerische Datentypen verstehen
  3. Python Exception Handling meistern: try, except, else und finally erklärt
  4. Tic-Tac-Toe in Python programmieren: Schritt-für-Schritt-Tutorial mit Code
  5. Python Unit Testing mit PyUnit meistern: Ein praktischer Leitfaden & Beispiel
  6. Pythons map()-Funktion meistern: Syntax, Beispiele und Best Practices
  7. Python: Aktuelle Uhrzeit und Zeitzonendaten einfach abrufen
  8. Der exklusive Real Python Slack Community für Python-Entwickler beitreten
  9. Verzeichnis- und Dateioperationen in Python meistern
  10. Pythons @property Decorator meistern: Saubere, rückwärtskompatible Getter & Setter