Message302408
| Author |
ncoghlan |
| Recipients |
brett.cannon, codypiersall, ncoghlan, rhettinger, terry.reedy |
| Date |
2017年09月18日.05:02:28 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1505710949.34.0.688044336665.issue31503@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
As far the implementation goes, since the `__dir__` overload support in the `dir()` builtin ignores instance dictionaries, this could be implemented in module.__dir__ (or object.__dir__) rather than directly in the builtin.
Alternatively, it could use a different attribute name rather than having `__dir__` be a list of strings on instances, and a protocol method on classes.
If we went with a different name, then I think `__public__` would be a reasonable option, since the purpose of the attribute is to make it easy to programmatically distinguish public attributes from non-public ones (independently of the established leading underscore convention, which doesn't work well for transitive module references). |
|