Panduan Lengkap Untuk Metode Overloading di Python (Dengan contoh)
Diterbitkan: 2022-04-23Overloading adalah kemampuan suatu fungsi, metode, atau operator untuk bekerja secara berbeda ketika Anda meneruskan parameter yang berbeda ke parameter yang sama. Metode overloading atau Fungsi overloading di Python memiliki istilah yang umum digunakan. Beberapa keuntungan utama dari kelebihan beban adalah Anda dapat menggunakan satu metode dalam berbagai cara, yang membantu Anda menjaga kode Anda lebih bersih dan menghilangkan kerumitan saat bekerja dengan tim.
Apa itu Metode Overloading?
Dalam Pemrograman Berorientasi Objek, Metode Overloading digunakan dalam skenario di mana, untuk objek tertentu, metode tertentu dapat dipanggil dengan lebih dari satu cara sesuai dengan kebutuhan proyek.
Contoh Metode Overloading di Python dibahas secara rinci nanti di artikel.
Apa itu Metode Overriding?
Metode Overriding di Python mirip dengan Metode Overloading kecuali bahwa metode overriding terjadi antara subclass dan superclass. Ini memiliki parameter yang sama ketika metode dipanggil. Namun, mereka berperilaku berbeda karena beberapa fungsi diganti dari superclass.
Contoh Metode Overriding
kelas X:
metode def1 (sendiri):
print('Saya adalah fitur pertama dari kelas X')
metode def2 (sendiri):
print('Saya adalah fitur kedua dari kelas X')
kelas Y(X):
metode def1 (sendiri):
print('Saya adalah fitur pertama yang dimodifikasi dari kelas X di kelas Y')
metode def3 (sendiri):
print('Saya adalah fitur dari kelas Y')
obj = Y()
obj.metode1()
Keluaran:
Saya adalah fitur pertama yang dimodifikasi dari kelas X di kelas Y
method1 ditimpa oleh kelas Y.
Pelajari Kursus Ilmu Data online di upGrad
Metode Overloading di Python
Masalah dengan metode overloading di Python adalah Python tidak mendukungnya secara default. Namun, ada solusi untuk melakukan hal yang sama.
Masalah
Mari kita perhatikan kode berikut:
def menambahkan (a, b):
s = a + b
cetak
def tambahkan (a, b, c):
s = a + b + c
cetak
# add(8, 9) menunjukkan kesalahan
tambahkan (8, 9, 2)
Sepintas, kodenya terlihat bagus, tetapi ketika Anda mencoba mengeksekusinya dengan dua argumen, Python akan menunjukkan kesalahan karena di Python, ketika Anda memiliki lebih dari satu metode dengan nama yang sama tetapi jumlah argumen yang berbeda, hanya metode yang ditentukan terbaru dapat digunakan.
Ada dua cara berbeda untuk mengatasi masalah kelebihan metode ini dengan Python.
1: Menggunakan metode yang sama berbeda sesuai dengan tipe data argumen
Kita bisa melihat argumen untuk mengetahui tipe data, bersama dengan *args yang memungkinkan melewatkan sejumlah variabel argumen ke metode di Python. Kami kemudian dapat menggunakan pernyataan if untuk mengontrol bagaimana metode berperilaku sesuai dengan input.
KODE:
def tambahkan(dt, *args):
jika dt =='int':
s = 0
jika dt =='str':
s = ”
untuk x dalam argumen:
s = s + x
cetak
tambahkan('int', 11, 9)
add(“str”, “Halo”, “Apa kabar?”)
Keluaran:
20
Halo apa kabarmu?
Ini adalah solusi pertama untuk menerapkan metode overloading di Python.
Jelajahi Kursus Ilmu Data Populer kami
Program Pascasarjana Eksekutif Ilmu Data dari IIITB | Program Sertifikat Profesional dalam Ilmu Data untuk Pengambilan Keputusan Bisnis | Master of Science dalam Ilmu Data dari University of Arizona |
Program Sertifikat Lanjutan dalam Ilmu Data dari IIITB | Program Sertifikat Profesional dalam Ilmu Data dan Analisis Bisnis dari University of Maryland | Lihat Semua Kursus Ilmu Data |
2: Menggunakan Dekorator Pengiriman Ganda (Cara yang lebih efisien)
Multiple Dispatch Decorator kurang merupakan solusi dan bekerja persis seperti yang seharusnya. Anda dapat menginstalnya menggunakan pip3.
pip3 menginstal beberapa kiriman
KODE:
dari beberapa pengiriman pengiriman impor
@dispatch(int,int) # untuk 2 argumen bilangan bulat
def tambahkan(n1,n2):
s = n1 + n2
cetak
@dispatch(int,int,int) # untuk 3 argumen integer
def tambahkan(n1,n2,n3):
s = n1 + n2 + n3
cetak
@dispatch(float,float,float) # untuk argumen float
def tambahkan(n1,n2,n3):
s = n1 + n2 + n3
cetak
tambahkan(5,2)
tambahkan(6,1,4)
tambahkan(3.4,1.2,5.6)
Keluaran:
7
11
10.2
Saat mengeksekusi, petugas operator membuat objek baru yang menyimpan berbagai implementasi metode dan memutuskan metode yang akan dipilih bergantung pada jenis dan jumlah argumen yang diteruskan saat memanggil metode. Cara metode overloading di Python ini lebih efisien.
Baca Artikel Ilmu Data populer kami
Jalur Karir Ilmu Data: Panduan Karir Komprehensif | Pertumbuhan Karir Ilmu Data: Masa Depan Pekerjaan ada di sini | Mengapa Ilmu Data Penting? 8 Cara Ilmu Data Memberi Nilai pada Bisnis |
Relevansi Ilmu Data untuk Manajer | Lembar Cheat Ilmu Data Utama Yang Harus Dimiliki Setiap Ilmuwan Data | 6 Alasan Teratas Mengapa Anda Harus Menjadi Ilmuwan Data |
Sehari dalam Kehidupan Ilmuwan Data: Apa yang mereka lakukan? | Mitos Rusak: Ilmu Data tidak perlu Coding | Kecerdasan Bisnis vs Ilmu Data: Apa perbedaannya? |
Kesimpulan
Jika Anda ingin memasuki bidang Ilmu Data, Python adalah langkah awal yang baik untuk dilakukan. Untuk menyelam lebih dalam dan mempelajari topik lebih lanjut, Anda dapat melihat kursus sertifikasi online lanjutan seperti Program Eksekutif dalam Ilmu Data oleh IIIT-Bangalore bekerja sama dengan upGrad . Program ini mencakup aspek-aspek penting dari subjek dan memberikan banyak manfaat tambahan seperti bantuan pekerjaan, Mentorship 1:1, dukungan online, kuliah langsung, dan modul tambahan opsional untuk para antusias yang ingin meningkatkan keterampilan lebih lanjut.
Apa perbedaan antara fungsi dan metode dengan Python?
Dalam Python, ada dua jenis fungsi: fungsi bawaan dan fungsi yang ditentukan pengguna. print() dan len() adalah contoh fungsi bawaan. Fungsi yang ditentukan pengguna dalam python adalah fungsi yang dapat kita definisikan sendiri untuk melakukan tugas tertentu lebih dari sekali dalam program biasa. Metode sama seperti fungsi kecuali bahwa metode milik kelas dan hanya dapat dipanggil pada objek. (Sintaks: obj.method())
Bagaimana cara memilih antara Python dan R?
Python dan R adalah dua bahasa teratas yang digunakan untuk Ilmu Data. Sementara apa yang akan digunakan tergantung pada beberapa faktor seperti perusahaan yang Anda tuju, jenis proyek, persyaratan klien, dll., Secara umum, jika Anda seorang pemula dalam pemrograman, bekerja di lingkungan teknik yang membangun aplikasi skala besar, Python adalah pilihan yang bagus. Di sisi lain, jika Anda memiliki pengalaman pemrograman sebelumnya dan ingin menjalankan tugas analisis data dengan cepat dan memvisualisasikan data Anda menggunakan grafik yang indah untuk membuat keputusan yang lebih baik secara statistik, R adalah cara yang harus dilakukan.
Berapa lama waktu yang dibutuhkan untuk menguasai Ilmu Data?
Setiap orang memiliki kecepatan belajarnya masing-masing. Meskipun, untuk pemula yang tidak memiliki pengalaman pemrograman sebelumnya, Anda akan membutuhkan waktu hampir 6-7 bulan untuk membuat dasar-dasar Anda kuat. Posting itu, sekali lagi tergantung pada seberapa banyak Anda berlatih dan proyek yang harus dikerjakan. Jika Anda mengikuti sertifikasi online, Anda harus dapat menguasainya dalam waktu sekitar satu tahun.