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 pourx.__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()> |
>
chaîne java du tableau
>
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>