Hi, maybe a syntax like that can correspond: class MyObject(metaclass=ObjectSpec): ''' MyObject doc''' 'attr1 contains something' attr1 = None 'attr2 contains something' attr2 = str 'method1 do something' method1 = NotImplementedMethod('self', 'arg1', kwarg1=str)
Metaclass "ObjectSpec" would extend ABCMeta to search class source code for comments before members assignement, and replace NotImplementedMethod objects by a corresponding method wich signature can simply be given by arguments or by ArgSpec, FullArgSpec, Signature... with factories like these of "Signature" (from_function, from_builtins...). 2013/12/6 Guido van Rossum <gu...@python.org> > On Thu, Dec 5, 2013 at 6:31 PM, Ethan Furman <et...@stoneleaf.us> wrote: > >> On Thu, Dec 05, 2013 at 01:33:00PM -0800, Guido van Rossum wrote: > >>> Actually if you want to support multiple inheritance of your ABC, your > >>> abstract methods *must* be no-ops (or have some kind of default > >>> behavior that can always be done last). > > > Done last or first really depends on what the default behavior is, > doesn't > > it? Using __new__ as an example, the chain of calls for that has the > most > > ancestorish (yeah, I just made that word up ;) method doing the work > first, > > with each less-ancestorish method building on to that as the call chain > > unwinds. > > If you count which call *starts* first, the base class is always > called later than the subclass (even if it finishes earlier :-). > > -- > --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/apieum%40gmail.com >
_______________________________________________ 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