[Python-Dev] Updated PEP 362 (Function Signature Object) (original) (raw)

Nick Coghlan ncoghlan at gmail.com
Thu Jun 7 03:00:20 CEST 2012


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. If f.signature is set, I'd expect it to be either an explicitly set value or exactly the same as the first time inspect.signature() was called for that function.  We could make promises about that and do dynamic updates, etc., but it's not useful enough to go to the trouble.  And without the guarantees, I don't think using it as a cache is a good idea.  (And like I said, allowing/using an explicitly set f.signature is a good thing).

+1

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.

Cheers, Nick.

-- Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia



More information about the Python-Dev mailing list