forked from AFPy/python-docs-fr
844 lines
26 KiB
Plaintext
844 lines
26 KiB
Plaintext
|
# SOME DESCRIPTIVE TITLE.
|
|||
|
# Copyright (C) 2001-2016, Python Software Foundation
|
|||
|
# This file is distributed under the same license as the Python package.
|
|||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
|||
|
#
|
|||
|
#, fuzzy
|
|||
|
msgid ""
|
|||
|
msgstr ""
|
|||
|
"Project-Id-Version: Python 3.6\n"
|
|||
|
"Report-Msgid-Bugs-To: \n"
|
|||
|
"POT-Creation-Date: 2016-10-30 10:40+0100\n"
|
|||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|||
|
"MIME-Version: 1.0\n"
|
|||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|||
|
"Content-Transfer-Encoding: 8bit\n"
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:2
|
|||
|
msgid ":mod:`typing` --- Support for type hints"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:9
|
|||
|
msgid "**Source code:** :source:`Lib/typing.py`"
|
|||
|
msgstr "**Code source :** :source:`Lib/typing.py`"
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:13
|
|||
|
msgid ""
|
|||
|
"This module supports type hints as specified by :pep:`484` and :pep:`526`. "
|
|||
|
"The most fundamental support consists of the type :data:`Any`, :data:"
|
|||
|
"`Union`, :data:`Tuple`, :data:`Callable`, :class:`TypeVar`, and :class:"
|
|||
|
"`Generic`. For full specification please see :pep:`484`. For a simplified "
|
|||
|
"introduction to type hints see :pep:`483`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:20
|
|||
|
msgid ""
|
|||
|
"The function below takes and returns a string and is annotated as follows::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:25
|
|||
|
msgid ""
|
|||
|
"In the function ``greeting``, the argument ``name`` is expected to be of "
|
|||
|
"type :class:`str` and the return type :class:`str`. Subtypes are accepted as "
|
|||
|
"arguments."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:30
|
|||
|
msgid "Type aliases"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:32
|
|||
|
msgid ""
|
|||
|
"A type alias is defined by assigning the type to the alias. In this example, "
|
|||
|
"``Vector`` and ``List[float]`` will be treated as interchangeable synonyms::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:44
|
|||
|
msgid ""
|
|||
|
"Type aliases are useful for simplifying complex type signatures. For "
|
|||
|
"example::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:62
|
|||
|
msgid ""
|
|||
|
"Note that ``None`` as a type hint is a special case and is replaced by "
|
|||
|
"``type(None)``."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:68
|
|||
|
msgid "NewType"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:70
|
|||
|
msgid "Use the :func:`NewType` helper function to create distinct types::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:77
|
|||
|
msgid ""
|
|||
|
"The static type checker will treat the new type as if it were a subclass of "
|
|||
|
"the original type. This is useful in helping catch logical errors::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:89
|
|||
|
msgid ""
|
|||
|
"You may still perform all ``int`` operations on a variable of type "
|
|||
|
"``UserId``, but the result will always be of type ``int``. This lets you "
|
|||
|
"pass in a ``UserId`` wherever an ``int`` might be expected, but will prevent "
|
|||
|
"you from accidentally creating a ``UserId`` in an invalid way::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:97
|
|||
|
msgid ""
|
|||
|
"Note that these checks are enforced only by the static type checker. At "
|
|||
|
"runtime the statement ``Derived = NewType('Derived', Base)`` will make "
|
|||
|
"``Derived`` a function that immediately returns whatever parameter you pass "
|
|||
|
"it. That means the expression ``Derived(some_value)`` does not create a new "
|
|||
|
"class or introduce any overhead beyond that of a regular function call."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:103
|
|||
|
msgid ""
|
|||
|
"More precisely, the expression ``some_value is Derived(some_value)`` is "
|
|||
|
"always true at runtime."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:106
|
|||
|
msgid ""
|
|||
|
"This also means that it is not possible to create a subtype of ``Derived`` "
|
|||
|
"since it is an identity function at runtime, not an actual type. Similarly, "
|
|||
|
"it is not possible to create another :func:`NewType` based on a ``Derived`` "
|
|||
|
"type::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:120
|
|||
|
msgid "See :pep:`484` for more details."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:124
|
|||
|
msgid ""
|
|||
|
"Recall that the use of a type alias declares two types to be *equivalent* to "
|
|||
|
"one another. Doing ``Alias = Original`` will make the static type checker "
|
|||
|
"treat ``Alias`` as being *exactly equivalent* to ``Original`` in all cases. "
|
|||
|
"This is useful when you want to simplify complex type signatures."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:129
|
|||
|
msgid ""
|
|||
|
"In contrast, ``NewType`` declares one type to be a *subtype* of another. "
|
|||
|
"Doing ``Derived = NewType('Derived', Original)`` will make the static type "
|
|||
|
"checker treat ``Derived`` as a *subclass* of ``Original``, which means a "
|
|||
|
"value of type ``Original`` cannot be used in places where a value of type "
|
|||
|
"``Derived`` is expected. This is useful when you want to prevent logic "
|
|||
|
"errors with minimal runtime cost."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:137
|
|||
|
msgid "Callable"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:139
|
|||
|
msgid ""
|
|||
|
"Frameworks expecting callback functions of specific signatures might be type "
|
|||
|
"hinted using ``Callable[[Arg1Type, Arg2Type], ReturnType]``."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:142
|
|||
|
msgid "For example::"
|
|||
|
msgstr "Par exemple : ::"
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:153
|
|||
|
msgid ""
|
|||
|
"It is possible to declare the return type of a callable without specifying "
|
|||
|
"the call signature by substituting a literal ellipsis for the list of "
|
|||
|
"arguments in the type hint: ``Callable[..., ReturnType]``."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:158
|
|||
|
msgid "Generics"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:160
|
|||
|
msgid ""
|
|||
|
"Since type information about objects kept in containers cannot be statically "
|
|||
|
"inferred in a generic way, abstract base classes have been extended to "
|
|||
|
"support subscription to denote expected types for container elements."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:171
|
|||
|
msgid ""
|
|||
|
"Generics can be parametrized by using a new factory available in typing "
|
|||
|
"called :class:`TypeVar`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:185
|
|||
|
msgid "User-defined generic types"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:187
|
|||
|
msgid "A user-defined class can be defined as a generic class."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:213
|
|||
|
msgid ""
|
|||
|
"``Generic[T]`` as a base class defines that the class ``LoggedVar`` takes a "
|
|||
|
"single type parameter ``T`` . This also makes ``T`` valid as a type within "
|
|||
|
"the class body."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:217
|
|||
|
msgid ""
|
|||
|
"The :class:`Generic` base class uses a metaclass that defines :meth:"
|
|||
|
"`__getitem__` so that ``LoggedVar[t]`` is valid as a type::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:226
|
|||
|
msgid ""
|
|||
|
"A generic type can have any number of type variables, and type variables may "
|
|||
|
"be constrained::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:238
|
|||
|
msgid ""
|
|||
|
"Each type variable argument to :class:`Generic` must be distinct. This is "
|
|||
|
"thus invalid::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:249
|
|||
|
msgid "You can use multiple inheritance with :class:`Generic`::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:258
|
|||
|
msgid ""
|
|||
|
"When inheriting from generic classes, some type variables could be fixed::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:267
|
|||
|
msgid "In this case ``MyDict`` has a single parameter, ``T``."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:269
|
|||
|
msgid ""
|
|||
|
"Using a generic class without specifying type parameters assumes :data:`Any` "
|
|||
|
"for each position. In the following example, ``MyIterable`` is not generic "
|
|||
|
"but implicitly inherits from ``Iterable[Any]``::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:277
|
|||
|
msgid ""
|
|||
|
"The metaclass used by :class:`Generic` is a subclass of :class:`abc."
|
|||
|
"ABCMeta`. A generic class can be an ABC by including abstract methods or "
|
|||
|
"properties, and generic classes can also have ABCs as base classes without a "
|
|||
|
"metaclass conflict. Generic metaclasses are not supported. The outcome of "
|
|||
|
"parameterizing generics is cached, and most types in the typing module are "
|
|||
|
"hashable and comparable for equality."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:286
|
|||
|
msgid "The :data:`Any` type"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:288
|
|||
|
msgid ""
|
|||
|
"A special kind of type is :data:`Any`. A static type checker will treat "
|
|||
|
"every type as being compatible with :data:`Any` and :data:`Any` as being "
|
|||
|
"compatible with every type."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:292
|
|||
|
msgid ""
|
|||
|
"This means that it is possible to perform any operation or method call on a "
|
|||
|
"value of type on :data:`Any` and assign it to any variable::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:310
|
|||
|
msgid ""
|
|||
|
"Notice that no typechecking is performed when assigning a value of type :"
|
|||
|
"data:`Any` to a more precise type. For example, the static type checker did "
|
|||
|
"not report an error when assigning ``a`` to ``s`` even though ``s`` was "
|
|||
|
"declared to be of type :class:`str` and receives an :class:`int` value at "
|
|||
|
"runtime!"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:316
|
|||
|
msgid ""
|
|||
|
"Furthermore, all functions without a return type or parameter types will "
|
|||
|
"implicitly default to using :data:`Any`::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:329
|
|||
|
msgid ""
|
|||
|
"This behavior allows :data:`Any` to be used as an *escape hatch* when you "
|
|||
|
"need to mix dynamically and statically typed code."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:332
|
|||
|
msgid ""
|
|||
|
"Contrast the behavior of :data:`Any` with the behavior of :class:`object`. "
|
|||
|
"Similar to :data:`Any`, every type is a subtype of :class:`object`. However, "
|
|||
|
"unlike :data:`Any`, the reverse is not true: :class:`object` is *not* a "
|
|||
|
"subtype of every other type."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:337
|
|||
|
msgid ""
|
|||
|
"That means when the type of a value is :class:`object`, a type checker will "
|
|||
|
"reject almost all operations on it, and assigning it to a variable (or using "
|
|||
|
"it as a return value) of a more specialized type is a type error. For "
|
|||
|
"example::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:359
|
|||
|
msgid ""
|
|||
|
"Use :class:`object` to indicate that a value could be any type in a typesafe "
|
|||
|
"manner. Use :data:`Any` to indicate that a value is dynamically typed."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:363
|
|||
|
msgid "Classes, functions, and decorators"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:365
|
|||
|
msgid "The module defines the following classes, functions and decorators:"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:369
|
|||
|
msgid "Type variable."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:371 ../Doc/library/typing.rst:684
|
|||
|
msgid "Usage::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:376
|
|||
|
msgid ""
|
|||
|
"Type variables exist primarily for the benefit of static type checkers. "
|
|||
|
"They serve as the parameters for generic types as well as for generic "
|
|||
|
"function definitions. See class Generic for more information on generic "
|
|||
|
"types. Generic functions work as follows::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:389
|
|||
|
msgid ""
|
|||
|
"The latter example's signature is essentially the overloading of ``(str, "
|
|||
|
"str) -> str`` and ``(bytes, bytes) -> bytes``. Also note that if the "
|
|||
|
"arguments are instances of some subclass of :class:`str`, the return type is "
|
|||
|
"still plain :class:`str`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:394
|
|||
|
msgid ""
|
|||
|
"At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`. In general, :"
|
|||
|
"func:`isinstance` and :func:`issubclass` should not be used with types."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:397
|
|||
|
msgid ""
|
|||
|
"Type variables may be marked covariant or contravariant by passing "
|
|||
|
"``covariant=True`` or ``contravariant=True``. See :pep:`484` for more "
|
|||
|
"details. By default type variables are invariant. Alternatively, a type "
|
|||
|
"variable may specify an upper bound using ``bound=<type>``. This means that "
|
|||
|
"an actual type substituted (explicitly or implicitly) for the type variable "
|
|||
|
"must be a subclass of the boundary type, see :pep:`484`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:407
|
|||
|
msgid "Abstract base class for generic types."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:409
|
|||
|
msgid ""
|
|||
|
"A generic type is typically declared by inheriting from an instantiation of "
|
|||
|
"this class with one or more type variables. For example, a generic mapping "
|
|||
|
"type might be defined as::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:418
|
|||
|
msgid "This class can then be used as follows::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:431
|
|||
|
msgid ""
|
|||
|
"A variable annotated with ``C`` may accept a value of type ``C``. In "
|
|||
|
"contrast, a variable annotated with ``Type[C]`` may accept values that are "
|
|||
|
"classes themselves -- specifically, it will accept the *class object* of "
|
|||
|
"``C``. For example::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:440
|
|||
|
msgid "Note that ``Type[C]`` is covariant::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:452
|
|||
|
msgid ""
|
|||
|
"The fact that ``Type[C]`` is covariant implies that all subclasses of ``C`` "
|
|||
|
"should implement the same constructor signature and class method signatures "
|
|||
|
"as ``C``. The type checker should flag violations of this, but should also "
|
|||
|
"allow constructor calls in subclasses that match the constructor calls in "
|
|||
|
"the indicated base class. How the type checker is required to handle this "
|
|||
|
"particular case may change in future revisions of :pep:`484`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:460
|
|||
|
msgid ""
|
|||
|
"The only legal parameters for :class:`Type` are classes, unions of classes, "
|
|||
|
"and :data:`Any`. For example::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:465
|
|||
|
msgid ""
|
|||
|
"``Type[Any]`` is equivalent to ``Type`` which in turn is equivalent to "
|
|||
|
"``type``, which is the root of Python's metaclass hierarchy."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:470
|
|||
|
msgid "A generic version of :class:`collections.abc.Iterable`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:474
|
|||
|
msgid "A generic version of :class:`collections.abc.Iterator`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:478
|
|||
|
msgid "A generic version of :class:`collections.abc.Reversible`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:482
|
|||
|
msgid "An ABC with one abstract method ``__int__``."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:486
|
|||
|
msgid "An ABC with one abstract method ``__float__``."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:490
|
|||
|
msgid ""
|
|||
|
"An ABC with one abstract method ``__abs__`` that is covariant in its return "
|
|||
|
"type."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:495
|
|||
|
msgid ""
|
|||
|
"An ABC with one abstract method ``__round__`` that is covariant in its "
|
|||
|
"return type."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:500
|
|||
|
msgid "A generic version of :class:`collections.abc.Container`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:504
|
|||
|
msgid "An alias to :class:`collections.abc.Hashable`"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:508
|
|||
|
msgid "An alias to :class:`collections.abc.Sized`"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:512
|
|||
|
msgid "A generic version of :class:`collections.abc.Collection`"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:518
|
|||
|
msgid "A generic version of :class:`collections.abc.Set`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:522
|
|||
|
msgid "A generic version of :class:`collections.abc.MutableSet`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:526
|
|||
|
msgid "A generic version of :class:`collections.abc.Mapping`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:530
|
|||
|
msgid "A generic version of :class:`collections.abc.MutableMapping`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:534
|
|||
|
msgid "A generic version of :class:`collections.abc.Sequence`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:538
|
|||
|
msgid "A generic version of :class:`collections.abc.MutableSequence`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:542
|
|||
|
msgid "A generic version of :class:`collections.abc.ByteString`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:544
|
|||
|
msgid ""
|
|||
|
"This type represents the types :class:`bytes`, :class:`bytearray`, and :"
|
|||
|
"class:`memoryview`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:547
|
|||
|
msgid ""
|
|||
|
"As a shorthand for this type, :class:`bytes` can be used to annotate "
|
|||
|
"arguments of any of the types mentioned above."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:552
|
|||
|
msgid ""
|
|||
|
"Generic version of :class:`list`. Useful for annotating return types. To "
|
|||
|
"annotate arguments it is preferred to use abstract collection types such as :"
|
|||
|
"class:`Mapping`, :class:`Sequence`, or :class:`AbstractSet`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:557
|
|||
|
msgid "This type may be used as follows::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:569
|
|||
|
msgid "A generic version of :class:`builtins.set <set>`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:573
|
|||
|
msgid "A generic version of :class:`collections.abc.MappingView`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:577
|
|||
|
msgid "A generic version of :class:`collections.abc.KeysView`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:581
|
|||
|
msgid "A generic version of :class:`collections.abc.ItemsView`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:585
|
|||
|
msgid "A generic version of :class:`collections.abc.ValuesView`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:589
|
|||
|
msgid "A generic version of :class:`collections.abc.Awaitable`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:593
|
|||
|
msgid "A generic version of :class:`collections.abc.AsyncIterable`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:597
|
|||
|
msgid "A generic version of :class:`collections.abc.AsyncIterator`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:601
|
|||
|
msgid "A generic version of :class:`contextlib.AbstractContextManager`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:607
|
|||
|
msgid ""
|
|||
|
"A generic version of :class:`dict`. The usage of this type is as follows::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:615
|
|||
|
msgid "A generic version of :class:`collections.defaultdict`"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:619
|
|||
|
msgid ""
|
|||
|
"A generator can be annotated by the generic type ``Generator[YieldType, "
|
|||
|
"SendType, ReturnType]``. For example::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:628
|
|||
|
msgid ""
|
|||
|
"Note that unlike many other generics in the typing module, the ``SendType`` "
|
|||
|
"of :class:`Generator` behaves contravariantly, not covariantly or "
|
|||
|
"invariantly."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:632
|
|||
|
msgid ""
|
|||
|
"If your generator will only yield values, set the ``SendType`` and "
|
|||
|
"``ReturnType`` to ``None``::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:640
|
|||
|
msgid ""
|
|||
|
"Alternatively, annotate your generator as having a return type of either "
|
|||
|
"``Iterable[YieldType]`` or ``Iterator[YieldType]``::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:650
|
|||
|
msgid ""
|
|||
|
"``Text`` is an alias for ``str``. It is provided to supply a forward "
|
|||
|
"compatible path for Python 2 code: in Python 2, ``Text`` is an alias for "
|
|||
|
"``unicode``."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:654
|
|||
|
msgid ""
|
|||
|
"Use ``Text`` to indicate that a value must contain a unicode string in a "
|
|||
|
"manner that is compatible with both Python 2 and Python 3::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:662
|
|||
|
msgid "Wrapper namespace for I/O stream types."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:664
|
|||
|
msgid ""
|
|||
|
"This defines the generic type ``IO[AnyStr]`` and aliases ``TextIO`` and "
|
|||
|
"``BinaryIO`` for respectively ``IO[str]`` and ``IO[bytes]``. These "
|
|||
|
"representing the types of I/O streams such as returned by :func:`open`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:671
|
|||
|
msgid "Wrapper namespace for regular expression matching types."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:673
|
|||
|
msgid ""
|
|||
|
"This defines the type aliases ``Pattern`` and ``Match`` which correspond to "
|
|||
|
"the return types from :func:`re.compile` and :func:`re.match`. These types "
|
|||
|
"(and the corresponding functions) are generic in ``AnyStr`` and can be made "
|
|||
|
"specific by writing ``Pattern[str]``, ``Pattern[bytes]``, ``Match[str]``, or "
|
|||
|
"``Match[bytes]``."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:682
|
|||
|
msgid "Typed version of namedtuple."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:688
|
|||
|
msgid "This is equivalent to::"
|
|||
|
msgstr "C’est équivalent à ::"
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:692
|
|||
|
msgid ""
|
|||
|
"The resulting class has one extra attribute: _field_types, giving a dict "
|
|||
|
"mapping field names to types. (The field names are in the _fields "
|
|||
|
"attribute, which is part of the namedtuple API.)"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:699
|
|||
|
msgid ""
|
|||
|
"A helper function to indicate a distinct types to a typechecker, see :ref:"
|
|||
|
"`distinct`. At runtime it returns a function that returns its argument. "
|
|||
|
"Usage::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:708
|
|||
|
msgid "Cast a value to a type."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:710
|
|||
|
msgid ""
|
|||
|
"This returns the value unchanged. To the type checker this signals that the "
|
|||
|
"return value has the designated type, but at runtime we intentionally don't "
|
|||
|
"check anything (we want this to be as fast as possible)."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:717
|
|||
|
msgid "Return type hints for a class, module, function or method object."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:719
|
|||
|
msgid ""
|
|||
|
"This is often the same as ``obj.__annotations__``, but it handles forward "
|
|||
|
"references encoded as string literals, and if necessary adds ``Optional[t]`` "
|
|||
|
"if a default value equal to ``None`` is set."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:725
|
|||
|
msgid ""
|
|||
|
"The ``@overload`` decorator allows describing functions and methods that "
|
|||
|
"support multiple different combinations of argument types. A series of "
|
|||
|
"``@overload``-decorated definitions must be followed by exactly one non-"
|
|||
|
"``@overload``-decorated definition (for the same function/method). The "
|
|||
|
"``@overload``-decorated definitions are for the benefit of the type checker "
|
|||
|
"only, since they will be overwritten by the non-``@overload``-decorated "
|
|||
|
"definition, while the latter is used at runtime but should be ignored by a "
|
|||
|
"type checker. At runtime, calling a ``@overload``-decorated function "
|
|||
|
"directly will raise ``NotImplementedError``. An example of overload that "
|
|||
|
"gives a more precise type than can be expressed using a union or a type "
|
|||
|
"variable::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:749
|
|||
|
msgid "See :pep:`484` for details and comparison with other typing semantics."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:753
|
|||
|
msgid "Decorator to indicate that annotations are not type hints."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:755
|
|||
|
msgid ""
|
|||
|
"The argument must be a class or function; if it is a class, it applies "
|
|||
|
"recursively to all methods defined in that class (but not to methods defined "
|
|||
|
"in its superclasses or subclasses)."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:759
|
|||
|
msgid "This mutates the function(s) in place."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:763
|
|||
|
msgid "Decorator to give another decorator the :func:`no_type_check` effect."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:765
|
|||
|
msgid ""
|
|||
|
"This wraps the decorator with something that wraps the decorated function "
|
|||
|
"in :func:`no_type_check`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:770
|
|||
|
msgid "Special type indicating an unconstrained type."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:772
|
|||
|
msgid "Every type is compatible with :data:`Any`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:773
|
|||
|
msgid ":data:`Any` is compatible with every type."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:777
|
|||
|
msgid "Union type; ``Union[X, Y]`` means either X or Y."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:779
|
|||
|
msgid "To define a union, use e.g. ``Union[int, str]``. Details:"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:781
|
|||
|
msgid "The arguments must be types and there must be at least one."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:783
|
|||
|
msgid "Unions of unions are flattened, e.g.::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:787
|
|||
|
msgid "Unions of a single argument vanish, e.g.::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:791
|
|||
|
msgid "Redundant arguments are skipped, e.g.::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:795
|
|||
|
msgid "When comparing unions, the argument order is ignored, e.g.::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:799
|
|||
|
msgid ""
|
|||
|
"When a class and its subclass are present, the former is skipped, e.g.::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:803
|
|||
|
msgid "You cannot subclass or instantiate a union."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:805
|
|||
|
msgid "You cannot write ``Union[X][Y]``."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:807
|
|||
|
msgid "You can use ``Optional[X]`` as a shorthand for ``Union[X, None]``."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:811
|
|||
|
msgid "Optional type."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:813
|
|||
|
msgid "``Optional[X]`` is equivalent to ``Union[X, None]``."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:815
|
|||
|
msgid ""
|
|||
|
"Note that this is not the same concept as an optional argument, which is one "
|
|||
|
"that has a default. An optional argument with a default needn't use the "
|
|||
|
"``Optional`` qualifier on its type annotation (although it is inferred if "
|
|||
|
"the default is ``None``). A mandatory argument may still have an "
|
|||
|
"``Optional`` type if an explicit value of ``None`` is allowed."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:824
|
|||
|
msgid ""
|
|||
|
"Tuple type; ``Tuple[X, Y]`` is the type of a tuple of two items with the "
|
|||
|
"first item of type X and the second of type Y."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:827
|
|||
|
msgid ""
|
|||
|
"Example: ``Tuple[T1, T2]`` is a tuple of two elements corresponding to type "
|
|||
|
"variables T1 and T2. ``Tuple[int, float, str]`` is a tuple of an int, a "
|
|||
|
"float and a string."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:831
|
|||
|
msgid ""
|
|||
|
"To specify a variable-length tuple of homogeneous type, use literal "
|
|||
|
"ellipsis, e.g. ``Tuple[int, ...]``. A plain :data:`Tuple` is equivalent to "
|
|||
|
"``Tuple[Any, ...]``, and in turn to :data:`tuple`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:837
|
|||
|
msgid "Callable type; ``Callable[[int], str]`` is a function of (int) -> str."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:839
|
|||
|
msgid ""
|
|||
|
"The subscription syntax must always be used with exactly two values: the "
|
|||
|
"argument list and the return type. The argument list must be a list of "
|
|||
|
"types; the return type must be a single type."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:843
|
|||
|
msgid ""
|
|||
|
"There is no syntax to indicate optional or keyword arguments; such function "
|
|||
|
"types are rarely used as callback types. ``Callable[..., ReturnType]`` "
|
|||
|
"(literal ellipsis) can be used to type hint a callable taking any number of "
|
|||
|
"arguments and returning ``ReturnType``. A plain :data:`Callable` is "
|
|||
|
"equivalent to ``Callable[..., Any]``, and in turn to :class:`collections.abc."
|
|||
|
"Callable`."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:853
|
|||
|
msgid "Special type construct to mark class variables."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:855
|
|||
|
msgid ""
|
|||
|
"As introduced in :pep:`526`, a variable annotation wrapped in ClassVar "
|
|||
|
"indicates that a given attribute is intended to be used as a class variable "
|
|||
|
"and should not be set on instances of that class. Usage::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:863
|
|||
|
msgid ":data:`ClassVar` accepts only types and cannot be further subscribed."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:865
|
|||
|
msgid ""
|
|||
|
":data:`ClassVar` is not a class itself, and should not be used with :func:"
|
|||
|
"`isinstance` or :func:`issubclass`. Note that :data:`ClassVar` does not "
|
|||
|
"change Python runtime behavior; it can be used by 3rd party type checkers, "
|
|||
|
"so that the following code might flagged as an error by those::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:879
|
|||
|
msgid ""
|
|||
|
"``AnyStr`` is a type variable defined as ``AnyStr = TypeVar('AnyStr', str, "
|
|||
|
"bytes)``."
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:882
|
|||
|
msgid ""
|
|||
|
"It is meant to be used for functions that may accept any kind of string "
|
|||
|
"without allowing different kinds of strings to mix. For example::"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#: ../Doc/library/typing.rst:894
|
|||
|
msgid ""
|
|||
|
"A special constant that is assumed to be ``True`` by 3rd party static type "
|
|||
|
"checkers. It is ``False`` at runtime. Usage::"
|
|||
|
msgstr ""
|