Re: [Python-Dev] Updated PEP 362 (Function Signature Object)

2012年6月07日 06:44:49 -0700

On Thu, Jun 7, 2012 at 11:28 PM, Michael Foord
<[email protected]> wrote:
>> We'll probably extend it to copy __signature__ too; then 
>> 'signature(decor(f))'
>> will be the same as 'signature(f)'.
>
> I don't think functools.wraps can copy the signature by default - it's not 
> uncommon to have decorators that modify signatures. A new parameter to 
> functools.wraps defaulting to False?
Most wrapped functions already report the wrong signature under
introspection anyway (typically (*args, **kwds)). Following the
__wrapped__ chains by default will produce an answer that is more
likely to be correct in such cases.
The big win from my point of view is that thanks to __signature__,
decorators that modify the signature will now have the opportunity to
retrieve the signature from the underlying function and accurately
report a *different* signature.
Cheers,
Nick.
-- 
Nick Coghlan  |  [email protected]  |  Brisbane, Australia
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to