Apa itu Metode __call__
Metode __call__
adalah metode khusus di Python yang memungkinkan instance dari sebuah kelas dipanggil seolah-olah mereka adalah fungsi. Ketika sebuah kelas mengimplementasikan metode __call__
, instance dari kelas tersebut menjadi objek yang dapat dipanggil, yang berarti Anda dapat menggunakannya seperti halnya menggunakan sebuah fungsi, dengan tanda kurung dan argumen. Fitur yang powerful ini memungkinkan Anda untuk membuat kode yang lebih ekspresif dan fleksibel dengan memanfaatkan kekuatan penuh dari pemrograman berorientasi objek di Python.
Sintaks dan Struktur
Untuk mengimplementasikan metode __call__
di kelas Python Anda, cukup definisikan sebuah metode bernama __call__
di dalam kelas. Metode ini harus mengambil self
sebagai argumen pertamanya, diikuti oleh argumen tambahan apa pun yang ingin Anda gunakan untuk instance yang dapat dipanggil tersebut.
Berikut adalah sintaks umum untuk metode __call__
:
class MyClass:
def __call__(self, arg1, arg2, ..., argN):
# Your implementation here
Contoh Dasar Metode __call__
Berikut adalah contoh dasar dari metode __call__
dalam aksi:
class CallableGreeter:
def __init__(self, greeting):
self.greeting = greeting
def __call__(self, name):
return f"{self.greeting}, {name}!"
greeter = CallableGreeter("Hello")
print(greeter("Alice")) # Output: Hello, Alice!
Dalam contoh ini, kita mendefinisikan kelas CallableGreeter
dengan metode __call__
. Ketika kita membuat sebuah instance dari kelas tersebut dan memberikan salam, instance tersebut menjadi sebuah objek yang dapat dipanggil yang dapat mengambil nama sebagai argumen dan mengembalikan salam yang dipersonalisasi.
Referensi