[Python-Dev] Why are contexts also managers? (was r45544 (original) (raw)

[Python-Dev] Why are contexts also managers? (was r45544 - peps/trunk/pep-0343.txt)

Phillip J. Eby pje at telecommunity.com
Tue Apr 18 21:37:37 CEST 2006


At 04:18 PM 4/18/2006 -0400, A.M. Kuchling wrote:

On Tue, Apr 18, 2006 at 08:55:18PM +0200, phillip.eby wrote: > Modified: > peps/trunk/pep-0343.txt > > + "context manager" then encompasses all objects with a context() > + method that returns a context object. (This means that all contexts > + are context managers, but not all context managers are contexts).

This change reminds of another question I had about the parenthetical statement: all contexts are context managers (= 'has a context' method). Why? The context object isn't necessarily available to the Python programmer, so they can't write: with contextmgr as context: with context: # uses the same context ... Why do contexts need to have a context() method?

I was going to say, "so they can be context managers", but I suppose you have a point. There is no need for a context to have a context method, unless it is also a context manager. Ugh.



More information about the Python-Dev mailing list