0Pricing
Python Academy · Pelajaran

Metode Ajaib (__str__, __repr__, dll.)

Pelajari metode khusus Python untuk menyesuaikan perilaku objek.

Metode Ajaib (__str__, __repr__, dll.) adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 6 dari 6. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 6 pelajaran total.

Pengenalan Metode Khusus

Pengenalan Metode Khusus

Metode khusus, yang juga dikenal sebagai metode garis bawah ganda (singkatan dari 'garis bawah ganda'), adalah metode khusus dalam Python yang memungkinkan Anda menentukan perilaku objek dalam situasi tertentu.

Dalam pelajaran ini, Anda akan mempelajari cara menggunakan metode khusus yang umum seperti __str__, __repr__, dan metode lainnya.

Metode Ajaib (__str__, __repr__, dll.) — ilustrasi 1

Apa Itu Metode Khusus?

Apa Itu Metode Khusus?

Metode khusus adalah metode bawaan dalam Python yang dipanggil secara otomatis saat operasi tertentu dilakukan pada objek. Metode ini dikenali dari dua garis bawahnya, seperti __init__ atau __str__.

Metode __init__

Metode __init__

Metode __init__ adalah konstruktor yang menginisialisasi objek baru. Metode ini dipanggil secara otomatis saat objek dibuat:

# Using the __init__ method to initialize attributes
class Person:
    def __init__(self, name, age):
        self.name = name  # Initialize the name attribute
        self.age = age  # Initialize the age attribute

# Creating an instance of Person
person = Person("Alice", 30)
print(person.name, person.age)  # Outputs: Alice 30

Metode __str__

Metode __str__

Metode __str__ menentukan representasi teks suatu objek saat print() dipanggil:

# Defining the __str__ method
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return f"Name: {self.name}, Age: {self.age}"  # String representation

person = Person("Alice", 30)
print(person)  # Outputs: Name: Alice, Age: 30

Metode __repr__

Metode __repr__

Metode __repr__ menyediakan representasi teks resmi suatu objek, yang sering digunakan untuk penelusuran kesalahan:

# Defining the __repr__ method
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __repr__(self):
        return f"Person('{self.name}', {self.age})"  # Debug-friendly representation

person = Person("Alice", 30)
print(repr(person))  # Outputs: Person('Alice', 30)

Membebani Operator dengan Metode Khusus

Membebani Operator dengan Metode Khusus

Anda dapat menggunakan metode khusus untuk menyesuaikan perilaku operator seperti + atau ==:

# Overloading the + operator with __add__
class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __add__(self, other):
        return Point(self.x + other.x, self.y + other.y)  # Adding two points

    def __str__(self):
        return f"({self.x}, {self.y})"

point1 = Point(1, 2)
point2 = Point(3, 4)
result = point1 + point2  # Calls __add__
print(result)  # Outputs: (4, 6)

Metode Khusus yang Umum Digunakan

Metode Khusus yang Umum Digunakan

Berikut beberapa metode khusus yang umum digunakan:

  • __len__: Menentukan perilaku fungsi len().
  • __getitem__: Memungkinkan pengindeksan seperti pada list atau dictionary.
  • __eq__: Menyesuaikan perbandingan kesamaan menggunakan ==.

Menggunakan __len__ dan __getitem__

Menggunakan __len__ dan __getitem__

Anda dapat menggunakan __len__ untuk menentukan panjang objek khusus dan __getitem__ agar objek tersebut dapat diindeks:

# Using __len__ and __getitem__ in a custom class
class CustomList:
    def __init__(self, items):
        self.items = items

    def __len__(self):
        return len(self.items)  # Defines the behavior of len()

    def __getitem__(self, index):
        return self.items[index]  # Enables indexing

custom_list = CustomList([1, 2, 3])
print(len(custom_list))  # Outputs: 3
print(custom_list[1])  # Outputs: 2

Kesalahan Umum dalam Metode Khusus

Kesalahan Umum dalam Metode Khusus

Berikut beberapa kesalahan yang harus dihindari:

  • Mendefinisikan metode khusus tanpa menyesuaikannya dengan perilaku yang dimaksud.
  • Membebani operator jika tidak diperlukan.
  • Lupa mengimplementasikan metode khusus yang diperlukan dalam tipe data khusus.

Apa yang Telah Kita Pelajari?

Apa yang Telah Kita Pelajari?

Dalam pelajaran ini, Anda telah mempelajari:

  • Pengertian metode khusus dan alasan metode tersebut berguna.
  • Cara menggunakan metode khusus yang umum seperti __init__, __str__, dan __repr__.
  • Cara membebani operator menggunakan metode khusus.

Kerja bagus! Mari lanjut ke topik berikutnya.

Metode Ajaib (__str__, __repr__, dll.) — ilustrasi 11

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Metode Ajaib (__str__, __repr__, dll.)” gratis?

Ya — teks lengkap “Metode Ajaib (__str__, __repr__, dll.)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 6 pelajaran total.

Apa yang akan aku pelajari di “Metode Ajaib (__str__, __repr__, dll.)”?

Pelajari metode khusus Python untuk menyesuaikan perilaku objek. Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 6 dari 6.

Berapa lama pelajaran “Metode Ajaib (__str__, __repr__, dll.)” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Kelas dan Objek
  2. Atribut dan Metode
  3. Pewarisan
  4. Polimorfisme
  5. Enkapsulasi dan Abstraksi
  6. Metode Ajaib (__str__, __repr__, dll.)
← Kembali ke Python Academy