]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-134370: Added clarification on instance annotations (#134387)
authorAlex Kautz <alex@takemobi.com>
Thu, 22 May 2025 13:46:29 +0000 (09:46 -0400)
committerGitHub <noreply@github.com>
Thu, 22 May 2025 13:46:29 +0000 (06:46 -0700)
Instances of classes cannot have annotations,
however sometimes they will erroneously have the
__annotations__ attribute

Doc/howto/annotations.rst

index 78f3704ba5d000f9a3ef2a1be7eaca9f90f12473..d7deb6c6bc1768f09742eae7c7493204a2474f29 100644 (file)
@@ -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+).