Python Academy · Pelajaran

Kelas dan Kaedah __init__

Takrifkan kelas, cipta objek dan mulakan atribut.

Pelajaran 1 daripada 413 langkah

Kelas dan Kaedah __init__ ialah pelajaran Python Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Python Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Mentakrifkan Kelas

Gunakan kata kunci class untuk mentakrifkan kelas. Mengikut konvensyen, nama kelas menggunakan CapWords.

class Dog:
    pass

fido = Dog()
print(type(fido))  # <class '__main__.Dog'>

Kaedah __init__

__init__ dipanggil secara automatik apabila objek dicipta. Gunakannya untuk menyediakan atribut instans.

class Dog:
    def __init__(self, name, breed):
        self.name = name
        self.breed = breed

fido = Dog("Fido", "Labrador")
print(fido.name)   # Fido

Penjelasan tentang self

self merujuk kepada instans semasa. Ia mesti menjadi parameter pertama bagi setiap kaedah instans. Python menghantarnya secara automatik.

class Counter:
    def __init__(self):
        self.count = 0

    def increment(self):
        self.count += 1

c = Counter()
c.increment()
print(c.count)  # 1

Berbilang Instans

Setiap instans mempunyai salinan atribut instansnya sendiri yang ditetapkan dalam __init__.

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

p1 = Point(1, 2)
p2 = Point(5, 7)
print(p1.x, p2.x)  # 1 5

Nilai Lalai Parameter dalam __init__

Berikan nilai lalai kepada parameter __init__ supaya sesetengah argumen menjadi pilihan.

class Circle:
    def __init__(self, radius=1.0):
        self.radius = radius

c1 = Circle()
c2 = Circle(5)
print(c1.radius, c2.radius)  # 1.0 5

Kaedah Instans

Kaedah yang ditakrifkan di dalam kelas beroperasi pada instans melalui self.

class Rectangle:
    def __init__(self, w, h):
        self.w = w
        self.h = h

    def area(self):
        return self.w * self.h

r = Rectangle(4, 5)
print(r.area())  # 20

Menambah Atribut Selepas Penciptaan

Anda boleh menambah atribut kepada instans selepas penciptaannya, tetapi lebih kemas untuk mengisytiharkan kesemuanya dalam __init__.

class Person:
    def __init__(self, name):
        self.name = name

p = Person("Alice")
p.age = 30      # added after creation
print(p.name, p.age)

Nilai Pulangan __init__

__init__ mesti mengembalikan None. Pemulangan nilai lain akan menimbulkan TypeError.

class Broken:
    def __init__(self):
        return 42   # TypeError!

# Correct
class OK:
    def __init__(self):
        self.value = 42
        # implicit return None

Menyemak Jenis Instans

Gunakan isinstance() untuk menyemak sama ada objek ialah instans bagi sesuatu kelas.

class Animal:
    pass

class Dog(Animal):
    pass

d = Dog()
print(isinstance(d, Dog))     # True
print(isinstance(d, Animal))  # True

Atribut __dict__

Setiap instans menyimpan atributnya dalam kamus __dict__.

class Book:
    def __init__(self, title, pages):
        self.title = title
        self.pages = pages

b = Book("Python 101", 300)
print(b.__dict__)  # {'title': 'Python 101', 'pages': 300}

Memadam Atribut

Gunakan del untuk membuang atribut daripada instans semasa program berjalan.

class Config:
    def __init__(self):
        self.debug = True
        self.version = "1.0"

cfg = Config()
del cfg.debug
print(hasattr(cfg, "debug"))  # False

Semakan Pantas

Apakah tujuan self dalam kaedah kelas Python?

Ulang Kaji

Kelas ialah pelan tindakan untuk objek. __init__ memulakan atribut instans, self merujuk kepada objek semasa, dan setiap instans mengekalkan kamus atributnya sendiri.

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
76
Pelajaran
320

Soalan Lazim

Adakah pelajaran “Kelas dan Kaedah __init__” percuma?

Ya — teks penuh “Kelas dan Kaedah __init__” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Python Academy, tingkat taraf kepada CoddyKit PRO. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Kelas dan Kaedah __init__”?

Takrifkan kelas, cipta objek dan mulakan atribut. Anda berlatih Python Academy 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 Python Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Python Academy 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 1 daripada 4.

Berapa lamakah pelajaran “Kelas dan Kaedah __init__” 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 Python Academy ini?

Ya. Setiap pelajaran Python Academy 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 Kaedah __init__
  2. Atribut Contoh berbanding Atribut Kelas
  3. Kaedah Contoh dan self
  4. Kaedah Ajaib: __str__ dan __repr__
← Kembali ke Python Academy