[Python-Dev] Proposed changes to PEP 343
Eric Nieuwland
eric.nieuwland at xs4all.nl
Fri Oct 7 16:21:37 CEST 2005
Nick Coghlan wrote:
> Eric Nieuwland wrote:
>> What happens to
>>
>> with 40*13+2 as X:
>> print X
>
> It would fail with a TypeError because the relevant slot in the type
> object
> was NULL - the TypeError checks aren't shown for simplicity's sake.
>
> This behaviour isn't really any different from the existing PEP 343 -
> the only
> difference is that the statement looks for a __with__ slot on the
> original
> EXPR, rather than looking directly for an __enter__ slot.
Hmmm I hadn't noticed that.
In my memory a partial implementation of the protocol was possible.
Thus, __enter__/__exit__ would only be called if they exist.
Oh well, I'll just add some empty methods.
--eric
More information about the Python-Dev
mailing list