From: Berker Peksag Date: Sat, 20 Oct 2018 00:33:48 +0000 (+0300) Subject: bpo-21196: Clarify name mangling rules in tutorial (GH-5667) X-Git-Tag: v3.8.0a1~727 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=13ae4d44381a647aadd09b70b24833052659be41;p=thirdparty%2FPython%2Fcpython.git bpo-21196: Clarify name mangling rules in tutorial (GH-5667) Initial patch by Chandan Kumar. --- diff --git a/Doc/tutorial/classes.rst b/Doc/tutorial/classes.rst index 83b7db7c7cff..7d3b823a14e0 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): self.items_list.append(item) +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.