+1 on updating the FAQ. Maybe we could even have it notice that a read-only version of the desired semantic for 'with' is easily hacked with the *current* semantic of 'with'...: @contextlib.contextmanager def readonly(anobj): caller_globals = sys._getframe(2).f_globals saved_globals = caller_globals.copy() caller_globals.update((n, getattr(anobj, n)) for n in dir(anobj)) yield caller_globals.clear() caller_globals.update(saved_globals) and then, of course, with readonly(someobj): ... (local variables take precedence, and in particular all assignments define local variables, as usual -- but you can say e.g. 'zz' to mean 'someobj.zz', if you're sufficiently keen on giving up the advantage of having many well-separated namespaces;-). Alex On Sat, Jun 14, 2008 at 11:16 PM, Cesare Di Mauro <cesare at pronto.it> wrote: > In data 15 giugno 2008 alle ore 02:24:43, Greg Ewing <greg.ewing at canterbury.ac.nz> ha scritto: > >> ...and which should *not* be used in most cases, for >> the same reason. >> >> All those tutorials that start out with 'from something >> import *' are doing a lot of harm to the impressionable >> minds of new programmers, IMO. > > OK, but nobody have questioned about removing 'from something import *' just to help noobs... > That's because the instruction *can* be useful in *some* (hopely limited, but existent) contexts. > It's a matter of programmer choises. > > Anyway (and dropping my proposal), I think that the FAQ needs to be changed to advice that the > 'with' keyword in Python makes a completely different kind of work. > > Cesare > _______________________________________________ > Python-Dev mailing list > Python-Dev at python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: http://mail.python.org/mailman/options/python-dev/aleaxit%40gmail.com >
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