mirror of
https://github.com/python/cpython.git
synced 2025-08-22 17:55:18 +00:00
gh-97797: Mention __metadata__
in docstrings of typing.{_AnnotatedAlias, Annotated}
(#103405)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Kirill <80244920+Eclips4@users.noreply.github.com>
This commit is contained in:
parent
a28e2ce3fb
commit
dc604a8c58
1 changed files with 6 additions and 0 deletions
|
@ -2154,6 +2154,8 @@ class _AnnotatedAlias(_NotIterable, _GenericAlias, _root=True):
|
|||
with extra annotations. The alias behaves like a normal typing alias,
|
||||
instantiating is the same as instantiating the underlying type, binding
|
||||
it to types is also the same.
|
||||
|
||||
The metadata itself is stored in a '__metadata__' attribute as a tuple.
|
||||
"""
|
||||
def __init__(self, origin, metadata):
|
||||
if isinstance(origin, _AnnotatedAlias):
|
||||
|
@ -2209,6 +2211,10 @@ class Annotated:
|
|||
Details:
|
||||
|
||||
- It's an error to call `Annotated` with less than two arguments.
|
||||
- Access the metadata via the ``__metadata__`` attribute::
|
||||
|
||||
Annotated[int, '$'].__metadata__ == ('$',)
|
||||
|
||||
- Nested Annotated are flattened::
|
||||
|
||||
Annotated[Annotated[T, Ann1, Ann2], Ann3] == Annotated[T, Ann1, Ann2, Ann3]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue