I have seen code in which functions/constants are prefixed with underscores. My understanding is that this indicates that they are not to be used directly. Can I do this wit
Better only use one _. This indicates that a name is private within a module.
It is not imported with the catch-all from , and it has some other features such as "preferred destruction".
From here:
If
__all__is not defined, the set of public names includes all names found in the module’s namespace which do not begin with an underscore character ('_').
From here:
Starting with version 1.5, Python guarantees that globals whose name begins with a single underscore are deleted from their module before other globals are deleted.
Double-underscore starting class members are name-mangled.