Modifying signature of ctor in class

Joseph L. Casale jcasale at activenetwerx.com
Thu Sep 24 23:45:45 CEST 2015


> I don't think you can easily change the function's own definition,
> other than by using eval (or equivalent shenanigans, like crafting
> your own bytecode); but as of Python 3.something, the help() function
> looks for a __wrapped__ attribute and will take function args from
> that instead of the function itself. That way, when you use
> functools.wraps(), it copies in the docstring and stuff, and as far as
> help() is concerned, copies in the argument list too.
> 
> No idea whether you'll be able to do that too, but it's a fairly
> effective way to get around the problem if you can.

Hi Chris,
That is helpful. It still leaves me with generating a string function
and eval'ing or compiling it to swipe the sig. At the point I could
rebuild the entire function and simply apply it.

Where all but a valid sig helps is for introspection such as tab completing
with ipython or using an IDE etc.

Thanks everyone,
jlc


More information about the Python-list mailing list