Python

Kelebihan Operator di Python

Kelebihan Operator di Python
Overloading sesuai dengan kecenderungan metode atau operator untuk bertindak dalam berbagai cara dalam arti pemrograman, berdasarkan parameter yang disediakan untuk teknik atau operan di mana operator beroperasi. Kelebihan Operator berarti bahwa makna yang berkepanjangan diberikan di atas signifikansi fungsional yang telah ditentukan sebelumnya.  Operator Python berfungsi untuk kelas bawaan, tetapi untuk berbagai jenis, operator yang sama bertindak secara berbeda. Kita akan melihat bagaimana kita bisa melakukan overloading operator dengan Python dalam panduan ini.

Misalnya, operator + dapat menambahkan dua angka secara matematis, menggabungkan dua daftar, atau menggabungkan string. Berikut adalah program python sederhana untuk menunjukkan sekilas operator + yang digunakan untuk penambahan dan penggabungan.

Nah, apa jadinya jika kita menggunakan operator ini untuk objek di a ditetapkan pengguna kelas? Mari kita ambil program berikut yang mencoba mensimulasikan sebuah titik dalam skema dimensi 2-D:. Di bawah ini, Anda sudah dapat melihatnya karena Python tidak mengerti cara menggabungkan 2 instance koordinat, a Ketik Kesalahan dihasilkan.

Kita dapat menyelesaikan tugas ini dengan Python melalui kelebihan operator, tetapi pertama-tama, mari kita pahami metode khusus.

Metode Sihir Khusus

Metode kelas dimulai dengan garis bawah ganda diklasifikasikan dalam Python sebagai metode khusus atau fungsi ajaib. Fungsi yang digunakan untuk melakukan aktivitas tertentu. Metode yang biasa kami jelaskan untuk sebuah kelas bukanlah fungsi seperti itu. Salah satunya adalah __init_() fungsi yang kami sebutkan di atas. Setiap kali kita membangun objek baru di kelas itu, itu disebut. Kami akan membuat kelas kami sesuai dengan fungsi bawaan melalui fungsi ajaib. Dalam Python, ada beberapa fungsi khusus lainnya.

Operator Biner atau Matematika

Berikut adalah detail fungsi ajaib untuk membebani biner python atau operator matematika.

Operator Relasional atau Perbandingan

Di bawah ini adalah detail fungsi ajaib untuk membebani perbandingan python atau operator relasional.

Operator Penugasan

Berikut adalah detail dari beberapa fungsi ajaib untuk membebani operator penugasan dalam kode python.

Sekarang, saatnya untuk melihat sekilas beberapa contoh kode ketika kita menggunakan metode ajaib yang disebutkan di atas dan membebani operator tertentu.

Membebani Operator Biner atau Matematika

Contoh 01: Operator Penambahan
Anda harus menegakkan __Menambahkan_() metode di kelas untuk membebani + operator. Tugas besar datang dengan kekuatan besar. Di dalam metode ini, Anda dapat melakukan apa pun yang Anda inginkan. Tetapi jauh lebih rasional untuk mengembalikan 'koor' objek jumlah koordinat.

Ketika Anda mencoba c1 + c2, Python benar-benar memanggil keajaibannya .__add__() metode sebagai c1.__tambahkan__(c2) atau Koordinat.__tambahkan__(c1,c2).

Contoh 02: Operator Perkalian
Demikian juga, Anda bahkan dapat membebani beberapa operator biner menggunakan fungsi ajaib. Dalam contoh di atas yang sama, saat membebani operator perkalian, kita mendapatkan 2, 6 sebagai jawaban kami untuk fungsi ajaib.

Contoh 03: Operator Pengurangan
Menggunakan operator pengurangan, kita dapatkan -1, -1 sebagai jawaban kami.

Contoh 04: Operator Listrik
Kami membebani kekuasaan operator saat menggunakan fungsi kekuatan sihir; kita punya 1, 8.

Contoh 05: Operator Modulus
Membebani operator modulus, kami telah menggunakan __mod__ fungsi ajaib untuk mendapatkan modulus.

Anda juga dapat menggunakan operator matematika lainnya, mis.g., operator divisi dan divisi lantai, untuk kelebihan beban.

Membebani Operator Perbandingan

Python tidak membatasi kelebihan operator hanya pada operator biner atau aritmatika. Kami juga dapat membebani operator perbandingan.

Contoh 01: Kurang dari Operator
Asumsikan kita membutuhkan kurang dari '<' symbol di ' kamikoor' kelas yang akan dilaksanakan. Mari kita bandingkan nilai argumen ini dari sumbernya dan dapatkan jawabannya. Seperti biasa, itu bisa diterapkan. Kami memiliki tiga objek, dan kami membandingkannya dalam pernyataan cetak. Hasilnya, kita akan mendapatkan objek itu c1 aku s kurang dari c2, jadi outputnya Benar. Di samping itu, c2 dan c1 adalah lebih baik dari c3; itu sebabnya keduanya False output.

Contoh 02: Tidak Sama dengan Operator
Sekarang membebani Tidak sama (!=) operator perbandingan, Anda akan mendapatkan Benar dalam kasus pernyataan cetak pertama dan kedua karena memenuhi kondisi bahwa kedua objek tidak sama. Sebaliknya, objek 1 menghasilkan sama dengan objek 3, yang tidak memenuhi persyaratan Tidak sama. Itulah mengapa pernyataan cetak ketiga menghasilkan Salah hasil dari.

Contoh 03: Lebih besar dari atau Sama dengan Operator
Mari kita coba contoh yang sama untuk membebani lebih besar dari atau sama untuk operator. Dalam kasus pernyataan cetak pertama, kita memiliki 2 >= 13, yang mana tidak benar; itu sebabnya itu menghasilkan False. Dalam pernyataan cetak kedua dan ketiga, kami mendapat 13>=2 dan 2>=2, masing-masing. Keduanya Benar karena mereka memenuhi kondisi lebih besar dari atau sama dengan.

Coba operator perbandingan lainnya, e.g., lebih signifikan dari, sama dengan, 'kurang dari atau sama dengan,' dalam kode Anda juga.

Membebani Operator Penugasan

Lihat contoh overloading operator penugasan. Kami mengambil contoh serupa dengan kelebihan beban '-=' operator penugasan. Kami telah mendefinisikan dua objek yang memiliki nilai koordinat y dan z. Objek pertama c1 meneruskan nilainya ke 'diri.kamu dan 'diri.z' variabel, masing-masing. Sebaliknya, objek c2 meneruskan nilainya ke 'lain.kamu dan 'lain.z'.

Obyek c1 memiliki nilai diri.y=1 dan diri.z=1 sekarang juga. objeknya c2 nilai 'lain.y = -2' dan 'lain.z = -3' telah diteruskan ke dikurangi dari objek c1 nilai-nilai. Akibatnya, hasil c1 - c2 diri.y - lainnya.y = 1-(-2) dan diri.z - lainnya.z = 1-(-3). Hasil perhitungan, yaitu 3 dan 4, telah disimpan ke 'self.x' dan 'diri sendiri.z' karena operator penugasan dari '=.' Saat dicetak, kode ini akan menampilkan hasil objek c1, yang memiliki dua variabel diri.y = 3 dan diri.z = 4.

Kesimpulan

Kami mencoba untuk mencakup semua operator dalam kode Anda untuk pemahaman yang lebih baik tentang Overloading Operator.

10 Game Teratas untuk Dimainkan di Ubuntu
Platform Windows telah menjadi salah satu platform yang mendominasi untuk bermain game karena persentase besar dari game yang berkembang saat ini untu...
5 Game Arkade Terbaik untuk Linux
Saat ini, komputer adalah mesin serius yang digunakan untuk bermain game. Jika Anda tidak bisa mendapatkan skor tinggi baru, Anda akan tahu apa yang s...
Pertempuran Untuk Wesnoth 1.13.6 Pengembangan Dirilis
Pertempuran Untuk Westnoth 1.13.6 dirilis bulan lalu, adalah rilis pengembangan keenam dalam 1.13.x series dan memberikan sejumlah peningkatan, teruta...