__slots__ — Python-da obyektlərin yaddaş istifadəsini optimallaşdırmaq üçün istifadə olunan xüsusi bir mexanizmdir. Adətən, Python siniflərinin instansiyaları __dict__ adlı daxili bir strukturdan istifadə edərək atributları saxlayır. Bu isə elastiklik təmin etsə də, çox sayda obyekt yaratdıqda xeyli yaddaş itkisinə səbəb ola bilər.
__slots__ vasitəsilə sinifinizin hansı atributlara sahib ola biləcəyini dəqiq müəyyən edirsiniz və bu halda Python həmin atributları __dict__ olmadan, sabit yaddaş strukturları ilə saxlayır.
class Adam:
__slots__ = ['ad', 'yas']
def __init__(self, ad, yas):
self.ad = ad
self.yas = yas
a = Adam("Murad", 25)
print(a.ad)
Bu sinifdə ad və yas atributlarından başqa heç nə saxlamaq mümkün deyil. Məsələn, a.soyad = "Əliyev" yazmaq səhv verəcək.
IT sahəsini dərindən öyrənmək üçün kurslarımıza qoşulun. Ətraflı məlumat almaq üçün sorğu göndərin!