From b0f7fa1dda61ae7519deed816993ac5d55870958 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 19 Oct 2018 17:45:06 -0700 Subject: 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 --- Doc/tutorial/classes.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Doc/tutorial/classes.rst b/Doc/tutorial/classes.rst index 1058b77..9935ccb 100644 --- a/Doc/tutorial/classes.rst +++ b/Doc/tutorial/classes.rst @@ -651,6 +651,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. -- cgit v0.12