How would you get the docstrings in? It seems cramming that much on a
single line doesn't help readability (even though I agree there is a
fair amount of boilerplace).

On Thu, Dec 5, 2013 at 10:20 AM, Allen Li <cyberdup...@gmail.com> wrote:
> Hello Python devs,
>
> As a regular Python user, I find the abc module useful for making
> Python's duck typing more explicit.  In particular, I ofen use it
> like a Java interface or C header, to provide methods to implement for a
> given "duck type".
>
> 90% of the time, it ends up looking something like this:
>
> class Foo(metaclass=abc.ABCMeta):
>
>     @abc.abstractmethod
>     def f1(self):
>         raise NotImplementedError
>
>     @staticmethod
>     @abc.abstractmethod
>     def f2(arg1):
>         raise NotImplementedError
>
>     ...
>
> What if there was a function, say make_abstract_method (better name
> pending), so that the above could be written like:
>
> class Foo(metaclass=abc.ABCMeta):
>
>     f1 = abc.make_abstract_method('f1', ['self'])
>     f2 = staticmethod(abc.make_abstract_method('f2', ['arg1']))
>     ...
>
> I think that it would make ABC definitions a lot more compact for many
> use cases, but I welcome any criticisms against this idea.
>
> Allen Li
> _______________________________________________
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> https://mail.python.org/mailman/options/python-dev/guido%40python.org



-- 
--Guido van Rossum (python.org/~guido)
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to