Fungsi __call__() dalam Python ialah kaedah khas yang membolehkan objek dipanggil seperti fungsi. Apabila objek dipanggil, Python secara automatik mencari dan memanggil kaedah __call__() objek. Kaedah
__call__() boleh digunakan untuk menentukan sama ada tika kelas boleh digunakan sebagai fungsi dan kelakuannya. Dengan melaksanakan kaedah __call__(), kita boleh menyesuaikan gelagat panggilan objek.
Berikut ialah contoh mudah yang menunjukkan cara menggunakan fungsi __call__() dalam Python untuk menjadikan objek boleh dipanggil:
class Counter: def __init__(self): self.count = 0 def __call__(self): self.count += 1 print("调用次数:", self.count) # 创建一个Counter对象 counter = Counter() # 调用对象,会触发__call__()方法 counter() # 输出:调用次数: 1 counter() # 输出:调用次数: 2 counter() # 输出:调用次数: 3
Dalam kod di atas, kami telah menentukan kelas Counter yang mengandungi kiraan pembolehubah contoh dan __call__() kaedah. Dalam kaedah __call__(), kami menambah kiraan sebanyak 1 dan mencetak bilangan panggilan.
Dengan mencipta objek Counter dan memanggilnya, kita dapat melihat bahawa setiap kali kaedah __call__() dipanggil, pembilang ditambah dan bilangan panggilan dikeluarkan.
Selain contoh di atas, kita juga boleh memanfaatkan fungsi __call__() selanjutnya. Sebagai contoh, kita boleh mentakrifkan berbilang kaedah __call__() dalam kelas untuk mencapai gelagat panggilan yang berbeza.
class Adder: def __init__(self, a): self.a = a def __call__(self, b): return self.a + b # 创建一个Adder对象 adder = Adder(5) # 调用对象,会在__call__()方法中执行相应的操作 result = adder(10) print(result) # 输出:15 result = adder(20) print(result) # 输出:25
Dalam kod di atas, kami menentukan kelas Penambah, yang mengandungi kaedah __call__(). Dalam kaedah __call__(), kami melaksanakan operasi menambah dua nombor.
Dengan mencipta objek Penambah dan memanggilnya sebagai fungsi, kita boleh mendapatkan hasil penjumlahan yang sepadan.
Ringkasnya, fungsi __call__() dalam Python membenarkan objek dipanggil seperti fungsi. Kita boleh menyesuaikan gelagat panggilan objek dan melaksanakan fungsi yang lebih kaya dengan melaksanakan kaedah __call__(). Ini adalah ciri berkuasa pengaturcaraan berorientasikan objek dalam Python.
Atas ialah kandungan terperinci Cara menggunakan fungsi __call__() dalam Python untuk menjadikan objek boleh dipanggil. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!