[Python-checkins] cpython (merge 3.3 -> default): Merge: Tweak programming faq examples so that it (mostly) passes doctest.

r.david.murray python-checkins at python.org
Wed Jun 19 23:01:10 CEST 2013


http://hg.python.org/cpython/rev/dcb4985d82bc
changeset: 84222:dcb4985d82bc
parent: 84220:974d4844d5a7
parent: 84221:0113247f894b
user: R David Murray <rdmurray at bitdance.com>
date: Wed Jun 19 16:59:22 2013 -0400
summary:
 Merge: Tweak programming faq examples so that it (mostly) passes doctest.
files:
 Doc/faq/programming.rst | 37 ++++++++++++++--------------
 1 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -214,9 +214,9 @@
 Assume you use a for loop to define a few different lambdas (or even plain
 functions), e.g.::
 
- squares = []
- for x in range(5):
- squares.append(lambda: x**2)
+ >>> squares = []
+ >>> for x in range(5):
+ ... squares.append(lambda: x**2)
 
 This gives you a list that contains 5 lambdas that calculate ``x**2``. You
 might expect that, when called, they would return, respectively, ``0``, ``1``,
@@ -241,9 +241,9 @@
 In order to avoid this, you need to save the values in variables local to the
 lambdas, so that they don't rely on the value of the global ``x``::
 
- squares = []
- for x in range(5):
- squares.append(lambda n=x: n**2)
+ >>> squares = []
+ >>> for x in range(5):
+ ... squares.append(lambda n=x: n**2)
 
 Here, ``n=x`` creates a new variable ``n`` local to the lambda and computed
 when the lambda is defined so that it has the same value that ``x`` had at
@@ -592,11 +592,11 @@
 Since the comma is not an operator, but a separator between expressions the
 above is evaluated as if you had entered::
 
- >>> ("a" in "b"), "a"
+ ("a" in "b"), "a"
 
 not::
 
- >>> "a" in ("b", "a")
+ "a" in ("b", "a")
 
 The same is true of the various assignment operators (``=``, ``+=`` etc). They
 are not truly operators but syntactic delimiters in assignment statements.
@@ -744,6 +744,7 @@
 unicode data, try using a :class:`io.StringIO` object or the :mod:`array`
 module::
 
+ >>> import io
 >>> s = "Hello, world"
 >>> sio = io.StringIO(s)
 >>> sio.getvalue()
@@ -761,7 +762,7 @@
 array('u', 'Hello, world')
 >>> a[0] = 'y'
 >>> print(a)
- array('u', 'yello world')
+ array('u', 'yello, world')
 >>> a.tounicode()
 'yello, world'
 
@@ -1060,7 +1061,7 @@
 
 You probably tried to make a multidimensional array like this::
 
- A = [[None] * 2] * 3
+ >>> A = [[None] * 2] * 3
 
 This looks correct if you print it::
 
@@ -1615,13 +1616,13 @@
 (permissions, free space, etc...) to write the compiled module back to the
 directory.
 
-Running Python on a top level script is not considered an import and no ``.pyc``
-will be created. For example, if you have a top-level module ``abc.py`` that
-imports another module ``xyz.py``, when you run abc, ``xyz.pyc`` will be created
-since xyz is imported, but no ``abc.pyc`` file will be created since ``abc.py``
-isn't being imported.
+Running Python on a top level script is not considered an import and no
+``.pyc`` will be created. For example, if you have a top-level module
+``foo.py`` that imports another module ``xyz.py``, when you run ``foo``,
+``xyz.pyc`` will be created since ``xyz`` is imported, but no ``foo.pyc`` file
+will be created since ``foo.py`` isn't being imported.
 
-If you need to create abc.pyc -- that is, to create a .pyc file for a module
+If you need to create ``foo.pyc`` -- that is, to create a ``.pyc`` file for a module
 that is not imported -- you can, using the :mod:`py_compile` and
 :mod:`compileall` modules.
 
@@ -1629,9 +1630,9 @@
 the ``compile()`` function in that module interactively::
 
 >>> import py_compile
- >>> py_compile.compile('abc.py')
+ >>> py_compile.compile('foo.py') # doctest: +SKIP
 
-This will write the ``.pyc`` to the same location as ``abc.py`` (or you can
+This will write the ``.pyc`` to the same location as ``foo.py`` (or you can
 override that with the optional parameter ``cfile``).
 
 You can also automatically compile all files in a directory or directories using
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /