Junior — Middle
90
Slots yöntemi ne işe yarar ve kaynak optimizasyonu bağlamında ne avantajlar sağlar?
AI'dan gelen yanıt
sobes.tech yapay zeka
В Python метод __slots__ используется для ограничения набора атрибутов экземпляров класса. Он позволяет явно указать, какие атрибуты могут быть у объекта, и тем самым:
- Экономить память, так как объекты не создают динамический словарь
__dict__для хранения атрибутов. - Ускорять доступ к атрибутам за счёт фиксированной структуры.
Пример использования:
class Point:
__slots__ = ('x', 'y')
def __init__(self, x, y):
self.x = x
self.y = y
p = Point(1, 2)
print(p.x, p.y) # 1 2
# p.z = 3 # Ошибка: нельзя добавить атрибут, не указанный в __slots__
Таким образом, __slots__ полезен для оптимизации памяти и повышения производительности, особенно при создании большого количества объектов.