[Python-Dev] Updated PEP 362 (Function Signature Object)
Larry Hastings
larry at hastings.org
Thu Jun 7 16:12:43 CEST 2012
On 06/06/2012 06:00 PM, Nick Coghlan wrote:
> On Thu, Jun 7, 2012 at 10:52 AM, Eric Snow<ericsnowcurrently at gmail.com> wrote:
>> Furthermore, using __signature__ as a cache may even cause problems.
>> If the Signature object is cached then any changes to the function
>> will not be reflected in the Signature object. Certainly that's an
>> unlikely case, but it is a real case. [...]
> +1
I'm missing something here. Can you give me an example of modifying an
existing function object such that its Signature would change?
Decorators implementing a closure with a different signature don't
count--they return a new function object.
> Providing a defined mechanism to declare a public signature is good,
> but using that mechanism for implicit caching seems like a
> questionable idea. Even when it *is* cached, I'd be happier if
> inspect.signature() returned a copy rather than a direct reference to
> the original.
I'll say this: if we're going down this road of "don't cache Signature
objects", then in the case of __signature__ we should definitely return
a copy just for consistency's sakes. It'd be a miserable implementation
if signature() sometimes returned the same object and sometimes returned
different but equivalent objects when called multiple times on the same
object.
//arry/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20120607/f950c5b8/attachment.html>
More information about the Python-Dev
mailing list