Курс 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"
- kwargs в Python
- Работа с кортежами в Python
- Преобразование числа в список цифр
- Создание панели меню Tkinter
- Создание namedtuple списком полей
- Метод __ilshift__ для битового сдвига влево
- Отладчик pdb: начало работы
- Метод join() для объединения строк
- Ускорение обработки данных с %autoawait
- Проверка переменных окружения в Python
- Управление асинхронными задачами на Python.
- Создание графиков в терминале
- Метод __call__ в Python
- Преобразование символов в нижний регистр
- Namedtuple в Python
- Библиотека sh: использование команд bash в Python
- Активация Matplotlib в Jupyter
- Импорт с альтернативным именем
- Создание словарей и множеств в Python
- Основы работы с os
- F-строки в Python 3.8
- Локальные переменные.
- Отображение HTML кода в Python
- Оптимизация памяти с помощью __slots__
- Генерация строк с .join()
- Сложение матриц в NumPy
- Генератор списка с условием if
- Работа с индексами списков
- Анонимные функции в Python
- Генератор бросков кубиков
- Взаимодействие с sys
- Python: отличительная особенность — отступы
- Извлечение аудио из видео
- Обновление и получение данных в SQLite
- Модуль antigravity: генерация координат
- Отладка кода
- Получение ID процесса
- Генераторы списков в Python
- Работа с атрибутом dict
- Пропуск начальных строк с помощью dropwhile()
- Хэш-функции в Python
- Сортировка данных с лямбда-функциями
- Разделение строки в Python
- Удаление эмодзи с помощью pandas
- Создание и обучение модели с Keras















