Misteri = dalam Python
Pembangun sering menemui operator = dalam Python, tetapi fungsi dalaman trengkas ini mungkin kekal misteri. Jadi, apa sebenarnya yang dilakukan oleh =?
Pada dasarnya, = ialah gula sintaksis yang mudah untuk kaedah khas iadd dalam model objek Python. Kaedah ini membolehkan objek untuk menentukan tingkah laku tersuai untuk operator =. Sebagai alternatif, jika iadd tidak ditakrifkan, Python boleh menggunakan add atau radd sebagai sandaran.
Pelaksanaan iadd adalah fleksibel dan khusus kelas, menawarkan keupayaan untuk melaksanakan sebarang operasi yang diingini. Sebagai contoh, objek senarai terbina dalam menggunakan iadd untuk lelaran melalui iterable dan menambahkan setiap elemen pada dirinya sendiri, meniru kefungsian kaedah lanjutan.
Untuk menggambarkan, pertimbangkan kelas tersuai yang dipanggil Penambah yang memanfaatkan __iadd__:
class Adder(object): def __init__(self, num=0): self.num = num def __iadd__(self, other): print('in __iadd__', other) self.num += other return self.num
Dalam contoh ini, kita boleh memulakan objek Penambah dengan integer dan seterusnya menggunakan = untuk menambah nilainya. Kaedah iadd mencetak mesej semasa setiap seruan, menunjukkan cara ia menjadi aktif setiap kali operator = digunakan.
Dengan memahami selok-belok =, pengaturcara boleh mendalami objek Python- berorientasikan keupayaan pengaturcaraan, membolehkan mereka membuat objek tersuai dengan fungsi yang dipertingkatkan.
Atas ialah kandungan terperinci What's Happening Under the Hood: How Does = Berfungsi dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!