[3.13] gh-123242: Note that type.__annotations__ may not exist (GH-124557) (#124569)

Closes GH-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 99b23c64de)
This commit is contained in:
Jelle Zijlstra 2024-09-26 16:57:50 -07:00 committed by GitHub
parent a0799223ae
commit b27e2273be
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 8 additions and 0 deletions

View File

@ -1011,6 +1011,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>`.