Occaisionally, the first two lines of The Zen of Python conflict with one another.
An API I'm working on involves a custom namespace implementation using dictionaries, and I want a pretty syntax for initializing the custom namespaces. The fact that these namespaces are implemented as dictionaries is an implementation detail, and I don't want the users to access them directly. I find the "implicit update" syntax to be much cleaner: @namespace # indicates function should be executed in namespace def initialize_namespace(): x = 5 # versus the alternative __namespace__ = { 'x' : 5, } Of course, "x = 5" is a trivial example. The contents of these namespaces will probably contain on average dozens of items; they are analagous to a module's global dictionary. Most people probably prefer to specify a module's globals with regular statements: x = 5 ... instead of explicit dictionary assignment: __dict__['x'] = 5 -- http://mail.python.org/mailman/listinfo/python-list