Back to questions
Junior — Middle
61
Какова роль метода slots и какие преимущества он предоставляет в контексте оптимизации ресурсов?
Answer from AI
sobes.tech AI
В 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__ полезен для оптимизации памяти и повышения производительности, особенно при создании большого количества объектов.