__soita__ Pythonissa
Pythonissa on joukko sisäänrakennettuja menetelmiä ja __call__> on yksi niistä. The __call__> -menetelmän avulla Python-ohjelmoijat voivat kirjoittaa luokkia, joissa esiintymät käyttäytyvät funktioiden tavoin ja joita voidaan kutsua funktioiksi. Kun ilmentymää kutsutaan funktiona; jos tämä menetelmä on määritelty, x(arg1, arg2, ...)> on lyhenne sanalle x.__call__(arg1, arg2, ...)> .
object() is shorthand for object.__call__()
Esimerkki 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()> |
Lähtö:
Instance Created Instance is called via special method
Esimerkki 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> )> |
Lähtö:
Instance Created 200