From 15ccc4fac09b866d61b069c6c136aabfe4bac09c Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Wed, 25 Sep 2019 08:13:19 -0700 Subject: [PATCH] bpo-38255: super() can search attributes as well as methods (GH-16368) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Improvement suggested by Géry Ogam. --- Doc/library/functions.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst index 4d3b2f593c0..28d9c7b99e6 100644 --- a/Doc/library/functions.rst +++ b/Doc/library/functions.rst @@ -1637,6 +1637,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