From b4e798905737f154d055d2487af243ba08223ab4 Mon Sep 17 00:00:00 2001 From: Alex Kautz Date: Thu, 22 May 2025 09:46:29 -0400 Subject: [PATCH] gh-134370: Added clarification on instance annotations (GH-134387) Instances of classes cannot have annotations, however sometimes they will erroneously have the __annotations__ attribute (cherry picked from commit bd4046f4f869039a1a2ebe2d1d18bfbc2a2951b6) Co-authored-by: Alex Kautz --- Doc/howto/annotations.rst | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Doc/howto/annotations.rst b/Doc/howto/annotations.rst index 78f3704ba5d000..d7deb6c6bc1768 100644 --- a/Doc/howto/annotations.rst +++ b/Doc/howto/annotations.rst @@ -248,4 +248,9 @@ quirks by using :func:`annotationlib.get_annotations` on Python 3.14+ or :func:`inspect.get_annotations` on Python 3.10+. On earlier versions of Python, you can avoid these bugs by accessing the annotations from the class's :attr:`~type.__dict__` -(e.g., ``cls.__dict__.get('__annotations__', None)``). +(for example, ``cls.__dict__.get('__annotations__', None)``). + +In some versions of Python, instances of classes may have an ``__annotations__`` +attribute. However, this is not supported functionality. If you need the +annotations of an instance, you can use :func:`type` to access its class +(for example, ``annotationlib.get_annotations(type(myinstance))`` on Python 3.14+).