A number of options are available for filtering the constructs that are presented by the source code browser. These filters are available from the Options popup menu at the top right of the browser. They are organized into two major groups: (1) construct scope and source, and (2) construct type.
Filtering Scope and Source
The following distinctions of scope and source are made among the symbols that are shown in the source browser. Constructs in each category can be shown or hidden as a group using the filters in the Options menu:
- Public -- Constructs accessible to any user of a module or instance. These are names that have no leading underscores, such as Print() or kMaxListLength.
- Semi-Private -- Constructs intended for use only within related modules or from related or derived classes. These are names that have one leading underscore, such as _NotifyError() or _gMaxCount. Python doesn't enforce usage of these constructs, but they are helpful in writing clean, well-structured code and are recommended in the Python language style guide.
- Private -- Constructs intended to be private to a module or class. These are names that have two leading underscores, such as __ConstructNameList() or __id_seed. Python enforces local-only access to these constructs in class methods. See the Python documentation for details.
- Inherited -- Constructs inherited from a super-class.
- Imported -- Constructs imported into a module with an import statement.
Filtering Construct Type
Constructs in the source code browser window can also be shown or hidden on the basis of their basic type within the language:
- Classes -- Classes defined in Python source.
- Methods -- Methods defined within classes.
- Attributes -- Attributes (aka 'instance variables') of a class. Note that these can be either class-wide or per-instance, depending on whether they are defined within the class scope or only within methods of the class.
- Functions -- Non-object functions defined in Python source (usually at the top-level of a module or withing another function or method).
- Variables -- Variables defined anywhere in a module, class, function, or method. This does not include function or method parameters, which are not shown in the source browser.