Курс Python → Оптимизация памяти с __slots__
Функция __slots__ в Python представляет собой специальный атрибут класса, который позволяет определить фиксированный набор атрибутов для экземпляров данного класса. Это позволяет существенно уменьшить использование памяти, так как вместо словаря для хранения атрибутов будет использоваться кортеж фиксированного размера.
Определяя атрибут __slots__ в классе, мы указываем, какие атрибуты будут доступны для экземпляров этого класса. Это делает класс более легким и эффективным в использовании, особенно при создании большого количества экземпляров.
Пример использования __slots__:
class MyClass:
__slots__ = ('attr1', 'attr2')
def __init__(self, attr1, attr2):
self.attr1 = attr1
self.attr2 = attr2
obj1 = MyClass(10, 20)
print(obj1.attr1)
print(obj1.attr2)
В данном примере мы создаем класс MyClass с атрибутами attr1 и attr2, определяемыми с помощью __slots__. При создании экземпляра класса мы передаем значения для этих атрибутов, а затем можем обращаться к ним как к обычным атрибутам объекта.
Использование __slots__ особенно полезно в случаях, когда мы знаем заранее, какие атрибуты будут у экземпляров класса, и хотим оптимизировать использование памяти. Этот механизм позволяет сделать наши программы более эффективными и быстрыми.
Другие уроки курса "Python"
- Работа с итераторами в Python
- Обмен данными с asyncio.Queue
- Мониторинг памяти с Pympler
- Цикл for в Python
- Создание словарей и множеств в Python
- Аннотации типов в Python
- Установка виртуального окружения Python
- Переворот последовательности
- List Comprehension Tutorial
- Преобразование PowerPoint в PDF.
- Изменение регистра данных
- Удаление элемента из списка
- enumerate() в Python для работы с индексами
- Методы split() и join() — Python строк.
- Python Тесты и Гайды
- Экранирование символов в Python
- Замеры производительности в Python
- Создание веб-приложения с Flask
- Генераторные функции в Python
- Поиск индекса элемента в списке
- Замыкания в Python
- Работа с пакетами
- Преобразование документов в PDF с помощью Spire.Office
- Атрибуты класса и экземпляра
- Сравнение строк в Python
- Частичное совпадение ввода
- Разделение строк в Python
- Объединение словарей в Python
- Установка библиотек в Python
- Работа с collections в Python
- Функции min(), max(), sum()
- Тестирование модели в PyTorch
- Поиск частых элементов в списке
- Сортировка списка по индексам
- Оператор is в Python
- Сортировка HTML-элементов
- Преобразование генераторов в циклы
- Модуль inspect: получение информации о объектах
- Оптимизация сравнения в Python
- Удаление файлов в Python
- Инверсия списков и строк в Python
- Определение наиболее частого элемента с помощью collections.Counter
- Python и Монти Пайтон
- Замена символов в строке
- Объединение списков с помощью zip















