Je sais que cette __call__
méthode dans une classe est déclenchée lorsque l'instance d'une classe est appelée. Cependant, je ne sais pas quand je peux utiliser cette méthode spéciale, car on peut simplement créer une nouvelle méthode et effectuer la même opération effectuée dans __call__
method et au lieu d'appeler l'instance, vous pouvez appeler la méthode.
J'apprécierais vraiment que quelqu'un me donne une utilisation pratique de cette méthode spéciale.
__call__
est cachée à la vue; c'est ainsi que vous instanciez une classe: x = Foo()
est vraiment x = type(Foo).__call__(Foo)
, où __call__
est défini par la métaclasse de Foo
.