[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:
parent
54af41d42e
commit
3d3b189f8e
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue