[Python-Dev] Extended Function syntax (original) (raw)

Samuele Pedroni pedronis@bluewin.ch
Tue, 4 Feb 2003 20:05:44 +0100


From: "Paul Moore" <lists@morpheus.demon.co.uk>

Oren Tirosh <oren-py-d@hishome.net> writes:

> I agree. I don't see anything wrong with > > f=open('spam', 'r') > with autoclose(f): > ... I like this way of doing autoclose files. Much better than the way I've been thinking f = autocloser("spam") with f: ... > and I think that > > with autolock(obj): > ... > > looks better than any other alternative proposed so far. On the other hand, I quite like with lock: ... (where lock is defined appropriately). I don't know. Does the fact that the same statement is best used in two subtly different ways (permanent object vs throwaway helper object) count as a disadvantage of the statement (in terms of teachability, if nothing else...)?

it depends on how you look at things, either your main object support the 'with' protocol or not:

with with_proto_supporting_object: ...

or it needs an adapter:

with with_proto_adpater(obj): ...

Anyway write the PEP and leave this behind you .