Форум сайта python.su
Появилась идея создать декоратор абстрактного метода класса, суть его работы такова:
при указании декоратора к методу класса при наследовании этого класса другими метод должен быть переопределён, иначе на этапе создания класса(а не экземпляра) будет выкинуто исключение.
Проблема в том, что если делать так:
def abstr(f): #Выполнение проверки и выброс исключения исключения class A(): @abstr def foo: pass class B(A): pass
Отредактировано Nixxx (Сен. 10, 2013 11:50:23)
Офлайн
> Есть ли способы реализовать проверку в декораторе при использовании наследования?
Читайте про метаклассы, с помощью них эт легко сделать.
Впрочем, то что вы хотите уже есть в стандартнй библитеке: http://docs.python.org/2/library/abc.html#abc.abstractmethod
Офлайн