Magic method dalam python adalah method-method spesial yang namanya diawali dan diakhiri dengan dobel underscore. Magic method sendiri tidak dirancang untuk kita panggil secara langsung, akan tetapi ia akan dipanggil oleh sistem secara internal pada saat-saat tertentu seperti misalnya saat membuat sebuah objek atau melakukan operator 2, 3, dan lain sebagainya [1]. Show
Di dalam python, magic method juga dinamakan dengan dunder method. Dimanakan “dunder” karena ia merupakan singkatan dari “double underscore” [2]. Kita sebenarnya telah menggunakan beberapa magic method pada pembahasan dan juga pembahasan operator overloading. Di antara contoh magic method yang telah kita pelajari adalah:
Method-method tersebut tidak kita panggil secara eksplisit, karena ia dipanggil otomatis oleh sistem ketika sebuah aksi tertentu dilakukan. Bedanya Magic Method dan Operator OverloadingPada pertemuan sebelumnya kita telah membahas panjang lebar tentang teknik operator overloading, ia adalah teknik di mana kita bisa mengatur behaviour suatu kelas atau objek ketika dikenakan sebuah operator. Apa bedanya dengan magic method? Magic method adalah method khusus yang memiliki nama diawali serta diakhiri dengan dobel underscore ( 9). Method-method tersebut ada banyak sekali dengan berbagai tugas yang beragam.Nah, di antara magic method tersebut, ada method-method yang kita gunakan untuk melakukan teknik operator overloading seperti method 5, 6, dan lain-lain.Contoh:
Ketika kita panggil:
Konstruktor Juga Termasuk Magic MethodSadar atau tidak sadar, ketika kita membuat sebuah konstruktor dalam suatu kelas, maka sejatinya kita telah menggunakan salah satu di antara magic method yang terdapat pada python. Perhatikan contoh berikut:
Output:
Kita bisa perhatikan pada contoh di atas, bahwa kita tidak pernah memanggil fungsi 4 sama sekali. Akan tetapi sistem tetap memanggilnya secara otomatis ketika ada pembuatan instan dari kelas 3.Method Halo dunia Halo dunia 4Di antara magic method yang sangat banyak digunakan adalah method: 4.Method 4 akan dipanggil ketika sebuah instan dari kelas yang bersangkutan dikonversi menjadi string atau ketika dijadikan parameter untuk fungsi 7.Perhatikan contoh berikut:
Apa outputnya? Outputnya adalah kode yang tidak manusiawi alias tidak jelas seperti berikut:
Lalu bagaimana misalkan instan dari kelas yang kita buat (dalam hal ini adalah kelas 8) bisa menampilkan string tertentu ketika di- 7?Jawabannya adalah: gunakan magic method 4.Perhatikan contoh berikut:
Output:
Method class Segitiga: def __init__(self, a, t): self.alas = a self.tinggi = t # buat instan a = Segitiga(10, 10) b = Segitiga(20, 10) print(a) print(b) 1Hampir sama dengan method 4, method 1 juga akan mengembalikan sebuah string. Bedanya, method 1 hanya akan dipanggil ketika kita memanggil default function 5 pada python.Perhatikan contoh berikut:
Output:
Method class Segitiga: def __init__(self, a, t): self.alas = a self.tinggi = t # buat instan a = Segitiga(10, 10) b = Segitiga(20, 10) print(a) print(b) 6Di antara magic method yang cukup umum digunakan adalah: method 6.Ia adalah sebuah method yang akan dipanggil ketika sebuah objek atau instan dijadikan parameter untuk fungsi bawaan python 8.Perhatikan contoh berikut: 0Jika kita jalankan, kita justru akan mendapatkan error: 1Itu kenapa? Karena objek dari tipe 9 tidak memiliki fungsi 8 alias ia tidak mengimplementasikan magic method yang bernama 6.Beda ceritanya jika kita ubah kodenya menjadi berikut: 2Output: 3Method <__main__.Segitiga object at 0x7f80d82dabe0> <__main__.Segitiga object at 0x7f80d82dac10> 2Masih satu paket dengan fungsi 6. Fungsi 2 adalah sebuah magic method yang akan dipanggil ketika sebuah instan dari kelas yang kita buat dipanggil menggunakan indeks yang diapit dengan kurung siku 5.Mari kita lanjutkan kode program sebelumnya untuk kelas 9, kemudian kita akses instan dari kelas tersebut dengan kurung siku seperti berikut: 4Kita akan mendapatkan error: 5Nah, agar tidak error, kita bisa mengimplementasikan fungsi 2: 6Jika kita jalankan, kita akan mendapatkan output: 7Bahkan, kita juga bisa memasukkan variabel 8 ke dalam perulangan for: 8Output: 9Method-Method Yang LainSelain method-method yang sudah kita coba di atas, masih ada banyak sekali magic method lain yang terdapat pada python. Untuk mengetahui apa saja magic method yang diimplementasikan pada suatu kelas (atau tipe data), kita bisa memanggil fungsi 9.Perhatikan contoh berikut: 0Pada contoh di atas kita telah menampilkan fungsi magic apa saja yang telah diimplementasikan dalam tipe data 0.
Split Python untuk apa?Dapat disimpulkan bahwa metode split Python merupakan cara untuk membagi data string menjadi daftar string setelah memecah string yang diberikan oleh pemisah yang sudah ditentukan.
Apakah yang dimaksud dengan string pada bahasa pemrograman Python?Mengenal Apa itu String
String dalam bahasa pemrograman Python disebut sebagai kumpulan karakter yang dikelilingi oleh tanda kutip tunggal, tanda kutip ganda bahkan tanda kutip tiga.
|