On Tue, Jun 25, 2002, Skip Montanaro wrote: > > >> If in 2004 certain Python programs written in 2000 or earlier would > >> start raising ImportError exceptions on 'from types import *' after > >> upgrading to a new system which may come with the latest version of > >> Python, this will certainly cause damage. > > aahz> This can be solved by a combination of changing the documentation > aahz> and using __all__ (which I think is in part precisely the point of > aahz> creating __all__). > > I don't think __all__ would help here. The problem as I see it is that the > docs say "from types import *" is safe. If you add new names to the types > module, they would presumably be added to __all__ as well, and then "from > types import *" could clobber local variables or hide globals or builtins > the programmer didn't anticipate. The point is that we could change the docs -- but Peter would still have his problem with import * unless we also used __all__ to retain the old behavior. Overall, I agree with your point about upgrading applications four years old; I'm just suggesting a possible mechanism for minimizing damage. -- Aahz (aahz@pythoncraft.com) <*> http://www.pythoncraft.com/ Project Vote Smart: http://www.vote-smart.org/
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