Выполнение кода при уничтожении класса (экземпляра метакласса) в PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Выполнение кода при уничтожении класса (экземпляра метакласса) в Python

Сообщение Anonymous »

У нас есть некоторый API, который должен быть отключен (например, api.shutdown()) только один раз для каждого процесса Python и специфичен только для определенного класса (например, ControllerA) из иерархии контроллеров ( например, Controller, унаследованный от ControllerA, ..., ControllerZ). Могу ли я каким-либо разумным образом добавить «логику деструктора» в Python при уничтожении самого класса, а не только любого из его экземпляров? Я понимаю, что в Python классы не уничтожаются явно так же, как объекты, а скорее собираются мусором, когда на них нет существующих ссылок, но, возможно, есть какой-то способ добиться вышеуказанного эффекта? Я хочу выполнить вызов api.shutdown() один раз для всех экземпляров, но не явно, поскольку этого не следует делать для экземпляров ControllerB ..., ControllerZ. Можно ли добиться чего-то подобного с помощью метаклассов или чего-то вроде деструкторов метаклассов?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»