summaryrefslogtreecommitdiff
path: root/Doc
diff options
context:
space:
mode:
authorBrett Cannon <brett@python.org>2014-05-09 12:28:22 -0400
committerBrett Cannon <brett@python.org>2014-05-09 12:28:22 -0400
commit6eaac13c92750afddebf22fc0a57e3f40e9d1a2f (patch)
treefb9563cccb0a04691fdbec1cc3dd5a41b1b311bb /Doc
parenta237a987539aed6ba28115c2e932b205c592be88 (diff)
downloadcpython-git-6eaac13c92750afddebf22fc0a57e3f40e9d1a2f.tar.gz
Issue #21156: importlib.abc.InspectLoader.source_to_code() is now a
staticmethod.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/importlib.rst8
-rw-r--r--Doc/whatsnew/3.5.rst5
2 files changed, 12 insertions, 1 deletions
diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst
index 50f4ee4af8..0adeefb2dc 100644
--- a/Doc/library/importlib.rst
+++ b/Doc/library/importlib.rst
@@ -499,7 +499,7 @@ ABC hierarchy::
.. versionchanged:: 3.4
Raises :exc:`ImportError` instead of :exc:`NotImplementedError`.
- .. method:: source_to_code(data, path='<string>')
+ .. staticmethod:: source_to_code(data, path='<string>')
Create a code object from Python source.
@@ -508,8 +508,14 @@ ABC hierarchy::
the "path" to where the source code originated from, which can be an
abstract concept (e.g. location in a zip file).
+ With the subsequent code object one can execute it in a module by
+ running ``exec(code, module.__dict__)``.
+
.. versionadded:: 3.4
+ .. versionchanged:: 3.5
+ Made the method static.
+
.. method:: exec_module(module)
Implementation of :meth:`Loader.exec_module`.
diff --git a/Doc/whatsnew/3.5.rst b/Doc/whatsnew/3.5.rst
index fbbac037a1..4410de666d 100644
--- a/Doc/whatsnew/3.5.rst
+++ b/Doc/whatsnew/3.5.rst
@@ -158,6 +158,11 @@ Improved Modules
*module* contains no docstrings instead of raising :exc:`ValueError`
(contributed by Glenn Jones in :issue:`15916`).
+* :func:`importlib.abc.InspectLoader.source_to_code` is now a
+ static method to make it easier to work with source code in a string.
+ With a module object that you want to initialize you can then use
+ ``exec(code, module.__dict__)`` to execute the code in the module.
+
Optimizations
=============