Steven D'Aprano <[EMAIL PROTECTED]> writes:
> No. I'm obsessed with finding out what closures are, since nobody seems to
> have a good definition of them!

Why don't you read SICP:

   http://mitpress.mit.edu/sicp/full-text/book/book.html

You will be a much wiser person for having done so.

> However, I have learnt some things: closures are something which
> functions HAVE, not ARE. 

Nah, that describes the data layout through which CPython implements
closures, not the bigger idea of what closures are.

> The func_closure attribute is just part of the implementation of the
> closure. Some languages have closures and some don't. And a closure
> is something that lets a function object access the lexical scope
> that existed when the function object was created, e.g. the
> namespace of the function which created it.

I'd say, the closure is the function's executable code, plus the
lexical environment that got recorded at the time the function was
created.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to