Курс 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. Хранение данных
  2. Генерация фальшивых данных с Faker
  3. Создание даты из строки ISO
  4. Проверка условий в Python
  5. Поиск анаграмм с Counter
  6. Класс Counter() для подсчета элементов
  7. Работа с контекстным менеджером Pool
  8. Python groupby() из itertools: работа с повторяющимися элементами
  9. Определение индекса элемента списка
  10. Переименование файлов в Python
  11. Удаление элементов из списка в Python
  12. Метод matmul для умножения матриц
  13. Контроль точности вывода чисел
  14. Комментарии в Python
  15. Итерация по итерируемым объектам
  16. Объединение множеств в Python
  17. Исключение NotImplementedError
  18. Генерация QR-кодов с Python
  19. Курс по дообучению ChatGPT
  20. Создание новой даты в Python
  21. Подчеркивание в REPL
  22. Генераторы в Python
  23. Python: изменяемые и неизменяемые коллекции
  24. Переопределение оператора % для объектов
  25. Работа со словарями
  26. Копирование в Python
  27. Участие в LP стейкинге Waves
  28. Работа с комплексными числами в Python
  29. Форматирование строк в Python
  30. Основы слова
  31. Создание генераторов в Python
  32. Метод rmatmul для обратного матричного умножения
  33. Форматирование данных с помощью pprint
  34. Определение имен функций
  35. Открытие и запись файлов
  36. Исправление ошибки NameError
  37. Работа с itertools
  38. Оптимизация параметров в Python
  39. Тестирование с unittest
  40. Избегание изменяемых аргументов
  41. Переворот строки с помощью срезов
  42. Функция product() из itertools
  43. Доступ к локальным переменным
  44. Закрытие файла в Python
  45. Выражения-генераторы в Python
  46. Работа с модулем os в Python
  47. Область видимости переменных
  48. Слияние словарей в Python 3.9
  49. Реализация метода __abs__ в Python
  50. Метод сравнения объектов в Python

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