0
user Programlama Akademi
15-01-2025 3:01 PM
Python

Python 3'te Sınıf ve Örnek Değişkenlerini Anlama

Giriş

Nesne yönelimli programlama, değişkenlerin sınıf düzeyinde veya örnek düzeyinde kullanılmasına olanak tanır. Değişkenler, programda kullanılan bir değeri temsil eden sembollerdir.

  • Sınıf düzeyinde değişkenlere sınıf değişkenleri,
  • Örnek düzeyindeki değişkenlere ise örnek değişkenleri denir.

Eğer bir değişkenin tüm örneklerde tutarlı olmasını bekliyorsak veya bir değişkeni başlatmak istiyorsak, bu değişkeni sınıf düzeyinde tanımlayabiliriz. Ancak, değişkenlerin örnekler arasında önemli ölçüde farklılık göstereceğini tahmin ediyorsak, bunları örnek düzeyinde tanımlamalıyız.

Yazılım geliştirme prensiplerinden biri olan DRY (Don't Repeat Yourself), kodda tekrarları sınırlamayı amaçlar. Nesne yönelimli programlama, tekrarları azalttığı için DRY ilkesine uygundur.

Bu eğitim, Python'da nesne yönelimli programlama kapsamında sınıf ve örnek değişkenlerinin kullanımını göstermektedir.

Sınıf Değişkenleri

Sınıf değişkenleri, sınıf yapısı içinde tanımlanır. Bu değişkenler, sınıfın kendisine ait olduğu için, sınıfın tüm örnekleri tarafından paylaşılır. Bu nedenle, genellikle her örnek için aynı değere sahiptirler; ancak, sınıf değişkenini bir değişkeni başlatmak için kullanıyorsanız, bu durum değişebilir.

Sınıf değişkenleri, tüm yöntemlerin dışında tanımlanır ve genellikle sınıf başlığının hemen altına, yapıcı yöntem ve diğer yöntemlerden önce yerleştirilir.

Bilgi: Bu eğitimdeki örnek kodları takip etmek için, yerel sisteminizde python3 komutunu çalıştırarak bir Python etkileşimli kabuğu açabilirsiniz. Daha sonra, kodları >>> isteminin ardından kopyalayıp yapıştırarak veya düzenleyerek kullanabilirsiniz.

Bir sınıf değişkeni şu şekilde görünebilir:

class Kopekbaligi:
    hayvan_turu = "balık"

Burada, hayvan_turu değişkenine "balık" değeri atanmıştır.

Şimdi, Kopekbaligi sınıfının bir örneğini (buna yeni_Kopekbaligi diyelim) oluşturalım ve değişkeni . notasyonu ile yazdıralım:

Kopekbaligi.py

class Kopekbaligi:
    hayvan_turu = "balık"

yeni_Kopekbaligi = Kopekbaligi()
print(yeni_Kopekbaligi.hayvan_turu)

Programı çalıştıralım:

$ python Kopekbaligi.py

Çıktı

balık

Programımız, değişkenin değerini döndürür.

Biraz daha fazla sınıf değişkeni ekleyelim ve bunları yazdıralım:

Kopekbaligi.py

class Kopekbaligi:
    hayvan_turu = "balık"
    konum = "okyanus"
    takipciler = 5

yeni_Kopekbaligi = Kopekbaligi()
print(yeni_Kopekbaligi.hayvan_turu)
print(yeni_Kopekbaligi.konum)
print(yeni_Kopekbaligi.takipciler)

Python'daki diğer değişkenlerde olduğu gibi, sınıf değişkenleri de herhangi bir veri türüne sahip olabilir. Bu programda, dize (string) ve tamsayı (integer) türlerinde değişkenler kullandık. Programı tekrar çalıştıralım ve çıktıyı inceleyelim:

Çıktı

balık  
okyanus  
5

yeni_Kopekbaligi örneği, tüm sınıf değişkenlerine erişebilir ve bunları program çalıştırıldığında yazdırabilir.

Sınıf değişkenleri, sınıfın oluşturulması sırasında değişkenler tanımlamamıza olanak tanır. Bu değişkenler ve ilişkili değerleri, sınıfın her örneği tarafından erişilebilir hale gelir.

Örnek Değişkenleri

Örnek değişkenleri, sınıf örneklerine ait değişkenlerdir. Bu, bir sınıfın her nesnesi veya örneği için değişkenlerin farklı olduğu anlamına gelir.

Sınıf değişkenlerinden farklı olarak, örnek değişkenleri yöntemler içinde tanımlanır.

Aşağıdaki Kopekbaligi sınıfı örneğinde, isim ve yas örnek değişkenleridir:

class Kopekbaligi:
    def __init__(self, isim, yas):
              self.isim = isim
              self.yas = yas

Bir Kopekbaligi nesnesi oluşturduğumuzda, bu değişkenleri tanımlamamız gerekir. Bu değişkenler, yapıcı yöntem veya başka bir yöntem içinde parametreler olarak iletilir.

class Kopekbaligi:
    def __init__(self, isim, yas):
              self.isim = isim
              self.yas = yas

yeni_Kopekbaligi = Kopekbaligi("Sammy", 5)

Sınıf değişkenlerinde olduğu gibi, örnek değişkenlerini yazdırmak için şu şekilde çağırabiliriz:

Kopekbaligi.py

class Kopekbaligi:
    def __init__(self, isim, yas):
             self.isim = isim
             self.yas = yas

yeni_Kopekbaligi = Kopekbaligi("Sammy", 5)
print(yeni_Kopekbaligi.isim)
print(yeni_Kopekbaligi.yas)

Bu programı python Kopekbaligi.py ile çalıştırdığımızda aşağıdaki çıktıyı alırız:

Çıktı

Sammy  
5

Aldığımız çıktı, yeni_Kopekbaligi nesnesi için başlattığımız değişkenlerin değerlerinden oluşur.

Şimdi Kopekbaligi sınıfından Seda adlı başka bir nesne oluşturalım:

Kopekbaligi.py

class Kopekbaligi:
    def __init__(self, isim, yas):
              self.isim = isim
              self.yas = yas

yeni_Kopekbaligi = Kopekbaligi("Sammy", 5)
print(yeni_Kopekbaligi.isim)
print(yeni_Kopekbaligi.yas)

`Seda = Kopekbaligi("Seda", 8)`
`print(Seda.isim)`
`print(Seda.yas)`

Çıktı

Sammy  
5  
Seda  
8

Seda nesnesi, yeni_Kopekbaligi nesnesi gibi, Kopekbaligi sınıfının örnek değişkenlerine değer atamak için o örneğe özgü parametreleri geçirir.

Örnek değişkenleri, sınıfın nesnelerine aittir ve bu nesnelerin her birine, bu değişkenlere atanmış farklı değerler sağlar.

Sınıf ve Örnek Değişkenlerini Birlikte Kullanma

Sınıf değişkenleri ve örnek değişkenleri genellikle aynı anda kullanılır. Kopekbaligi sınıfını kullanarak bir örneği inceleyelim. Programdaki açıklamalar her adımı özetlemektedir.

Kopekbaligi.py

class Kopekbaligi:

    # Sınıf değişkenleri
    hayvan_turu = "balık"
    konum = "okyanus"

    # Yapıcı yöntem ile tanımlanan örnek değişkenleri: isim ve yas
    def __init__(self, isim, yas):
              self.isim = isim
              self.yas = yas

    # Örnek değişkeni takipciler ile kullanılan yöntem
    def takipci_ayarla(self, takipciler):
              print("Bu kullanıcının " + str(takipciler) + " takipçisi var.")


def ana():
    # İlk nesne, yapıcı yöntemin örnek değişkenlerini ayarla
    sammy = Kopekbaligi("Sammy", 5)

    # Örnek değişken isim'i yazdır
    print(sammy.isim)

    # Sınıf değişkeni konum'u yazdır
    print(sammy.konum)

    # İkinci nesne
    Seda = Kopekbaligi("Seda", 8)

    # Örnek değişken isim'i yazdır
    print(Seda.isim)

    # takipci_ayarla yöntemini kullan ve takipciler örnek değişkenini ilet
    Seda.takipci_ayarla(77)

    # Sınıf değişkeni hayvan_turu'nü yazdır
    print(Seda.hayvan_turu)


if __name__ == "__main__":
    ana()

Bu programı python Kopekbaligi.py komutuyla çalıştırdığımızda aşağıdaki çıktıyı alırız:

Çıktı

Sammy  
okyanus  
Seda  
Bu kullanıcının 77 takipçisi var.  
balık

Burada, hem Kopekbaligi sınıfına ait sammy ve Seda nesnelerinde sınıf değişkenlerini hem de örnek değişkenlerini kullandık.

Sonuç

Nesne yönelimli programlamada, sınıf düzeyindeki değişkenlere sınıf değişkenleri, nesne düzeyindeki değişkenlere ise örnek değişkenleri denir.

Bu ayrım sayesinde, sınıf değişkenlerini kullanarak nesneleri belirli bir başlangıç değeriyle başlatabilir ve örnek değişkenleri ile her nesneye farklı değerler atayabiliriz.

Sınıf ve nesneye özgü değişkenlerin kullanımı, kodun DRY ilkesine uygun olmasını sağlayarak kod içindeki tekrarları azaltır.


Lisa Tagliaferri tarafından yazılan Understanding Class and Instance Variables in Python 3 Program makalesinin düzenlenmiş çevirisi.


Daha Fazla Oku:


Bu Makaleyi Paylaş

Yorumlar

yorum Yap