Paul Moore wrote: > 'with' expr ':' > suite Yes, simplicity is good. I don't buy the arguments for replacing: suite_user = expr with suite_user: suite with: with suite_user = expr: suite The arguments in favor of the latter could be applied to 'while' (or even 'if') as well. I know you don't have to worry about '=' being confused for '==' in this case, but is the gain here enough to warrant the inconsistency? It's interesting to note that with Guido's proposal, your example [slightly paraphrased here]: > class autolock: > def __init__(self, l): self.l = l > def __enter__(self): self.l.acquire() > def __exit__(self): self.l.release() > > with autolock(lock()): > # work with the lock held Could be coded like this, given the right implementation of with_block: class with_autolock(with_block): def __init__(self, l): with_block.__init__(self); self.l = l def __enter__(self): self.l.acquire() def __exit__(self): self.l.release() with_autolock(lock()): # work with the lock held (If support for multiple thunk users is added back, the 'with' could probably be added back to the example also.) -Jerry
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4