Методы переопределения удаляют декораторы, унаследованные от базового класса - PullRequest
0 голосов
/ 12 сентября 2018
class X():
    @decorator
    def method(self):
        return

class Y(X):
    def method(self):
        return

Есть ли способ, где примененные декораторы все еще применяются к дочернему классу method без явного их декорирования?

1 Ответ

0 голосов
/ 12 сентября 2018

Нет, поскольку переопределение методов создает совершенно новый объект. Это та же логика, что super(...).__init__ не вызывается автоматически, и общие указания Python являются явными - например, если это произошло по умолчанию, но вы не хотели декоратор, как это будет работать?

Не кажется слишком большой работой, чтобы быть здесь явным и украшать.

...