From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Wed, 25 Sep 2019 15:24:12 +0000 (-0700) Subject: bpo-38255: super() can search attributes as well as methods (GH-16368) (GH-16391) X-Git-Tag: v3.8.0rc1~38 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7444a5a402bbac4268b95958a9578a9e3dae33e0;p=python bpo-38255: super() can search attributes as well as methods (GH-16368) (GH-16391) Improvement suggested by Géry Ogam. (cherry picked from commit 15ccc4fac09b866d61b069c6c136aabfe4bac09c) Co-authored-by: Raymond Hettinger --- diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst index 947a0e54ae..0236ff03da 100644 --- a/Doc/library/functions.rst +++ b/Doc/library/functions.rst @@ -1635,6 +1635,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