__call__
__call__() usuli
__call__() usuli obyektni object() sintaksisi yordamida funksiya sifatida chaqirishga imkon beradi.
Misol
Tugmani bosishni hisoblash uchun funksiya sifatida chaqirilishi mumkin bo‘lgan ClickCounter obyektini yarating:
class ClickCounter:
def __init__(self):
self.clicks = 0
def __call__(self):
self.clicks += 1
return self.clicks
button_clicks = ClickCounter()
print(button_clicks())
print(button_clicks())
print(button_clicks())
O‘zingiz sinab ko‘ring »
Eslatma:button_clicks funksiya emas, balki obyektdir - lekin __call__() uni funksiya sifatida bir xil () sintaksisi bilan ishlatish imkonini beradi.
Oddiy funksiyadan farqli o‘laroq, u chaqiruvlar orasida o‘z holatini eslab qoladi, shuning uchun har safar chaqirilganda hisob ko‘payadi.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
