Function decorator that caches function results
steve at REMOVETHIScyber.com.au
Sun Oct 9 17:58:39 CEST 2005
On Sun, 09 Oct 2005 13:43:38 +0200, Fredrik Lundh wrote:
>> If I wanted to inspect the value of cache, where would I find it?
> nowhere. at least no officially; see "Rebinding names in enclosing
> scopes" in the design document for a discussion:
That's interesting to read, and does clarify a few things that weren't
straight in my head, but I notice that the author, Jeremy Hylton,
distinguishes between Python creating function definitions that are
closures from those that aren't:
"Each def or lambda expression that is executed will create a closure if
the body of the function or any contained function has free variables."
Presumably that means that if there are no free variables, no closure
>> That assumes that cache can be seen in this way. If it can't, is this a
>> way to create "really private" variables in Python?
> no, because Python doesn't prevent you from digging into the
That's blackest voodoo, and as the warning says, could cause Python to
sigfault if you get the opcodes wrong.
I think that this is close enough to "really private" to satisfy most
people. Maybe even Paul Rubin *wink*
More information about the Python-list