Kelas dan Kaedah __init__
Takrifkan kelas, cipta objek dan mulakan atribut.
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) # FidoPenjelasan 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) # 1Berbilang 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 5Nilai 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 5Kaedah 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()) # 20Menambah 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 NoneMenyemak 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)) # TrueAtribut __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")) # FalseSemakan 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.
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
- Kelas dan Kaedah __init__
- Atribut Contoh berbanding Atribut Kelas
- Kaedah Contoh dan self
- Kaedah Ajaib: __str__ dan __repr__