Python Uygulama: Class

Python Uygulama: Class

Python'da Class (sınıf), nesne yönelimli programlamanın temel yapı taşlarından biridir. Bir sınıf, veri ve işlevlerin bir arada toplandığı bir şablon görevi görür. Sınıflar, gerçek dünya varlıklarını modellemek için kullanılır ve her sınıftan birçok nesne (instance) türetilebilir. Bir sınıf içinde tanımlanan özelliklere (attributes) ve işlevlere (methods) nesne üzerinden erişilir.

Sınıf Tanımlama

Python'da sınıf tanımlamak için class anahtar kelimesi kullanılır. Basit bir sınıf tanımı şu şekildedir:

class Ogrenci: def __init__(self, isim, yas, sinif): self.isim = isim # Nesnenin ismi self.yas = yas # Nesnenin yaşı self.sinif = sinif # Nesnenin sınıfı def bilgileri_goster(self): print(f"İsim: {self.isim}, Yaş: {self.yas}, Sınıf: {self.sinif}")

Adım Adım İnceleyelim:

  1. Sınıf Tanımı (class Definition): class Ogrenci: ifadesiyle başlar.
  2. Constructor (Yapıcı Metot): __init__ metodu, sınıftan bir nesne oluşturulduğunda çağrılır ve nesnenin başlangıç özelliklerini ayarlar.
  3. Attributes (Özellikler): isim, yas, sinif bu sınıfın özellikleridir. Her nesneye özgü bilgiler taşır.
  4. Metotlar (Methods): bilgileri_goster metodu, nesnenin bilgilerini ekrana yazdıran bir metottur.

Sınıf Kullanımı (Nesne Oluşturma)

Sınıf kullanımı, o sınıftan nesne oluşturulması ve metotların çağrılmasıyla olur.

# Sınıftan nesne oluşturma ogrenci1 = Ogrenci("Ahmet", 15, "9A") ogrenci2 = Ogrenci("Ayşe", 16, "10B") # Metotları kullanma ogrenci1.bilgileri_goster() # İsim: Ahmet, Yaş: 15, Sınıf: 9A ogrenci2.bilgileri_goster() # İsim: Ayşe, Yaş: 16, Sınıf: 10B

Örnek: Basit Bir Banka Hesabı Sınıfı

Gerçek dünya problemini modellemek için bir banka hesabı sınıfı oluşturalım. Bu sınıf, hesaba para yatırma, çekme ve bakiye kontrol etme işlevlerine sahip olsun.

class BankaHesabi: def __init__(self, hesap_sahibi, bakiye=0 ): self.hesap_sahibi = hesap_sahibi # Hesap sahibinin adı self.bakiye = bakiye # Hesap bakiyesi def bakiye_goster(self): print(f"Hesap sahibi: {self.hesap_sahibi}, Bakiye: {self.bakiye} TL") def para_yatir(self, miktar): self.bakiye += miktar print(f"{miktar} TL yatırıldı. Yeni bakiye: {self.bakiye} TL") def para_cek(self, miktar): if miktar > self.bakiye: print(f"Bakiye yetersiz! Mevcut bakiye: {self.bakiye} TL") else: self.bakiye -= miktar print(f"{miktar} TL çekildi. Kalan bakiye: {self.bakiye} TL")

Banka Hesabı Sınıfının Kullanımı

# Hesap oluşturma hesap1 = BankaHesabi("Ali", 1000) # Başlangıç bakiyesi 1000 TL hesap2 = BankaHesabi("Zeynep") # Başlangıç bakiyesi varsayılan olarak 0 TL # Hesapların bakiyesini gösterme hesap1.bakiye_goster() # Hesap sahibi: Ali, Bakiye: 1000 TL hesap2.bakiye_goster() # Hesap sahibi: Zeynep, Bakiye: 0 TL # Para yatırma hesap1.para_yatir(500) # 500 TL yatırıldı. Yeni bakiye: 1500 TL # Para çekme hesap1.para_cek(200) # 200 TL çekildi. Kalan bakiye: 1300 TL hesap2.para_cek(50) # Bakiye yetersiz! Mevcut bakiye: 0 TL

Sınıfların Faydaları

  • Modülerlik: Kod parçalarını sınıflara bölebilir ve daha düzenli bir yapı oluşturabilirsiniz.
  • Yeniden Kullanılabilirlik: Sınıflar, farklı projelerde tekrar kullanılabilir.
  • Kapsülleme (Encapsulation): Sınıflar, veriyi ve o veriye erişim yöntemlerini bir arada tutar. Bu sayede dışarıdan müdahaleyi kontrol edebilirsiniz.

Sonuç

Bu basit örnekler, Python'da sınıfların nasıl tanımlanıp kullanıldığını gösterir. Sınıflar, nesne yönelimli programlama (OOP) yaklaşımının temelidir ve daha büyük ve karmaşık programlar yazarken büyük bir avantaj sağlar.



Yorum Ekle

Üzerine gel