logo

__skambinti__ Python

Python turi integruotų metodų rinkinį ir__call__>yra vienas iš jų. The__call__>metodas leidžia Python programuotojams rašyti klases, kuriose egzemplioriai elgiasi kaip funkcijos ir gali būti vadinami kaip funkcija. Kai egzempliorius iškviečiamas kaip funkcija; jei šis metodas yra apibrėžtas,x(arg1, arg2, ...)>yra trumpinysx.__call__(arg1, arg2, ...)>.

object() is shorthand for object.__call__()>

1 pavyzdys:






dvigubai į eilutę 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()>



grazi kompiuterine kalba
>

gimp pakeisti spalvą
>

Išvestis:

 Instance Created Instance is called via special method>

2 pavyzdys:


java uodega



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>)>

>

kokie mėnesiai yra Q1

>

Išvestis:

 Instance Created 200>