From 3b5e9241142d6b7c22059115c0e68a8912753818 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Wed, 25 Sep 2019 08:24:24 -0700 Subject: [PATCH] bpo-38255: super() can search attributes as well as methods (GH-16368) (GH-16392) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Improvement suggested by Géry Ogam. (cherry picked from commit 15ccc4fac09b866d61b069c6c136aabfe4bac09c) Co-authored-by: Raymond Hettinger --- Doc/library/functions.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst index 313dbffdcde..06ba323ca30 100644 --- a/Doc/library/functions.rst +++ b/Doc/library/functions.rst @@ -1532,6 +1532,10 @@ are always available. They are listed here in alphabetical order. super().method(arg) # This does the same thing as: # super(C, self).method(arg) + In addition to method lookups, :func:`super` also works for attribute + lookups. One possible use case for this is calling :term:`descriptor`\s + in a parent or sibling class. + Note that :func:`super` is implemented as part of the binding process for explicit dotted attribute lookups such as ``super().__getitem__(name)``. It does so by implementing its own :meth:`__getattribute__` method for searching