[Python-Dev] One-line abstractmethod function?

MRAB python at mrabarnett.plus.com
Thu Dec 5 21:39:05 CET 2013


On 05/12/2013 19:22, Ethan Furman wrote:
> On 12/05/2013 10:56 AM, Alexander Belopolsky wrote:
>> On Thu, Dec 5, 2013 at 1:24 PM, Guido van Rossum wrote:
>>>
>>> How would you get the docstrings in? [...]
>>
>> One way to reduce the amount of boilerplate code is to make abstractmethod
>> to supply raise NotImplementedError body when none is given.  Then you can
>>  write
>>
>> class Foo:
>>      @abc.abstractmethod
>>      def do_bar(self):
>>           """perform bar"""
>>
>> The docstring will be required when skipping the body which is probably a good thing.
>
> How will abstractmethod know its function has no body?
>
An abstract method won't have a body (I'm not counting the docstring).

If it _does_ have a body, then it's _not_ an abstract method!



More information about the Python-Dev mailing list