Traffine I/O

Bahasa Indonesia

2023-02-25

Memecahkan Misteri Metode __call__ di Python

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__:

python
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

https://medium.com/@johnidouglasmarangon/using-call-method-to-invoke-class-instance-as-a-function-f61396145567

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!