[New-bugs-announce] [issue11146] Add a feature similar to C++ "using some_namespace"
report at bugs.python.org
Mon Feb 7 20:25:06 CET 2011
New submission from Manuel Bärenz <manuel at enigmage.de>:
In C++, the the approach to the namespace problem is having different namespaces that should not contain different definitions of the same name.
Members of a namespace can be accessed explicitly by e.g. calling "std::cout << etc." or "using namespace std; cout << etc."
I understand Pythons approach to be "objects can be used as namespaces and their attributes are the names they contain". I find this a very beautiful way of solving the issue, but it has a downside, in my opinion, because it lacks the "using" directive from C++.
If the object is a module, we can of course do "from mymodule import spam, eggs". But if it is not a module, this does not work.
Consider for example:
self.eggs = self.buy_eggs()
self.scrambled = self.scramble(self.eggs)
return self.scrambled > 42
This could be easier to implement and read if we had something like:
eggs = buy_eggs()
scrambled = scramble(eggs)
return scrambled > 42
Of course this opens a lot of conceptual questions like how should this using block behave if self doesn't have an attribute called "eggs", but I think it is worth considering.
title: Add a feature similar to C++ "using some_namespace"
type: feature request
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce