Skip to content

Commit

Permalink
[3.12] pythongh-123242: Note that type.__annotations__ may not exist (p…
Browse files Browse the repository at this point in the history
…ythonGH-124557)

Closes pythonGH-123242. The real criterion is that the attribute does not
exist on heap types, but I don't think we should discuss heap vs.
static types in the language reference.
(cherry picked from commit 99b23c6)

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
  • Loading branch information
JelleZijlstra committed Sep 25, 2024
1 parent d2068c6 commit 045504a
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions Doc/reference/datamodel.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1009,6 +1009,14 @@ Special attributes
collected during class body execution. For best practices on working
with :attr:`!__annotations__`, please see :ref:`annotations-howto`.

.. caution::

Accessing the :attr:`!__annotations__` attribute of a class
object directly may yield incorrect results in the presence of
metaclasses. In addition, the attribute may not exist for
some classes. Use :func:`inspect.get_annotations` to
retrieve class annotations safely.

* - .. attribute:: type.__type_params__
- A :class:`tuple` containing the :ref:`type parameters <type-params>` of
a :ref:`generic class <generic-classes>`.
Expand Down

0 comments on commit 045504a

Please sign in to comment.