Python’da Sınıflar

Nesne tabanlı programlama yaklaşımında bir programcının asıl işlevi görevleri gerçekleştirmek değildir, bu görevler gerçekleştirilirken kullanılacak nesnelere odaklanmaktır. Python programlama dili tamamen nesne tabanlı bir dil olduğu için sınıflar, fonksiyonlar, değişkenler, listeler gibi her şey birer nesne olarak algılanmaktadır.

Python programlama dili tüm standart olan özelliklere sahiptir. Bu standart özelliklerden bazıları; Kalıtım, Soyutlama, Sarmalama, Çok biçimlilik

Sınıflar oluşturulurken “class” anahtar kelimesi kullanılmaktadır.

Başlangıçta herhangi bir metod ile ilgili bilgi verilmedi ise metodlar Python programlama dili tarafından varsayılan olarak atanır.

Her bir objenin başlangıçtaki değerlerden farklı olmasını isteniyorsa, obje oluşturulurken değerinin de tanımlanması gerekmektedir. Bunun için __init__() metodu kullanılmalıdır. Bu metod Python’da yapıcı (constructor) fonksiyon olarak tanımlanmaktadır.

__hash__ : Bir nesnenin kimliğinin belirlenmesi için kullanılan metottur.

__eq__ : İki nesnenin karşılaştırılması için eşitlik mantığını tanımlamak için kullanılan metottur.

__str__ : Bir sınıfın içerisindeki örneğin temsil ediliş şeklini özelleştirmek için kullanılan metottur.

__repr__ : Üzerinde çağrıldığı bir nesnenin dizi olarak gösteriminin özelleştirilmesi için kullanılan metottur.

__dict__ : Üzerinde çağrıldığı bir nesnenin değişken araması için kullanılan metottur.

__del__ : Üzerinde çağrılan bir nesnenin silinmesi için kullanılan metottur.

__It__ : Bir nesnenin başka bir nesne üzerindeki (<) daha az kısmını tanımlamak için kullanılan metottur.

__le__ : Bir nesnenin başka bir nesne üzerindeki (<=) daha az kısmını veya iki nesnenin eşitliğini tanımlamak için kullanılan metottur.

__gt__ : Bir nesnenin başka bir nesne üzerindeki (>) daha fazla kısmını tanımlamak için kullanılan metottur.

__ge__ : Bir nesnenin başka bir nesne üzerindeki (>=) daha fazla kısmını veya iki nesnenin eşitliğini tanımlamak için kullanılan metottur.

__ne__ : Bir nesnenin başka bir nesne üzerindeki (!=) eşit olmadığını tanımlamak için kullanılan metottur.

__format__ : İçerisine aldığı nesnenin nasıl biçimlendirileceğini tanımlamak için kullanılan metottur.

__getattr__ : Bir nesnenin adlandırılmış özelliğinin değerini döndürmek için kullanılan bir metottur. Eğer özellik bulunamazsa varsayılan değeri döndürür.

__issubclass__ : İçerisine iki parametre alır. Birincisi bir sınıf değeridir, ikincisi bir sınıfın alt değeridir. Almış olduğu sınıfın alt değeri, belirtilen sınıfa ait olup olmadığını kontrol etmek için kullanılan bir metottur.

__doc__ : Üzerinde çağrılan bir nesnenin özelliklerinin print() mantığıyla döküman halinde bastırılması için kullanılan bir metottur.

__iter__ : Yineleyici/İteratif sınıfların tanımlanmasında kullanılan bir komuttur. Bu komut içerisindeki yapılar iterasyonlar halinde gerçekleşen yapılardır.

__next__ : İteratif yapıların döndürülmesi için kullanılan bir komuttur.