Ved-форум поддержки

Программирование => Python => Тема начата: DigitalMag от Февраля 24, 2019, 03:55:03 pm

Название: Есть ли в питоне статический конструктор
Отправлено: DigitalMag от Февраля 24, 2019, 03:55:03 pm
Привет!

Есть ли в питоне такое понятие как статический конструктор из C#? Сколько ни гуглю, ничего подобного не могу найти
Название: Re: Есть ли в питоне статический конструктор
Отправлено: AdminUser от Марта 02, 2019, 02:09:19 pm
Прям такого понятия нет, но похожую роль выполняет метод __new__ метакласса для вашего класса:

class MyMetaclass(type):

    def __new__(metacls, class_name, class_parents, class_attr):
        //ваш код тут
        return type(class_name, class_parents, class_attr)
       
class MyClass(metaclass = MyMetaclass):
    pass

Он выполняется при инициализации класса, а не объекта - так же, как и статический конструктор