[Python-Dev] Simpler finalization semantics (was Re: PEP 343 - Abstract Block Redux)

Greg Ewing greg.ewing at canterbury.ac.nz
Wed May 18 02:48:26 CEST 2005


Nick Coghlan wrote:

>    the_stmt = EXPR1
>    stmt_enter = getattr(the_stmt, "__enter__", None)
>    stmt_exit = getattr(the_stmt, "__exit__", None)
> 
>    if stmt_enter is None:
>        VAR1 = the_stmt
>    else:
>        VAR1 = stmt_enter()

If we're doing this, it might be better if VAR were simply
bound to EXPR in all cases. Otherwise the ability to liberally
sprinkle with-statements around will be hampered by uncertainty
about what kind of object VAR will end up being.

Greg






More information about the Python-Dev mailing list