__call__ en Python
Python dispose d'un ensemble de méthodes intégrées et __call__> est l'un d'eux. Le __call__> La méthode permet aux programmeurs Python d'écrire des classes dans lesquelles les instances se comportent comme des fonctions et peuvent être appelées comme une fonction. Lorsque l'instance est appelée en tant que fonction ; si cette méthode est définie, x(arg1, arg2, ...)> est un raccourci pour x.__call__(arg1, arg2, ...)> .
object() is shorthand for object.__call__()
Exemple 1:
class> Example:> > def> __init__(> self> ):> > print> (> 'Instance Created'> )> > > # Defining __call__ method> > def> __call__(> self> ):> > print> (> 'Instance is called via special method'> )> > # Instance created> e> => Example()> > # __call__ method will be called> e()> |
Sortir :
Instance Created Instance is called via special method
Exemple 2 :
class> Product:> > def> __init__(> self> ):> > print> (> 'Instance Created'> )> > > # Defining __call__ method> > def> __call__(> self> , a, b):> > print> (a> *> b)> > # Instance created> ans> => Product()> > # __call__ method will be called> ans(> 10> ,> 20> )> |
Sortir :
Instance Created 200