Please have a look at this SF patch: http://sourceforge.net/patch/?func=detailpatch&patch_id=102808&group_id=5470 This implements control over which names defined in a module are externally visible: if there's a variable __exports__ in the module, it is a list of identifiers, and any access from outside the module to names not in the list is disallowed. This affects access using the getattr and setattr protocols (which raise AttributeError for disallowed names), as well as "from M import v" (which raises ImportError). I like it. This has been asked for many times. Does anybody see a reason why this should *not* be added? Tim remarked that introducing this will prompt demands for a similar feature on classes and instances, where it will be hard to implement without causing a bit of a slowdown. It causes a slight slowdown (an extra dictionary lookup for each use of "M.v") even when it is not used, but for accessing module variables that's acceptable. I'm not so sure about instance variable references. --Guido van Rossum (home page: http://www.python.org/~guido/)
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