[Python-checkins] bpo-21196: Clarify name mangling rules in tutorial (GH-5667)

Miss Islington (bot) webhook-mailer at python.org
Fri Oct 19 20:43:39 EDT 2018

commit: efc09a9701543f7180fc7ea0b6c45cf198c29cb8
branch: 3.6
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2018-10-19T17:43:35-07:00

bpo-21196: Clarify name mangling rules in tutorial (GH-5667)

Initial patch by Chandan Kumar.
(cherry picked from commit 13ae4d44381a647aadd09b70b24833052659be41)

Co-authored-by: Berker Peksag <berker.peksag at gmail.com>

M Doc/tutorial/classes.rst

diff --git a/Doc/tutorial/classes.rst b/Doc/tutorial/classes.rst
index f26838cddbfa..487d535e169b 100644
--- a/Doc/tutorial/classes.rst
+++ b/Doc/tutorial/classes.rst
@@ -703,6 +703,11 @@ breaking intraclass method calls.  For example::
            for item in zip(keys, values):
+The above example would work even if ``MappingSubclass`` were to introduce a
+``__update`` identifier since it is replaced with ``_Mapping__update`` in the
+``Mapping`` class  and ``_MappingSubclass__update`` in the ``MappingSubclass``
+class respectively.
 Note that the mangling rules are designed mostly to avoid accidents; it still is
 possible to access or modify a variable that is considered private.  This can
 even be useful in special circumstances, such as in the debugger.

More information about the Python-checkins mailing list