Курс 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
- Создание графики с черепахой
- Удаление элемента из списка
- Класс Counter() для подсчета элементов
- split() — разделение строки
- Преобразование данных в Python
- Генераторы в Python
- Форматирование строк с f-строками
- Вложенные функции в Python
- Colorama: окрашивание текста в Python
- Оператор Walrus: правильное использование
- Мощь вложенных функций в Python
- Избегание изменяемых аргументов
- Объединение кортежей в Python
- Тип данных TypeVarTuple
- Работа с модулем Calendar
- Моржовый оператор в Python 3.8
- Работа с кортежами в Python
- Декораторы для регистрации функций
- Значения по умолчанию в Python
- Работа с путями в Python
- Передача аргументов в Python
- Функция eval() в Python
- Создание словаря через dict comprehension
- Анонимные функции Lambda
- Парсинг веб-страниц с Beautiful Soup
- Поиск индекса элемента
- Оптимизация параметров в Python
- Работа с каталогами в Python
- Абстракции словарей и множеств в Python
- Замена переменных в Python
- Управление IP-адресами через прокси
- Создание таблиц в Python с PrettyTable
- Проверка класса объекта
- Работа с YAML в Python: PyYAML.
- Работа с файлами в Python
- Установка библиотек в Python
- Обработка исключений в Python 3
- Модуль pprint: улучшение вывода данных
- Объединение строк с помощью метода join
- Метод get для словаря
- Запуск внешних программ с subprocess
- Игра «Виселица» на Python















