Operator Overloading dalam Python
Dalam Python, mentakrifkan operator tersuai tidak disokong secara langsung. Walau bagaimanapun, penyelesaian yang bijak membolehkan pengubahsuaian pengendali sedia ada, memberikan ilusi mencipta yang baharu. Teknik "infix" ini membolehkan definisi operator yang berfungsi antara dua ungkapan, seperti dalam contoh berikut:
<code class="python"># Simple multiplication operator x = Infix(lambda x, y: x * y) print(2 |x| 4) # Output: 8</code>
Dalam contoh ini, |x| operator berkelakuan seperti operator darab (*). Begitu juga, pengendali untuk perbandingan tersuai boleh ditakrifkan:
<code class="python"># Class checking operator isa = Infix(lambda x, y: x.__class__ == y.__class__) print([1, 2, 3] |isa| []) # Output: True print([1, 2, 3] <<isa>> []) # Output: True</code>
Di sini, |isa| operator menyemak sama ada kedua-dua ungkapan itu tergolong dalam kelas yang sama. Penyelesaian ini secara berkesan memanjangkan fungsi pengendali Python, memberikan fleksibiliti dalam mentakrifkan operasi tersuai tanpa memerlukan sintaks baharu.
Atas ialah kandungan terperinci Bolehkah Operator Python Ditakrifkan Semula?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!