🍎Sınıflar ve Miras Alma
Python ile class, interface, meta class, property, static ve class metotları, override vs gibi yapılar
🏰 Class
Nesneye yönelik programlama (OOP) temelini oluşturur
Veri ve metotları gruplandırmamızı ve verimli kodlamamızı sağlar
🍎 Class Anahtar Kelimeleri
Tip işlemleri yapmak için
print(dir(<tip>))
yazıp çıkan metotlardan kullanacaklarımızı tanımlamamız gerekirÖrn:
int
işlemlerini yapmak içinprint(dir(int))
__add__
,__sub__
...
Çoklu işlemler için
if isinstance(number, int):
yapısı kullanılır
self
Diğer dillerdeki this
anlamına gelir
__init__
Constructor fonksiyonudur
__repr__
Ekrana ne yazılacağı (print
)
__str__
str()
içerisine alındığında yapılacaklar
__rmul__
Ters *
işlemi
__contains__
Dahiliye işlemi
def function(param):
Fonksiyon tanımlama
del p1.age
, del p1
Obje ya da class silme
🤹 Equal Metotu
isinstance
metodu ile aynı sınıftan olup olmadığı kontrol edilirvars(self)
kodu ile sınıfın sahip olduğu tüm değişkenlerdict
olarak alınırdict
verisikey
value
çiftlerine dönüştürülerek otomatik kontrole hazırlanırgetattr
metodu ile verilenkey
ile değişken temsil edilir vevalue
değerine eşitliği kontrol edilirHer koşulun sağlanması durumunda
True
aksi haldeFalse
döndürülür
💎 Properties
❔ Class Metotları
🔳 Class metotları sadece class objesine erişir
👮♂️ Obje özelliklerine erişemez (
self
ile erişilir)⚡ Class objesi de kullanılmayacaksa Static metotları tercih ediniz
⚡ Static Metotlar
📢 Static metotlarda
self
veyacls
parametresi olmaz🕊️ Class içeriklerinden bağımsızdır
🍏 Inheritance (Miras)
Miras işlemlerinde object
yerine miras alınacak class adı yazılır.
Üst sınıfın metotlarını ve değişkenlerini barındırır (yani özelliklerine sahip)
Karmaşık programlama mimarilerinde oldukça faydalıdır, düzenli olmayı sağlar
🧙♂ Detaylı bilgi için Use @classmethod Polymorphism to Construct Objects Generically alanına bakabilirsin.
🍍 Meta Class
⭐ Class Örnekleri
💎 Enumeration
Resmi dokümantasyon için buraya bakabilirsin.
Sıralı ve sabit veriler oluşturmak için kullanılır
from enum import Enum
ile projeye dahil edilirEnumlarda değer eşitliği için
<enum>.value == <value>
kullanınEnumları değerler ile oluşturmak için
<Enum>(<value>)
yapısını kullanınEnum ile enum oluşturabilirsiniz
<Enum>(<enum>)
Değişkenin enum veya değer tuttuğundan emin olmadığınız durumlarda üstteki yapıyı kullanın
🔶 Multi Value Enum
Birden fazla değere sahip enum sınıfı tanımlamaya olanak sağlar
pip install aenum
ile gerekli paket yüklenmelidir
Last updated