Ist es möglich, die from / import-Anweisung in Python zu überladen?
Wenn beispielsweise jvm_object
eine Instanz der Klasse JVM
ist, ist es möglich, diesen Code zu schreiben:
Dieser Beitrag demonstriert, wie die in
Es ist schwer etwas zu finden, was in einer dynamischen Sprache wie Python nicht möglich ist, aber müssen wir wirklich alles missbrauchen? Wie auch immer, hier ist es:
%Vor% Aber ein Muster, das ich in mehreren Bibliotheken / Projekten gesehen habe, ist eine Art _make_module()
-Funktion, die dynamisch ModuleType
erzeugt und alles darin initialisiert. Danach wird das aktuelle Modul durch das neue Modul ersetzt (mit der Zuweisung zu sys.modules
) und die Funktion _make_module()
wird gelöscht. Der Vorteil besteht darin, dass Sie das Modul über das Modul schleifen und sogar dem Modul innerhalb dieser Schleife Objekte hinzufügen können, was manchmal sehr nützlich ist (aber verwenden Sie es mit Vorsicht!).
Tags und Links python operator-overloading import