Курс Python → Создание и удаление объектов

В объектно-ориентированном программировании создание и удаление объектов играет важную роль. Для создания объекта используется метод new, который принимает первым аргументом тип класса, в котором он вызывается. Этот метод обычно возвращает тот же тип класса. Он часто используется для настройки создания экземпляров класса, особенно тех, которые наследуются от неизменяемых типов, таких как int, str или tuple.

Конструктор класса, обозначаемый методом __init__, используется для инициализации объектов. Он принимает в качестве первого аргумента self, который ссылается на сам объект, и может принимать другие аргументы для инициализации объекта. Этот метод вызывается автоматически при создании нового экземпляра класса.

Метод __init_subclass__ позволяет переопределить создание подклассов объекта. Этот метод вызывается при создании нового подкласса и позволяет выполнить дополнительные действия при создании подкласса. Например, он может быть использован для добавления дополнительной логики или атрибутов к подклассу.


class MyClass:
    def __new__(cls, *args, **kwargs):
        # Логика создания объекта
        instance = super().__new__(cls)
        return instance

    def __init__(self, value):
        self.value = value

    def __init_subclass__(cls):
        # Логика создания подкласса
        pass

Пример кода выше показывает использование методов __new__, __init__ и __init_subclass__ в классе Python. Эти методы позволяют настраивать создание объектов, инициализировать их и определять дополнительные действия при создании подклассов.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Использование defaultdict в Python
  2. Динамическая типизация в Python
  3. Python: отличительная особенность — отступы
  4. Работа с zip()
  5. Создание лямбда-функций
  6. Переопределение оператора % для объектов
  7. Метод remove() для удаления элемента из списка
  8. Метод join() для объединения элементов строки
  9. Профилирование с cProfile
  10. Обязательные аргументы в Python
  11. Генераторы в Python
  12. Определение наиболее частого элемента с помощью collections.Counter
  13. Перевод эмодзи и эмотиконов.
  14. Аннотации типов в Python
  15. Модуль subprocess: запуск внешних команд
  16. Установка переменной среды в Python
  17. Python: библиотеки и функции
  18. Python reversed() функция
  19. Глобальные переменные в Python
  20. Работа с модулем os в Python
  21. Отрицательные индексы списков
  22. Принцип одной функции
  23. Удаление элемента по индексу
  24. Распаковка элементов последовательности
  25. Бинарный поиск
  26. Присвоение и ссылки
  27. Замена атрибута в именованном кортеже
  28. Декораторы с @wraps
  29. Создание словарей и множеств в Python.
  30. Объединение словарей в Python
  31. Ограничение итераций в Python
  32. Метод join() для объединения элементов в строку.
  33. Операции с массивами в NumPy
  34. Обновление шаблона base.html
  35. Библиотека wikipedia для Python
  36. Списковое включение в Python
  37. Удаление дубликатов с помощью множеств
  38. Создание функций высшего порядка
  39. Метод join() с набором
  40. Big O оптимизация
  41. Поиск индексов подстроки
  42. Повторение элементов списков
  43. Эффективная конкатенация строк с использованием join()
  44. Оптимизация памяти в Python
  45. Разница между датами
  46. Создание новых списков в Python

Marketello читают маркетологи из крутых компаний