summaryrefslogtreecommitdiffstats
path: root/Doc/faq
diff options
context:
space:
mode:
authorSenthil Kumaran <senthil@uthcode.com>2016-06-05 03:07:34 (GMT)
committerSenthil Kumaran <senthil@uthcode.com>2016-06-05 03:07:34 (GMT)
commit7749320142326acae62b865c16fa450e5fb5ceb7 (patch)
tree4e5e24834d82e2600595f9d63a3f769447277499 /Doc/faq
parent2daf8e7f76c2b6917468dc50ebae792f34481cf4 (diff)
downloadcpython-7749320142326acae62b865c16fa450e5fb5ceb7.zip
cpython-7749320142326acae62b865c16fa450e5fb5ceb7.tar.gz
cpython-7749320142326acae62b865c16fa450e5fb5ceb7.tar.bz2
Issue27203 - Fix doctests Doc/faq/programming.rst.
Patch contributed by Jelle Zijlstra.
Diffstat (limited to 'Doc/faq')
-rw-r--r--Doc/faq/programming.rst28
1 files changed, 20 insertions, 8 deletions
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index b2ad7a7..694753e 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -1171,16 +1171,28 @@ You probably tried to make a multidimensional array like this::
>>> A = [[None] * 2] * 3
-This looks correct if you print it::
+This looks correct if you print it:
+
+.. testsetup::
+
+ A = [[None] * 2] * 3
+
+.. doctest::
>>> A
[[None, None], [None, None], [None, None]]
But when you assign a value, it shows up in multiple places:
- >>> A[0][0] = 5
- >>> A
- [[5, None], [5, None], [5, None]]
+.. testsetup::
+
+ A = [[None] * 2] * 3
+
+.. doctest::
+
+ >>> A[0][0] = 5
+ >>> A
+ [[5, None], [5, None], [5, None]]
The reason is that replicating a list with ``*`` doesn't create copies, it only
creates references to the existing objects. The ``*3`` creates a list
@@ -1664,9 +1676,9 @@ address, it happens frequently that after an object is deleted from memory, the
next freshly created object is allocated at the same position in memory. This
is illustrated by this example:
->>> id(1000)
+>>> id(1000) # doctest: +SKIP
13901272
->>> id(2000)
+>>> id(2000) # doctest: +SKIP
13901272
The two ids belong to different integer objects that are created before, and
@@ -1675,9 +1687,9 @@ objects whose id you want to examine are still alive, create another reference
to the object:
>>> a = 1000; b = 2000
->>> id(a)
+>>> id(a) # doctest: +SKIP
13901272
->>> id(b)
+>>> id(b) # doctest: +SKIP
13891296