Ich weiß, dass die __call__
Methode in einer Klasse ausgelöst wird, wenn die Instanz einer Klasse aufgerufen wird. Ich habe jedoch keine Ahnung, wann ich diese spezielle Methode verwenden kann, da man einfach eine neue Methode erstellen und dieselbe Operation ausführen kann, die in __call__
method ausgeführt wird, und anstatt die Instanz aufzurufen, können Sie die Methode aufrufen.
Ich würde es wirklich begrüßen, wenn mir jemand eine praktische Anwendung dieser speziellen Methode geben würde.
__call__
ist in der Übersicht verborgen. So instanziieren Sie eine Klasse: Ist x = Foo()
wirklich x = type(Foo).__call__(Foo)
, wo __call__
durch die Metaklasse von definiert wird Foo
.