- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
Bir sınıfın tanımı üç ana bileşenden oluşur: Yapıcı Metot (__init__), Nitelikler (Veri) ve Metotlar (Davranış).
Nitelikler, bir nesnenin sahip olduğu verilerdir. Bir objeyi tanımlayan, onu diğerlerinden ayıran özelliklerdir (Örn: Araba için renk, marka).
Sınıfın içinde, herhangi bir metodun dışında tanımlanan özelliklerdir. Bu özellikler, o sınıftan türetilen tüm nesneler için ortaktır ve aynı değeri taşır.
Yapıcı metot (__init__) içinde tanımlanan özelliklerdir. Her nesneye özgüdür ve o nesnenin kendi değerini saklar.
__init__)__init__ (initializer) metodu, bir sınıfın en önemli metodudur. Bu, özel (dunder/magic) metot olarak adlandırılır.
Ne Zaman Çalışır: Bir sınıftan yeni bir nesne oluşturulduğu anda (yani Araba() çağrıldığında) otomatik olarak çağrılır.
Amacı: Yeni oluşturulan nesnenin temel nesne niteliklerini başlatmak ve başlangıç değerlerini atamaktır.
self ParametresiTüm sınıf metotlarının (ve özellikle __init__'in) ilk parametresi self olmalıdır.
self, oluşturulmakta olan nesnenin kendisine referans verir. Python, metodu çağırırken bu self argümanını otomatik olarak iletir. Böylece metot, hangi nesnenin üzerinde çalıştığını bilir.
Örnek: Niteliklerin ve __init__ Kullanımı
# 1. Sınıf Niteliği (Ortak)
tekerlek_sayisi = 4
# 2. Yapıcı Metot (__init__)
def __init__(self, renk, marka):
# self.renk ve self.marka nesne nitelikleridir
#(Her nesne için farklı)
self.renk = renk
self.marka = marka
self.hiz = 0 # Başlangıç hızı 0 olarak belirlendi
# Nesne oluşturma (renk ve marka argümanlarını __init__'e gönderir)
araba_1 = Araba("Kırmızı", "Ferrari")
araba_2 = Araba("Mavi", "Tofaş")
print(f"1. Araba: {araba_1.marka}, Renk: {araba_1.renk}")
print(f"2. Araba: {araba_2.marka}, Renk: {araba_2.renk}")
Metotlar, sınıfa ait fonksiyonlardır. Bir nesnenin gerçekleştirebileceği eylemleri veya davranışları tanımlar.
Metot Tanımı: Normal fonksiyonlar gibi def ile tanımlanır, ancak ilk parametre olarak self alırlar.
Örnek: Davranış Ekleme
Araba sınıfına hızlanma (ivme) ve frenleme (yavaşlama) metotlarını ekleyelim:
tekerlek_sayisi = 4
def __init__(self, renk, marka):
self.marka = marka
self.hiz = 0 # Nesne niteliği
def hizlan(self, miktar):
self.hiz += miktar # Nesnenin hız niteliğini değiştirir
print(f"{self.marka} hızlanıyor. Yeni Hız: {self.hiz}")
def fren_yap(self):
self.hiz = 0
print(f"{self.marka} durdu.")
# Metotları çağırma (Davranış)
araba_1 = Araba("Kırmızı", "Ferrari")
araba_1.hizlan(50) # Çıktı: Ferrari hızlanıyor. Yeni Hız: 50
araba_1.hizlan(20) # Çıktı: Ferrari hızlanıyor. Yeni Hız: 70
araba_1.fren_yap() # Çıktı: Ferrari durdu.
__str__ ve __repr__)Bir nesneyi print() ile yazdırmaya çalıştığınızda, Python varsayılan olarak nesnenin bellekteki konumunu gösterir. Bu çıktıyı özelleştirmek için bu özel metotlar kullanılır:
__str__(self): Nesnenin kullanıcıya dönük, okunabilir dize temsilini döndürür. (Genellikle str() veya print() ile kullanılır.)
__repr__(self): Geliştiriciye dönük, nesneyi yeniden oluşturmaya yardımcı olacak kesin dize temsilini döndürür.
Kendiniz Deneyebilirsiniz:
🔥 Python Kariyerinizi Hemen Başlatın!
Hemen kursumuza kaydolun ve bu güçlü araçları kullanarak profesyonel Python geliştiricisi olma yolunda ilk adımı atın. Kursumuzdaki uygulamalı modüller, sizi sadece bir yazılımcı adayı değil, hazır bir profesyonel haline getirecek. Python Eğitimini Udemy platformunda bulabilirsiniz.
[ Python Eğitimi Sıfırdan İleri Seviye ]
Tıklayın ve Python Eğitimine Hemen Kaydolun!
Yorumlar
Yorum Gönder