Автор Тема: Есть ли в питоне статический конструктор  (Прочитано 16552 раз)

DigitalMag

  • Юный джедай
  • **
  • Сообщений: 89
  • Репутация +6/-0
    • Просмотр профиля
Привет!

Есть ли в питоне такое понятие как статический конструктор из C#? Сколько ни гуглю, ничего подобного не могу найти

AdminUser

  • Team Lead
  • Юный джедай
  • *****
  • Сообщений: 65
  • Репутация +8/-0
    • Просмотр профиля
Re: Есть ли в питоне статический конструктор
« Ответ #1 : Марта 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

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