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

Python-Klassen-Slots

Python-Klassen-Slots sind eine Funktion, die nicht viele Programmierer kennen. In einer Slotted-Klasse definieren wir explizit die Felder, die unsere Klasse haben darf, indem wir den magischen Feldnamen __slots__ verwenden . Das hat einige Vorteile:

Hier ist ein Beispiel für die Definition einer Slotted-Klasse:

>>> class Card:
...     __slots__ = 'rank', 'suite'
...     def __init__(self, rank, suite):
...             self.rank = rank
...             self.suite = suite
... 
>>> qh = Card('queen', 'hearts')

Für mich ist der größte Vorteil, dass Sie einer Slot-Klasse nicht zufällig neue Attribute hinzufügen können. Es kann kostspielige Fehler verhindern! Zur Veranschaulichung:Ein Tippfehler beim Zuweisen eines Attributs zu einer Slotted-Klasse wird einen Fehler ausgeben, anstatt dass Python stillschweigend ein neues Attribut erstellt.

Für kleine Klassen ohne komplexe Vererbung kann die Verwendung von Slots von Vorteil sein. Besonders wenn Sie viele Instanzen einer solchen Klasse erstellen müssen, können die Speichereinsparungen und der schnellere Attributzugriff einen Unterschied machen.

Schließlich, nur damit Sie es wissen, können Sie diese Technik auch mit Datenklassen kombinieren!


Python

  1. Python-Datentypen
  2. Python-Operatoren
  3. Python-pass-Anweisung
  4. Python-Funktionsargumente
  5. Python-Wörterbuch
  6. Benutzerdefinierte Python-Ausnahmen
  7. Python objektorientierte Programmierung
  8. Python-Iteratoren
  9. Python-Schließungen
  10. Python-Datetime