Pelajari AI dengan Python · Pelajaran

Kaedah Ajaib (__str__, __repr__ dan sebagainya)

Dalami kaedah khas Python untuk menyesuaikan tingkah laku objek

Pelajaran 6 daripada 611 langkah

Kaedah Ajaib (__str__, __repr__ dan sebagainya) ialah pelajaran Pelajari AI dengan Python percuma di CoddyKit. Ini ialah pelajaran 6 daripada 6. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pelajari AI dengan Python, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pelajari AI dengan Python merangkumi sejumlah 6 pelajaran.

Pengenalan kepada Kaedah Magik

Kaedah magik, yang juga dikenali sebagai kaedah dunder (singkatan bagi 'garis bawah berganda'), ialah kaedah khas dalam Python yang membolehkan anda mentakrifkan cara objek berkelakuan dalam situasi tertentu.

Dalam pelajaran ini, anda akan mempelajari cara menggunakan kaedah magik yang biasa seperti __str__, __repr__ dan kaedah lain.

Kaedah Ajaib (__str__, __repr__ dan sebagainya) — ilustrasi 1

Apakah Kaedah Khas?

Kaedah khas ialah kaedah yang telah ditentukan dalam Python dan dipanggil secara automatik apabila operasi tertentu dilakukan pada objek. Kaedah ini dikenal pasti melalui garis bawah berganda, seperti __init__ atau __str__.

Kaedah __init__

Kaedah __init__ ialah pembina yang memulakan objek baharu. Kaedah ini dipanggil secara automatik apabila objek dicipta:

# 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

Kaedah __str__

Kaedah __str__ mentakrifkan perwakilan rentetan bagi objek apabila 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

Kaedah __repr__

Kaedah __repr__ menyediakan perwakilan rentetan rasmi bagi objek dan sering digunakan untuk penyahpepijatan:

# 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)

Pemuatan Berlebihan Operator with Kaedah Magik

Anda boleh menggunakan kaedah magik untuk menyesuaikan tingkah laku 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)

Kaedah Magik yang Biasa Digunakan

Berikut ialah beberapa kaedah magik yang biasa digunakan:

  • __len__: Mentakrifkan tingkah laku fungsi len().
  • __getitem__: Membolehkan pengindeksan seperti senarai atau kamus.
  • __eq__: Menyesuaikan perbandingan kesamaan menggunakan ==.

Menggunakan __len__ dan __getitem__

Anda boleh menggunakan __len__ untuk mentakrifkan panjang objek tersuai dan __getitem__ untuk menjadikannya boleh 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

Kesilapan Biasa with Kaedah Magik

Berikut ialah beberapa kesilapan yang perlu dielakkan:

  • Mentakrifkan kaedah magik tanpa memadankannya dengan tingkah laku yang dimaksudkan.
  • Membebankan operator tanpa keperluan.
  • Terlupa melaksanakan kaedah magik yang diperlukan dalam jenis data tersuai.

Apakah yang Telah Kita Pelajari?

Dalam pelajaran ini, anda telah mempelajari:

  • Maksud kaedah magik dan sebab kaedah ini berguna.
  • Cara menggunakan kaedah magik yang biasa seperti __init__, __str__ dan __repr__.
  • Cara membebankan operator menggunakan kaedah magik.

Tahniah! Mari kita beralih kepada topik seterusnya.

Kaedah Ajaib (__str__, __repr__ dan sebagainya) — ilustrasi 11
Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
53
Pelajaran
225

Soalan Lazim

Adakah pelajaran “Kaedah Ajaib (__str__, __repr__ dan sebagainya)” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pelajari AI dengan Python, termasuk “Kaedah Ajaib (__str__, __repr__ dan sebagainya)”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pelajari AI dengan Python merangkumi sejumlah 6 pelajaran.

Apakah yang akan saya pelajari dalam “Kaedah Ajaib (__str__, __repr__ dan sebagainya)”?

Dalami kaedah khas Python untuk menyesuaikan tingkah laku objek Anda berlatih Pelajari AI dengan Python menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Pelajari AI dengan Python?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pelajari AI dengan Python di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 6 daripada 6.

Berapa lamakah pelajaran “Kaedah Ajaib (__str__, __repr__ dan sebagainya)” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pelajari AI dengan Python ini?

Ya. Setiap pelajaran Pelajari AI dengan Python menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Kelas dan Objek
  2. Atribut dan Kaedah
  3. Pewarisan
  4. Polimorfisme
  5. Pengkapsulan dan Abstraksi
  6. Kaedah Ajaib (__str__, __repr__ dan sebagainya)
← Kembali ke Pelajari AI dengan Python