From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Wed, 25 Sep 2019 15:24:24 +0000 (-0700) Subject: bpo-38255: super() can search attributes as well as methods (GH-16368) (GH-16392) X-Git-Tag: v3.7.5rc1~15 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3b5e9241142d6b7c22059115c0e68a8912753818;p=thirdparty%2FPython%2Fcpython.git bpo-38255: super() can search attributes as well as methods (GH-16368) (GH-16392) 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 313dbffdcde9..06ba323ca30c 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