Mehrere Konstruktoren mit unterschiedlicher Anzahl von Argumenten
📁 Python
Kann man in Python in einer Klasse mehrere Konstruktoren mit unterschiedlicher Anzahl von Argumenten erstellen?
class a:def __init__(self,b): passdef __init__(self): passIn diesem Fall können Instanzen der Klasse nur mit dem zweiten Konstruktor erstellt werden, während der Aufruf x = a(42) einen Fehler auslöst.
Hier ist eine Variante, bei der kein Speicherleck auftritt und die das Wrapping mehrerer Klassen unterstützt.
Metaklasse:
import weakrefclass MyMeta(type): def __init__(self, *args, **kwargs): self.__instances = {} super(MyMeta, self).__init__(*args, **kwargs) def get_instances(self): retu list(self.__instances.values()) def delete(self, id_instance):
Anmelden um eine Antwort zu hinterlassen