bpo-38524: document implicit and explicit calling of descriptors' __set_name__ (GH-17364)

This commit is contained in:
Florian Dahlitz 2019-11-27 09:46:40 +01:00 committed by Tal Einat
parent ce4b7a273a
commit 1bddf890e5
1 changed files with 12 additions and 1 deletions

View File

@ -1655,8 +1655,19 @@ class' :attr:`~object.__dict__`.
Called at the time the owning class *owner* is created. The
descriptor has been assigned to *name*.
.. versionadded:: 3.6
.. note::
``__set_name__`` is only called implicitly as part of the ``type`` constructor, so
it will need to be called explicitly with the appropriate parameters when a
descriptor is added to a class after initial creation::
descr = custom_descriptor()
cls.attr = descr
descr.__set_name__(cls, 'attr')
See :ref:`class-object-creation` for more details.
.. versionadded:: 3.6
The attribute :attr:`__objclass__` is interpreted by the :mod:`inspect` module
as specifying the class where this object was defined (setting this