On 6/30/06, Steven Bethard <[EMAIL PROTECTED]> wrote: > BJörn Lindqvist wrote: > > I have often wanted something similar to that for global > > variables, instead of the global declaration: > > > > cache = None > > def init(): > > if not global.cache: > > global.cache = init_cache() > > Redirected since this seemed like a Python 3000 kind of request. I > like the idea, particularly because it coincides well with my usual > uses for global/globals(). Seems like it might require some changes > in things like eval and exec that take locals and globals dicts, but I > don't know how much of a drawback that is.
You realize that *reading* a global doesn't need the "global." prefix, do you? So you could have written "if not cache: global.cache = init_cache()" in the function body. I'm not sure I like this asymmetry much. (I'm trying to help you understand that this idea just might not work.) -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-3000 mailing list [email protected] http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com
