[3.6] bpo-30372: Clarify that '__builtins__' is a CPython Implementation detail (GH-1725) (GH-1727)

(cherry picked from commit 43c8a9e39b)
This commit is contained in:
Mariatta 2017-05-22 14:36:19 -07:00 committed by GitHub
parent 54af41d42e
commit 3d3b189f8e
1 changed files with 9 additions and 9 deletions

View File

@ -164,15 +164,6 @@ Builtins and restricted execution
.. index:: pair: restricted; execution
The builtins namespace associated with the execution of a code block is actually
found by looking up the name ``__builtins__`` in its global namespace; this
should be a dictionary or a module (in the latter case the module's dictionary
is used). By default, when in the :mod:`__main__` module, ``__builtins__`` is
the built-in module :mod:`builtins`; when in any other module,
``__builtins__`` is an alias for the dictionary of the :mod:`builtins` module
itself. ``__builtins__`` can be set to a user-created dictionary to create a
weak form of restricted execution.
.. impl-detail::
Users should not touch ``__builtins__``; it is strictly an implementation
@ -180,6 +171,15 @@ weak form of restricted execution.
:keyword:`import` the :mod:`builtins` module and modify its
attributes appropriately.
The builtins namespace associated with the execution of a code block
is actually found by looking up the name ``__builtins__`` in its
global namespace; this should be a dictionary or a module (in the
latter case the module's dictionary is used). By default, when in the
:mod:`__main__` module, ``__builtins__`` is the built-in module
:mod:`builtins`; when in any other module, ``__builtins__`` is an
alias for the dictionary of the :mod:`builtins` module itself.
.. _dynamic-features:
Interaction with dynamic features