Python'da Özel Metotlar: __init__ ve __str__ Kullanımı
Python'da sınıf tanımlarken başında ve sonunda çift alt çizgi olan metotlar vardır. Bunlara dunder (double underscore) metotlar denir. En çok kullanılan ikisi __init__ ve __str__'dir.
__init__ Metodu Nedir?
__init__, bir sınıftan yeni nesne oluşturulduğunda otomatik olarak çalışan başlatıcı metottur. Nesnenin ilk değerlerini (özellikleri) ayarlamak için kullanılır. Örneğin bir Kişi sınıfı oluştururken, her kişinin adı ve yaşı olmalıdır. __init__ bu bilgileri nesneye atanır.
__str__ Metodu Nedir?
__str__, nesneyi yazı olarak temsil etmek için kullanılır. Bir nesneyi print() ile yazdırdığında, __str__ metodu çalışır ve okunabilir bir metin döndürür. Aksi takdirde ekrana nesnenin bellek adresi gibi anlaşılmaz bir şey çıkar.
Pratik Örnek: Kitap Sınıfı
Bir kitap yönetim sistemi yapalım. Her kitabın adı, yazarı ve yayın yılı olacak.
1class Kitap:2def __init__(self, ad, yazar, yil):3self.ad = ad4self.yazar = yazar5self.yil = yil67def __str__(self):8return f"{self.ad} - {self.yazar} ({self.yil})"910kitap1 = Kitap("1984", "George Orwell", 1949)11kitap2 = Kitap("Dune", "Frank Herbert", 1965)1213print(kitap1)14print(kitap2)Çıktı:
11984 - George Orwell (1949)2Dune - Frank Herbert (1965)Adım Adım Açıklama
1. Sınıf tanımlarken __init__ metodu self ve parametrelerle başlar.
2. self.ad = ad gibi satırlar, nesneye ait özellikleri kaydeder.
3. __str__ metodu return ile okunabilir bir metin döndürür.
4. Kitap(...) ile yeni nesne oluşturulunca __init__ otomatik çalışır.
5. print(kitap1) yazıldığında __str__ çalışır ve güzel bir çıktı gösterir.
__init__ ve __str__ öğrendikten sonra, sınıflarla çalışmak çok daha kolay hale gelir. Nesne yönetimi daha düzenli ve okunabilir olur.
0 yorum