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. Operator Overloading 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 user-definedkelas? 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, aType Error dihasilkan.

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

Metode Magis Khusus

Metode kelas dimulai dengan double underscorediklasifikasikan 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 rincian 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 menerapkan__add_() 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 ‘Coord’ objek jumlah koordinat.

Ketika Anda mencoba c1 + c2, Python sebenarnya memanggil metode ajaibnya.__add__() sebagai c1.__add__(c2) atau Coord.__add__(c1,c2).

Contoh 02: Operator Perkalian
Demikian pula, Anda bahkan dapat membebani beberapa operator biner menggunakan fungsi ajaib. Dalam contoh di atas yang sama, saat membebani operator perkalian, kita mendapatkan2, 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 membebanipoweroperator saat menggunakan fungsi kekuatan sihir; kita punya1, 8.

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

Anda juga dapat menggunakan operator matematika lainnya, misalnya operator pembagian dan pembagian 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 dar
i‘<‘ symbol di ‘ kamiCoord’kelas yang akan dilaksanakan. Mari kita bandingkan nilai argumen-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 ituc1 adalah less dibandingkan c2, sehingga menghasilkan True. Di samping itu,c2 dan c1 adalah more excellent dibandingkan c3; itu sebabnya keduanya False output.

Contoh 02: Tidak Sama dengan Operator
Sekarang membebaniNot Equal (!=) operator perbandingan, Anda akan mendapatkan Truedalam 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 menghasilkanFalse hasil dari.

Contoh 03: Lebih Besar dari atau Sama dengan Operator
Mari kita coba contoh yang sama untuk kelebihan bebangreater than or equaluntuk operator. Dalam kasus pernyataan cetak pertama, kita memiliki2 >= 13, yang not true; itu sebabnya ia menghasilkan False. Dalam pernyataan cetak kedua dan ketiga, kami mendapat13>=2 dan 2>=2,masing-masing. KeduanyaTrue karena mereka memenuhi kondisi lebih besar dari atau sama dengan.

Coba operator perbandingan lainnya, misalnya 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 pertamac1 meneruskan nilainya ke ‘self.y’ dan‘self.z’variabel, ma
sing-masing. Sebaliknya, objekc2 meneruskan nilainya ke ‘other.y’ dan ‘other.z’.

Obyek c1 memiliki nilai self.y=1 dan self.z=1sekarang. objeknyac2 nilai ‘other.y = -2’ dan ‘other.z = -3’ telah diteruskan ke subtracted dari objek c1nilai-nilai. Akibatnya, hasil c1 – c2self.y – other.y = 1-(-2) dan self.z – other.z = 1-(-3).Hasil perhitungan, yaitu 3 dan 4, telah disimpan ke ‘self.x’ dan ‘self.z’ karena operator penugasan ‘=.’ Saat dicetak, kode ini akan menampilkan hasil objek c1, yang memiliki dua variabelself.y = 3 dan self.z = 4.

Kesimpulan

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

Related Posts