mirror of
https://github.com/python/cpython
synced 2024-09-05 00:05:39 +00:00
gh-112331: Fix reference manual description of attribute lookup mechanics (gh-112375)
This commit is contained in:
parent
f93a4ef7a9
commit
97f8f28b3e
|
@ -823,12 +823,18 @@ An attribute reference is a primary followed by a period and a name:
|
||||||
|
|
||||||
The primary must evaluate to an object of a type that supports attribute
|
The primary must evaluate to an object of a type that supports attribute
|
||||||
references, which most objects do. This object is then asked to produce the
|
references, which most objects do. This object is then asked to produce the
|
||||||
attribute whose name is the identifier. This production can be customized by
|
attribute whose name is the identifier. The type and value produced is
|
||||||
overriding the :meth:`__getattr__` method. If this attribute is not available,
|
determined by the object. Multiple evaluations of the same attribute
|
||||||
the exception :exc:`AttributeError` is raised. Otherwise, the type and value of
|
reference may yield different objects.
|
||||||
the object produced is determined by the object. Multiple evaluations of the
|
|
||||||
same attribute reference may yield different objects.
|
|
||||||
|
|
||||||
|
This production can be customized by overriding the
|
||||||
|
:meth:`~object.__getattribute__` method or the :meth:`~object.__getattr__`
|
||||||
|
method. The :meth:`!__getattribute__` method is called first and either
|
||||||
|
returns a value or raises :exc:`AttributeError` if the attribute is not
|
||||||
|
available.
|
||||||
|
|
||||||
|
If an :exc:`AttributeError` is raised and the object has a :meth:`!__getattr__`
|
||||||
|
method, that method is called as a fallback.
|
||||||
|
|
||||||
.. _subscriptions:
|
.. _subscriptions:
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue