2 - Sınıflar, Nesneler ve Yapıcı Metotlar
2025
Analoji:
class Anahtar Kelimesiclass anahtar kelimesi ile sınıf tanımlanır.pass ifadesi, şimdilik sınıfın içini boş bırakmak için kullanılır.kopek1 = Kopek() # Kopek sınıfından bir nesne (örnek) oluştur
kopek2 = Kopek() # Başka bir Kopek nesnesi oluştur__init__ Metodu: Yapıcı Metot (Constructor)self Parametresiself olabilir.self, o anda üzerinde işlem yapılan nesneyi temsil eder.self aracılığıyla erişilir.self ile tanımlanırlar.class Kopek:
tur = "Memeli" # Sınıf niteliği
def __init__(self, isim, cins):
self.isim = isim # Örnek niteliği
self.cins = cins # Örnek niteliği
kopek1 = Kopek("Bobi", "Golden Retriever")
kopek2 = Kopek("Çakıl", "Terrier")
print(kopek1.isim) # Çıktı: Bobi
print(kopek2.cins) # Çıktı: Terrier
print(Kopek.tur) # Çıktı: Memeli
print(kopek1.tur) # Çıktı: Memeli (Sınıf niteliğine erişim)self olmalıdır.cls olmalıdır (sınıfın kendisini temsil eder).@classmethod dekoratörü ile tanımlanırlar.Dekoratörler
Fonksiyonların veya sınıfların davranışlarını değiştirmek veya genişletmek için kullanılan yapılardır. İleride daha detaylı incelenecektir.
@staticmethod dekoratörü ile tanımlanırlar.self ve cls Farkıself: Örnek (instance) metotlarında kullanılır. O anda üzerinde işlem yapılan nesneyi temsil eder.cls: Sınıf (class) metotlarında kullanılır. Sınıfın kendisini temsil eder.class Araba:
def __init__(self, marka, model, renk):
self.marka = marka
self.model = model
self.renk = renk
def bilgileri_goster(self):
print(f"Marka: {self.marka}, Model: {self.model}, Renk: {self.renk}")
def calistir(self):
print("Araba çalıştırılıyor...")
def durdur(self):
print("Araba durduruluyor.")__init__ metodu, nesnelerin başlangıç durumunu ayarlar.self, nesnenin kendisine referans verir.cls, sınıf metodlarında sınıfın kendisine referans verir.@staticmethod ve @classmethod dekoratörleri, sırasıyla statik ve sınıf metotları tanımlamak için kullanılır.super() FonksiyonuOgrenci adında bir sınıf tanımlayın. Öğrencilerin adı, soyadı, numarası ve notları (liste olarak) gibi özellikleri olsun.Ogrenci sınıfına, öğrencinin not ortalamasını hesaplayan bir metot ekleyin.Ogrenci sınıfına, öğrencinin bilgilerini ekrana yazdıran bir metot ekleyin.Ogrenci nesnesi oluşturun ve bu öğrencilerin bilgilerini ve not ortalamalarını ekrana yazdırın.Kitap adında bir sınıf tanımlayın. Kitapların adı, yazarı, sayfa sayısı ve fiyatı gibi özellikleri olsun.Kitap sınıfına, kitabın bilgilerini ekrana yazdıran bir metot ekleyin.Kitap sınıfına, kitabın fiyatına belirli bir oranda indirim uygulayan bir metot ekleyin.Kitap nesnesi oluşturun ve bu kitapların bilgilerini ekrana yazdırın. Bir kitabın fiyatına indirim uygulayın ve tekrar yazdırın.