Курс 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"
- Оператор continue в Python
- Фильтрация списков с itertools
- Цикл for в Python
- Преобразование числа в восьмеричную строку
- Экспорт данных в файл.
- Декодирование байтов в строку
- Печать комбинаций в Python с Itertools
- Искажение имен в Python
- Тест скорости набора текста на Python
- Списки в Python
- Работа с timedelta
- Настройка шрифта и цвета в Tkinter
- Numpy: использование Ellipsis
- Округление в Python
- Правила именования переменных
- Поиск частого элемента
- Синтаксис переменных цикла в Python
- Создание класса в Python
- Проверка однородности элементов списка
- Удаление специальных символов
- Создание виртуальной среды
- Сумма элементов списка
- Удаление элементов из списка в Python
- Метод clear для коллекций
- Преобразование символов в нижний регистр
- Работа со временем в Python
- Преобразование строк в числа в Python
- Функция zip() в Python
- Функции высшего порядка в Python
- Импорт классов из другого файла
- Декораторы в Python
- Сортировка списка по индексам
- Добавление цвета в консоли
- Определение объема памяти объекта
- Выключение компьютера с помощью Python
- Управление браузером с Selenium
- Библиотека wikipedia для Python
- Преобразование строки в число
- Пространство имен в Python
- Декораторы с аргументами
- Удаление URL-адресов в Python
- Метод __iand__ для пользовательских классов
- Транспонирование 2D-массива с помощью zip
- Нахождение разницы между списками в Python
- Копирование объектов в Python
- Объединение списков в Python















