Python té un conjunt de mètodes integrats i__call__>és un d'ells. El__call__>El mètode permet als programadors de Python escriure classes on les instàncies es comporten com a funcions i es poden cridar com una funció. Quan la instància es crida com a funció; si es defineix aquest mètode,x(arg1, arg2, ...)>és una abreviatura dex.__call__(arg1, arg2, ...)>.
object() is shorthand for object.__call__()>
Exemple 1:
convenció de noms java
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()> |
>
>
Sortida:
Instance Created Instance is called via special method>
Exemple 2:
caràcter en cadena
escàner java
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>)> |
>
>
Sortida:
Instance Created 200>