Skip to content

Commit

Permalink
bpo-38524: document implicit and explicit calling of descriptors' __s…
Browse files Browse the repository at this point in the history
…et_name__ (pythonGH-17364)
  • Loading branch information
DahlitzFlorian authored and taleinat committed Nov 27, 2019
1 parent ce4b7a2 commit 1bddf89
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion Doc/reference/datamodel.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 1bddf89

Please sign in to comment.