Python Development
Александр Вотин, Backend developer · 23.11
Класс в Python "на лету" с помощью type()
Обычно мы создаём классы через class, а ты знал, что можно сделать это вообще без него? Для этого в Python есть функция type(). Она не только показывает тип объекта, но и позволяет создавать классы прямо во время работы программы.
Ты, наверное, уже использовал type() вот так print(type(5)) . Но у неё есть скрытая "магия". Если передать ей три аргумента, она может создать новый класс. Имя класса — это строка, как мы хотим назвать класс. Родительские классы — сюда передаём список классов, от которых будем наследоваться (можно оставить пустым). Атрибуты — словарь, где описаны переменные и методы нового класса.
Допустим, у нас есть задача сделать класс Person, который будет хранить имя человека и выводить приветствие. С type() это можно сделать так как показано на изображении.
Теперь ты, наверное, думаешь "А зачем вообще это использовать?". Вот несколько примеров: - Если класс нужно собрать "на лету", например, из данных, которые пришли из базы или конфигурации. - Когда нужно создать десятки похожих классов, не дублируя один и тот же код. - Изменение поведения в реальном времени. Например, добавлять в класс разные методы в зависимости от условий.
еще контент автора
еще контент автора
Python Development
Александр Вотин, Backend developer · 23.11
войдите, чтобы увидеть
и подписаться на интересных профи