Наследование строк документации методов в Python

У меня есть объектно-ориентированная иерархия со строками документации, которые требуют такого же обслуживания, как и сам код. Например,

class Swallow(object):
    def airspeed(self):
        """Returns the airspeed (unladen)"""
        raise NotImplementedError

class AfricanSwallow(Swallow):
    def airspeed(self):
        # whatever

Проблема в том, что AfricanSwallow.airspeed не наследует строку документации метода суперкласса. Я знаю, что могу сохранить строку документации, используя шаблон метода шаблона, то есть

class Swallow(object):
    def airspeed(self):
        """Returns the airspeed (unladen)"""
        return self._ask_arthur()

и реализуя _ask_arthur в каждом подклассе. Однако мне было интересно, есть ли другой способ наследования строк документации, возможно, какой-нибудь декоратор, который я еще не обнаружил?

51
задан Fred Foo 11 November 2011 в 11:18
поделиться