]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] gh-134370: Added clarification on instance annotations (GH-134387) (#134509)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 22 May 2025 13:52:37 +0000 (15:52 +0200)
committerGitHub <noreply@github.com>
Thu, 22 May 2025 13:52:37 +0000 (13:52 +0000)
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 <alex@takemobi.com>
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+).