forked from AFPy/python-docs-fr
1756 lines
56 KiB
Plaintext
1756 lines
56 KiB
Plaintext
# SOME DESCRIPTIVE TITLE.
|
|
# Copyright (C) 2001-2021, 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.10\n"
|
|
"Report-Msgid-Bugs-To: \n"
|
|
"POT-Creation-Date: 2021-03-18 17: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"
|
|
|
|
#: whatsnew/3.10.rst:3
|
|
msgid "What's New In Python 3.10"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:0
|
|
msgid "Release"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:5
|
|
msgid "|release|"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:0
|
|
msgid "Date"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:6
|
|
msgid "|today|"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:48
|
|
msgid "This article explains the new features in Python 3.10, compared to 3.9."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:50
|
|
msgid "For full details, see the :ref:`changelog <changelog>`."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:54
|
|
msgid ""
|
|
"Prerelease users should be aware that this document is currently in draft "
|
|
"form. It will be updated substantially as Python 3.10 moves towards release, "
|
|
"so it's worth checking back even after reading earlier versions."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:60
|
|
msgid "Summary -- Release highlights"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1189
|
|
msgid "New Features"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:76
|
|
msgid "Parenthesized context managers"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:78
|
|
msgid ""
|
|
"Using enclosing parentheses for continuation across multiple lines in "
|
|
"context managers is now supported. This allows formatting a long collection "
|
|
"of context managers in multiple lines in a similar way as it was previously "
|
|
"possible with import statements. For instance, all these examples are now "
|
|
"valid:"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:109
|
|
msgid ""
|
|
"it is also possible to use a trailing comma at the end of the enclosed group:"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:121
|
|
msgid ""
|
|
"This new syntax uses the non LL(1) capacities of the new parser. Check :pep:"
|
|
"`617` for more details."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:124
|
|
msgid ""
|
|
"(Contributed by Guido van Rossum, Pablo Galindo and Lysandros Nikolaou in :"
|
|
"issue:`12782` and :issue:`40334`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:129
|
|
msgid "Better error messages in the parser"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:131
|
|
msgid ""
|
|
"When parsing code that contains unclosed parentheses or brackets the "
|
|
"interpreter now includes the location of the unclosed bracket of parentheses "
|
|
"instead of displaying *SyntaxError: unexpected EOF while parsing* or "
|
|
"pointing to some incorrect location. For instance, consider the following "
|
|
"code (notice the unclosed '{'):"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:142
|
|
msgid ""
|
|
"previous versions of the interpreter reported confusing places as the "
|
|
"location of the syntax error:"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:152
|
|
msgid "but in Python3.10 a more informative error is emitted:"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:162
|
|
msgid ""
|
|
"In a similar way, errors involving unclosed string literals (single and "
|
|
"triple quoted) now point to the start of the string instead of reporting EOF/"
|
|
"EOL."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:165
|
|
msgid ""
|
|
"These improvements are inspired by previous work in the PyPy interpreter."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:167
|
|
msgid ""
|
|
"(Contributed by Pablo Galindo in :issue:`42864` and Batuhan Taskaya in :"
|
|
"issue:`40176`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:171
|
|
msgid "PEP 626: Precise line numbers for debugging and other tools"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:173
|
|
msgid ""
|
|
"PEP 626 brings more precise and reliable line numbers for debugging, "
|
|
"profiling and coverage tools. Tracing events, with the correct line number, "
|
|
"are generated for all lines of code executed and only for lines of code that "
|
|
"are executed."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:176
|
|
msgid ""
|
|
"The ``f_lineo`` attribute of frame objects will always contain the expected "
|
|
"line number."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:180
|
|
msgid "PEP 634: Structural Pattern Matching"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:182
|
|
msgid ""
|
|
"Structural pattern matching has been added in the form of a *match "
|
|
"statement* and *case statements* of patterns with associated actions. "
|
|
"Patterns consist of sequences, mappings, primitive data types as well as "
|
|
"class instances. Pattern matching enables programs to extract information "
|
|
"from complex data types, branch on the structure of data, and apply specific "
|
|
"actions based on different forms of data."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:190
|
|
msgid "Syntax and operations"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:192
|
|
msgid "The generic syntax of pattern matching is::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:204
|
|
msgid ""
|
|
"A match statement takes an expression and compares its value to successive "
|
|
"patterns given as one or more case blocks. Specifically, pattern matching "
|
|
"operates by:"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:208
|
|
msgid "using data with type and shape (the ``subject``)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:209
|
|
msgid "evaluating the ``subject`` in the ``match`` statement"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:210
|
|
msgid ""
|
|
"comparing the subject with each pattern in a ``case`` statement from top to "
|
|
"bottom until a match is confirmed."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:212
|
|
msgid "executing the action associated with the pattern of the confirmed match"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:214
|
|
msgid ""
|
|
"If an exact match is not confirmed, the last case, a wildcard ``_``, if "
|
|
"provided, will be used as the matching case. If an exact match is not "
|
|
"confirmed and a wildcard case does not exists, the entire match block is a "
|
|
"no-op."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:220
|
|
msgid "Declarative approach"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:222
|
|
msgid ""
|
|
"Readers may be aware of pattern matching through the simple example of "
|
|
"matching a subject (data object) to a literal (pattern) with the switch "
|
|
"statement found in C, Java or JavaScript (and many other languages). Often "
|
|
"the switch statement is used for comparison of an object/expression with "
|
|
"case statements containing literals."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:228
|
|
msgid ""
|
|
"More powerful examples of pattern matching can be found in languages, such "
|
|
"as Scala and Elixir. With structural pattern matching, the approach is "
|
|
"\"declarative\" and explicitly states the conditions (the patterns) for data "
|
|
"to match."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:232
|
|
msgid ""
|
|
"While an \"imperative\" series of instructions using nested \"if\" "
|
|
"statements could be used to accomplish something similar to structural "
|
|
"pattern matching, it is less clear than the \"declarative\" approach. "
|
|
"Instead the \"declarative\" approach states the conditions to meet for a "
|
|
"match and is more readable through its explicit patterns. While structural "
|
|
"pattern matching can be used in its simplest form comparing a variable to a "
|
|
"literal in a case statement, its true value for Python lies in its handling "
|
|
"of the subject's type and shape."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:241
|
|
msgid "Simple pattern: match to a literal"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:243
|
|
msgid ""
|
|
"Let's look at this example as pattern matching in its simplest form: a "
|
|
"value, the subject, being matched to several literals, the patterns. In the "
|
|
"example below, ``status`` is the subject of the match statement. The "
|
|
"patterns are each of the case statements, where literals represent request "
|
|
"status codes. The associated action to the case is executed after a match::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:260
|
|
msgid ""
|
|
"If the above function is passed a ``status`` of 418, \"I'm a teapot\" is "
|
|
"returned. If the above function is passed a ``status`` of 500, the case "
|
|
"statement with ``_`` will match as a wildcard, and \"Something's wrong with "
|
|
"the Internet\" is returned. Note the last block: the variable name, ``_``, "
|
|
"acts as a *wildcard* and insures the subject will always match. The use of "
|
|
"``_`` is optional."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:267
|
|
msgid ""
|
|
"You can combine several literals in a single pattern using ``|`` (\"or\")::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:273
|
|
msgid "Behavior without the wildcard"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:275
|
|
msgid ""
|
|
"If we modify the above example by removing the last case block, the example "
|
|
"becomes::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:287
|
|
msgid ""
|
|
"Without the use of ``_`` in a case statement, a match may not exist. If no "
|
|
"match exists, the behavior is a no-op. For example, if ``status`` of 500 is "
|
|
"passed, a no-op occurs."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:292
|
|
msgid "Patterns with a literal and variable"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:294
|
|
msgid ""
|
|
"Patterns can look like unpacking assignments, and a pattern may be used to "
|
|
"bind variables. In this example, a data point can be unpacked to its x-"
|
|
"coordinate and y-coordinate::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:311
|
|
msgid ""
|
|
"The first pattern has two literals, ``(0, 0)``, and may be thought of as an "
|
|
"extension of the literal pattern shown above. The next two patterns combine "
|
|
"a literal and a variable, and the variable *binds* a value from the subject "
|
|
"(``point``). The fourth pattern captures two values, which makes it "
|
|
"conceptually similar to the unpacking assignment ``(x, y) = point``."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:318
|
|
msgid "Patterns and classes"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:320
|
|
msgid ""
|
|
"If you are using classes to structure your data, you can use as a pattern "
|
|
"the class name followed by an argument list resembling a constructor. This "
|
|
"pattern has the ability to capture class attributes into variables::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:342
|
|
msgid "Patterns with positional parameters"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:344
|
|
msgid ""
|
|
"You can use positional parameters with some builtin classes that provide an "
|
|
"ordering for their attributes (e.g. dataclasses). You can also define a "
|
|
"specific position for attributes in patterns by setting the "
|
|
"``__match_args__`` special attribute in your classes. If it's set to (\"x\", "
|
|
"\"y\"), the following patterns are all equivalent (and all bind the ``y`` "
|
|
"attribute to the ``var`` variable)::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:356
|
|
msgid "Nested patterns"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:358
|
|
msgid ""
|
|
"Patterns can be arbitrarily nested. For example, if our data is a short "
|
|
"list of points, it could be matched like this::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:374
|
|
msgid "Complex patterns and the wildcard"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:376
|
|
msgid ""
|
|
"To this point, the examples have used ``_`` alone in the last case "
|
|
"statement. A wildcard can be used in more complex patterns, such as "
|
|
"``('error', code, _)``. For example::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:386
|
|
msgid ""
|
|
"In the above case, ``test_variable`` will match for ('error', code, 100) and "
|
|
"('error', code, 800)."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:390
|
|
msgid "Guard"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:392
|
|
msgid ""
|
|
"We can add an ``if`` clause to a pattern, known as a \"guard\". If the "
|
|
"guard is false, ``match`` goes on to try the next case block. Note that "
|
|
"value capture happens before the guard is evaluated::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:403
|
|
msgid "Other Key Features"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:405
|
|
msgid "Several other key features:"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:407
|
|
msgid ""
|
|
"Like unpacking assignments, tuple and list patterns have exactly the same "
|
|
"meaning and actually match arbitrary sequences. Technically, the subject "
|
|
"must be an instance of ``collections.abc.Sequence``. Therefore, an important "
|
|
"exception is that patterns don't match iterators. Also, to prevent a common "
|
|
"mistake, sequence patterns don't match strings."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:413
|
|
msgid ""
|
|
"Sequence patterns support wildcards: ``[x, y, *rest]`` and ``(x, y, *rest)`` "
|
|
"work similar to wildcards in unpacking assignments. The name after ``*`` "
|
|
"may also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two "
|
|
"items without binding the remaining items."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:418
|
|
msgid ""
|
|
"Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the ``"
|
|
"\"bandwidth\"`` and ``\"latency\"`` values from a dict. Unlike sequence "
|
|
"patterns, extra keys are ignored. A wildcard ``**rest`` is also supported. "
|
|
"(But ``**_`` would be redundant, so it not allowed.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:423
|
|
msgid "Subpatterns may be captured using the ``as`` keyword::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:427
|
|
msgid ""
|
|
"This binds x1, y1, x2, y2 like you would expect without the ``as`` clause, "
|
|
"and p2 to the entire second item of the subject."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:430
|
|
msgid ""
|
|
"Most literals are compared by equality. However, the singletons ``True``, "
|
|
"``False`` and ``None`` are compared by identity."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:433
|
|
msgid ""
|
|
"Named constants may be used in patterns. These named constants must be "
|
|
"dotted names to prevent the constant from being interpreted as a capture "
|
|
"variable::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:451
|
|
msgid ""
|
|
"For the full specification see :pep:`634`. Motivation and rationale are in :"
|
|
"pep:`635`, and a longer tutorial is in :pep:`636`."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:456
|
|
msgid "New Features Related to Type Annotations"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:458
|
|
msgid ""
|
|
"This section covers major changes affecting :pep:`484` type annotations and "
|
|
"the :mod:`typing` module."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:463
|
|
msgid "PEP 563: Postponed Evaluation of Annotations Becomes Default"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:465
|
|
msgid ""
|
|
"In Python 3.7, postponed evaluation of annotations was added, to be enabled "
|
|
"with a ``from __future__ import annotations`` directive. In 3.10 this "
|
|
"became the default behavior, even without that future directive. With this "
|
|
"being default, all annotations stored in :attr:`__annotations__` will be "
|
|
"strings. If needed, annotations can be resolved at runtime using :func:"
|
|
"`typing.get_type_hints`. See :pep:`563` for a full description. Also, the :"
|
|
"func:`inspect.signature` will try to resolve types from now on, and when it "
|
|
"fails it will fall back to showing the string annotations. (Contributed by "
|
|
"Batuhan Taskaya in :issue:`38605`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:479
|
|
msgid "PEP 604: New Type Union Operator"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:481
|
|
msgid ""
|
|
"A new type union operator was introduced which enables the syntax ``X | Y``. "
|
|
"This provides a cleaner way of expressing 'either type X or type Y' instead "
|
|
"of using :data:`typing.Union`, especially in type hints (annotations)."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:485
|
|
msgid ""
|
|
"In previous versions of Python, to apply a type hint for functions accepting "
|
|
"arguments of multiple types, :data:`typing.Union` was used::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:492
|
|
msgid "Type hints can now be written in a more succinct manner::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:498
|
|
msgid ""
|
|
"This new syntax is also accepted as the second argument to :func:"
|
|
"`isinstance` and :func:`issubclass`::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:504
|
|
msgid "See :ref:`types-union` and :pep:`604` for more details."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:506
|
|
msgid "(Contributed by Maggie Moss and Philippe Prados in :issue:`41428`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:510
|
|
msgid "PEP 612: Parameter Specification Variables"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:512
|
|
msgid ""
|
|
"Two new options to improve the information provided to static type checkers "
|
|
"for :pep:`484`\\ 's ``Callable`` have been added to the :mod:`typing` module."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:515
|
|
msgid ""
|
|
"The first is the parameter specification variable. They are used to forward "
|
|
"the parameter types of one callable to another callable -- a pattern "
|
|
"commonly found in higher order functions and decorators. Examples of usage "
|
|
"can be found in :class:`typing.ParamSpec`. Previously, there was no easy way "
|
|
"to type annotate dependency of parameter types in such a precise manner."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:521
|
|
msgid ""
|
|
"The second option is the new ``Concatenate`` operator. It's used in "
|
|
"conjunction with parameter specification variables to type annotate a higher "
|
|
"order callable which adds or removes parameters of another callable. "
|
|
"Examples of usage can be found in :class:`typing.Concatenate`."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:526
|
|
msgid ""
|
|
"See :class:`typing.Callable`, :class:`typing.ParamSpec`, :class:`typing."
|
|
"Concatenate` and :pep:`612` for more details."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:529
|
|
msgid "(Contributed by Ken Jin in :issue:`41559`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:533
|
|
msgid "PEP 613: TypeAlias Annotation"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:535
|
|
msgid ""
|
|
":pep:`484` introduced the concept of type aliases, only requiring them to be "
|
|
"top-level unannotated assignments. This simplicity sometimes made it "
|
|
"difficult for type checkers to distinguish between type aliases and ordinary "
|
|
"assignments, especially when forward references or invalid types were "
|
|
"involved. Compare::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:543
|
|
msgid ""
|
|
"Now the :mod:`typing` module has a special annotation :data:`TypeAlias` to "
|
|
"declare type aliases more explicitly::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:549
|
|
msgid "See :pep:`613` for more details."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:551
|
|
msgid "(Contributed by Mikhail Golubev in :issue:`41923`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:555
|
|
msgid "Other Language Changes"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:557
|
|
msgid ""
|
|
"The :class:`int` type has a new method :meth:`int.bit_count`, returning the "
|
|
"number of ones in the binary expansion of a given integer, also known as the "
|
|
"population count. (Contributed by Niklas Fiekas in :issue:`29882`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:561
|
|
msgid ""
|
|
"The views returned by :meth:`dict.keys`, :meth:`dict.values` and :meth:`dict."
|
|
"items` now all have a ``mapping`` attribute that gives a :class:`types."
|
|
"MappingProxyType` object wrapping the original dictionary. (Contributed by "
|
|
"Dennis Sweeney in :issue:`40890`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:566
|
|
msgid ""
|
|
":pep:`618`: The :func:`zip` function now has an optional ``strict`` flag, "
|
|
"used to require that all the iterables have an equal length."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:569
|
|
msgid ""
|
|
"Builtin and extension functions that take integer arguments no longer "
|
|
"accept :class:`~decimal.Decimal`\\ s, :class:`~fractions.Fraction`\\ s and "
|
|
"other objects that can be converted to integers only with a loss (e.g. that "
|
|
"have the :meth:`~object.__int__` method but do not have the :meth:`~object."
|
|
"__index__` method). (Contributed by Serhiy Storchaka in :issue:`37999`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:576
|
|
msgid ""
|
|
"If :func:`object.__ipow__` returns :const:`NotImplemented`, the operator "
|
|
"will correctly fall back to :func:`object.__pow__` and :func:`object."
|
|
"__rpow__` as expected. (Contributed by Alex Shkop in :issue:`38302`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:580
|
|
msgid ""
|
|
"Assignment expressions can now be used unparenthesized within set literals "
|
|
"and set comprehensions, as well as in sequence indexes (but not slices)."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:583
|
|
msgid ""
|
|
"Functions have a new ``__builtins__`` attribute which is used to look for "
|
|
"builtin symbols when a function is executed, instead of looking into "
|
|
"``__globals__['__builtins__']``. The attribute is initialized from "
|
|
"``__globals__[\"__builtins__\"]`` if it exists, else from the current "
|
|
"builtins. (Contributed by Mark Shannon in :issue:`42990`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:591
|
|
msgid "New Modules"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:593
|
|
msgid "None yet."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:597
|
|
msgid "Improved Modules"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:600
|
|
msgid "argparse"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:602
|
|
msgid ""
|
|
"Misleading phrase \"optional arguments\" was replaced with \"options\" in "
|
|
"argparse help. Some tests might require adaptation if they rely on exact "
|
|
"output match. (Contributed by Raymond Hettinger in :issue:`9694`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:606
|
|
msgid "base64"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:608
|
|
msgid ""
|
|
"Add :func:`base64.b32hexencode` and :func:`base64.b32hexdecode` to support "
|
|
"the Base32 Encoding with Extended Hex Alphabet."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:612
|
|
msgid "codecs"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:614
|
|
msgid ""
|
|
"Add a :func:`codecs.unregister` function to unregister a codec search "
|
|
"function. (Contributed by Hai Shi in :issue:`41842`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:618
|
|
msgid "collections.abc"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:620
|
|
msgid ""
|
|
"The ``__args__`` of the :ref:`parameterized generic <types-genericalias>` "
|
|
"for :class:`collections.abc.Callable` are now consistent with :data:`typing."
|
|
"Callable`. :class:`collections.abc.Callable` generic now flattens type "
|
|
"parameters, similar to what :data:`typing.Callable` currently does. This "
|
|
"means that ``collections.abc.Callable[[int, str], str]`` will have "
|
|
"``__args__`` of ``(int, str, str)``; previously this was ``([int, str], "
|
|
"str)``. To allow this change, :class:`types.GenericAlias` can now be "
|
|
"subclassed, and a subclass will be returned when subscripting the :class:"
|
|
"`collections.abc.Callable` type. Note that a :exc:`TypeError` may be raised "
|
|
"for invalid forms of parameterizing :class:`collections.abc.Callable` which "
|
|
"may have passed silently in Python 3.9. (Contributed by Ken Jin in :issue:"
|
|
"`42195`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:633
|
|
msgid "contextlib"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:635
|
|
msgid ""
|
|
"Add a :func:`contextlib.aclosing` context manager to safely close async "
|
|
"generators and objects representing asynchronously released resources. "
|
|
"(Contributed by Joongi Kim and John Belmonte in :issue:`41229`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:639
|
|
msgid ""
|
|
"Add asynchronous context manager support to :func:`contextlib.nullcontext`. "
|
|
"(Contributed by Tom Gringauz in :issue:`41543`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:643
|
|
msgid "curses"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:645
|
|
msgid ""
|
|
"The extended color functions added in ncurses 6.1 will be used transparently "
|
|
"by :func:`curses.color_content`, :func:`curses.init_color`, :func:`curses."
|
|
"init_pair`, and :func:`curses.pair_content`. A new function, :func:`curses."
|
|
"has_extended_color_support`, indicates whether extended color support is "
|
|
"provided by the underlying ncurses library. (Contributed by Jeffrey "
|
|
"Kintscher and Hans Petter Jansson in :issue:`36982`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:652
|
|
msgid ""
|
|
"The ``BUTTON5_*`` constants are now exposed in the :mod:`curses` module if "
|
|
"they are provided by the underlying curses library. (Contributed by Zackery "
|
|
"Spytz in :issue:`39273`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:659
|
|
msgid "distutils"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:661
|
|
msgid ""
|
|
"The entire ``distutils`` package is deprecated, to be removed in Python "
|
|
"3.12. Its functionality for specifying package builds has already been "
|
|
"completely replaced by third-party packages ``setuptools`` and "
|
|
"``packaging``, and most other commonly used APIs are available elsewhere in "
|
|
"the standard library (such as :mod:`platform`, :mod:`shutil`, :mod:"
|
|
"`subprocess` or :mod:`sysconfig`). There are no plans to migrate any other "
|
|
"functionality from ``distutils``, and applications that are using other "
|
|
"functions should plan to make private copies of the code. Refer to :pep:"
|
|
"`632` for discussion."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:671
|
|
msgid ""
|
|
"The ``bdist_wininst`` command deprecated in Python 3.8 has been removed. The "
|
|
"``bdist_wheel`` command is now recommended to distribute binary packages on "
|
|
"Windows. (Contributed by Victor Stinner in :issue:`42802`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:677
|
|
msgid "doctest"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:717 whatsnew/3.10.rst:792
|
|
msgid ""
|
|
"When a module does not define ``__loader__``, fall back to ``__spec__."
|
|
"loader``. (Contributed by Brett Cannon in :issue:`42133`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:683
|
|
msgid "encodings"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:685
|
|
msgid ""
|
|
":func:`encodings.normalize_encoding` now ignores non-ASCII characters. "
|
|
"(Contributed by Hai Shi in :issue:`39337`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:689
|
|
msgid "gc"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:691
|
|
msgid ""
|
|
"Added audit hooks for :func:`gc.get_objects`, :func:`gc.get_referrers` and :"
|
|
"func:`gc.get_referents`. (Contributed by Pablo Galindo in :issue:`43439`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:695
|
|
msgid "glob"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:697
|
|
msgid ""
|
|
"Added the *root_dir* and *dir_fd* parameters in :func:`~glob.glob` and :func:"
|
|
"`~glob.iglob` which allow to specify the root directory for searching. "
|
|
"(Contributed by Serhiy Storchaka in :issue:`38144`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:702
|
|
msgid "importlib.metadata"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:704
|
|
msgid "Feature parity with ``importlib_metadata`` 3.7."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:706
|
|
msgid ""
|
|
":func:`importlib.metadata.entry_points` now provides a nicer experience for "
|
|
"selecting entry points by group and name through a new :class:`importlib."
|
|
"metadata.EntryPoints` class."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:710
|
|
msgid ""
|
|
"Added :func:`importlib.metadata.packages_distributions` for resolving top-"
|
|
"level Python modules and packages to their :class:`importlib.metadata."
|
|
"Distribution`."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:715
|
|
msgid "inspect"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:720
|
|
msgid ""
|
|
"Added *globalns* and *localns* parameters in :func:`~inspect.signature` and :"
|
|
"meth:`inspect.Signature.from_callable` to retrieve the annotations in given "
|
|
"local and global namespaces. (Contributed by Batuhan Taskaya in :issue:"
|
|
"`41960`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:726
|
|
msgid "linecache"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:732
|
|
msgid "os"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:734
|
|
msgid ""
|
|
"Added :func:`os.cpu_count()` support for VxWorks RTOS. (Contributed by "
|
|
"Peixing Xin in :issue:`41440`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:737
|
|
msgid ""
|
|
"Added a new function :func:`os.eventfd` and related helpers to wrap the "
|
|
"``eventfd2`` syscall on Linux. (Contributed by Christian Heimes in :issue:"
|
|
"`41001`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:741
|
|
msgid ""
|
|
"Added :func:`os.splice()` that allows to move data between two file "
|
|
"descriptors without copying between kernel address space and user address "
|
|
"space, where one of the file descriptors must refer to a pipe. (Contributed "
|
|
"by Pablo Galindo in :issue:`41625`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:746
|
|
msgid ""
|
|
"Added :data:`~os.O_EVTONLY`, :data:`~os.O_FSYNC`, :data:`~os.O_SYMLINK` and :"
|
|
"data:`~os.O_NOFOLLOW_ANY` for macOS. (Contributed by Dong-hee Na in :issue:"
|
|
"`43106`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:751
|
|
msgid "pathlib"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:753
|
|
msgid ""
|
|
"Added slice support to :attr:`PurePath.parents <pathlib.PurePath.parents>`. "
|
|
"(Contributed by Joshua Cannon in :issue:`35498`)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:756
|
|
msgid ""
|
|
"Added negative indexing support to :attr:`PurePath.parents <pathlib.PurePath."
|
|
"parents>`. (Contributed by Yaroslav Pankovych in :issue:`21041`)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:761
|
|
msgid "platform"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:763
|
|
msgid ""
|
|
"Added :func:`platform.freedesktop_os_release()` to retrieve operation system "
|
|
"identification from `freedesktop.org os-release <https://www.freedesktop.org/"
|
|
"software/systemd/man/os-release.html>`_ standard file. (Contributed by "
|
|
"Christian Heimes in :issue:`28468`)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:769
|
|
msgid "py_compile"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:771
|
|
msgid ""
|
|
"Added ``--quiet`` option to command-line interface of :mod:`py_compile`. "
|
|
"(Contributed by Gregory Schevchenko in :issue:`38731`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:775
|
|
msgid "pyclbr"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:777
|
|
msgid ""
|
|
"Added an ``end_lineno`` attribute to the ``Function`` and ``Class`` objects "
|
|
"in the tree returned by :func:`pyclbr.readline` and :func:`pyclbr."
|
|
"readline_ex`. It matches the existing (start) ``lineno``. (Contributed by "
|
|
"Aviral Srivastava in :issue:`38307`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:783
|
|
msgid "shelve"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:785
|
|
msgid ""
|
|
"The :mod:`shelve` module now uses :data:`pickle.DEFAULT_PROTOCOL` by default "
|
|
"instead of :mod:`pickle` protocol ``3`` when creating shelves. (Contributed "
|
|
"by Zackery Spytz in :issue:`34204`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:790
|
|
msgid "site"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:796
|
|
msgid "socket"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:798
|
|
msgid ""
|
|
"The exception :exc:`socket.timeout` is now an alias of :exc:`TimeoutError`. "
|
|
"(Contributed by Christian Heimes in :issue:`42413`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:802
|
|
msgid "sys"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:804
|
|
msgid ""
|
|
"Add :data:`sys.orig_argv` attribute: the list of the original command line "
|
|
"arguments passed to the Python executable. (Contributed by Victor Stinner "
|
|
"in :issue:`23427`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:808
|
|
msgid ""
|
|
"Add :data:`sys.stdlib_module_names`, containing the list of the standard "
|
|
"library module names. (Contributed by Victor Stinner in :issue:`42955`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:813
|
|
msgid "_thread"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:815
|
|
msgid ""
|
|
":func:`_thread.interrupt_main` now takes an optional signal number to "
|
|
"simulate (the default is still :data:`signal.SIGINT`). (Contributed by "
|
|
"Antoine Pitrou in :issue:`43356`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:820
|
|
msgid "threading"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:822
|
|
msgid ""
|
|
"Added :func:`threading.gettrace` and :func:`threading.getprofile` to "
|
|
"retrieve the functions set by :func:`threading.settrace` and :func:"
|
|
"`threading.setprofile` respectively. (Contributed by Mario Corchero in :"
|
|
"issue:`42251`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:827
|
|
msgid ""
|
|
"Add :data:`threading.__excepthook__` to allow retrieving the original value "
|
|
"of :func:`threading.excepthook` in case it is set to a broken or a different "
|
|
"value. (Contributed by Mario Corchero in :issue:`42308`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:833
|
|
msgid "traceback"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:835
|
|
msgid ""
|
|
"The :func:`~traceback.format_exception`, :func:`~traceback."
|
|
"format_exception_only`, and :func:`~traceback.print_exception` functions can "
|
|
"now take an exception object as a positional-only argument. (Contributed by "
|
|
"Zackery Spytz and Matthias Bussonnier in :issue:`26389`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:842
|
|
msgid "types"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:844
|
|
msgid ""
|
|
"Reintroduced the :data:`types.EllipsisType`, :data:`types.NoneType` and :"
|
|
"data:`types.NotImplementedType` classes, providing a new set of types "
|
|
"readily interpretable by type checkers. (Contributed by Bas van Beek in :"
|
|
"issue:`41810`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:850
|
|
msgid "typing"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:852
|
|
msgid "For major changes, see `New Features Related to Type Annotations`_."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:854
|
|
msgid ""
|
|
"The behavior of :class:`typing.Literal` was changed to conform with :pep:"
|
|
"`586` and to match the behavior of static type checkers specified in the PEP."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:857
|
|
msgid "``Literal`` now de-duplicates parameters."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:858
|
|
msgid ""
|
|
"Equality comparisons between ``Literal`` objects are now order independent."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:859
|
|
msgid ""
|
|
"``Literal`` comparisons now respects types. For example, ``Literal[0] == "
|
|
"Literal[False]`` previously evaluated to ``True``. It is now ``False``. To "
|
|
"support this change, the internally used type cache now supports "
|
|
"differentiating types."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:863
|
|
msgid ""
|
|
"``Literal`` objects will now raise a :exc:`TypeError` exception during "
|
|
"equality comparisons if one of their parameters are not :term:`immutable`. "
|
|
"Note that declaring ``Literal`` with mutable parameters will not throw an "
|
|
"error::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:875
|
|
msgid "(Contributed by Yurii Karabas in :issue:`42345`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:878
|
|
msgid "unittest"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:880
|
|
msgid ""
|
|
"Add new method :meth:`~unittest.TestCase.assertNoLogs` to complement the "
|
|
"existing :meth:`~unittest.TestCase.assertLogs`. (Contributed by Kit Yan Choi "
|
|
"in :issue:`39385`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:885
|
|
msgid "urllib.parse"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:887
|
|
msgid ""
|
|
"Python versions earlier than Python 3.10 allowed using both ``;`` and ``&`` "
|
|
"as query parameter separators in :func:`urllib.parse.parse_qs` and :func:"
|
|
"`urllib.parse.parse_qsl`. Due to security concerns, and to conform with "
|
|
"newer W3C recommendations, this has been changed to allow only a single "
|
|
"separator key, with ``&`` as the default. This change also affects :func:"
|
|
"`cgi.parse` and :func:`cgi.parse_multipart` as they use the affected "
|
|
"functions internally. For more details, please see their respective "
|
|
"documentation. (Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin "
|
|
"in :issue:`42967`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:898
|
|
msgid "xml"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:900
|
|
msgid ""
|
|
"Add a :class:`~xml.sax.handler.LexicalHandler` class to the :mod:`xml.sax."
|
|
"handler` module. (Contributed by Jonathan Gossage and Zackery Spytz in :"
|
|
"issue:`35018`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:905
|
|
msgid "zipimport"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:906
|
|
msgid ""
|
|
"Add methods related to :pep:`451`: :meth:`~zipimport.zipimporter."
|
|
"find_spec`, :meth:`zipimport.zipimporter.create_module`, and :meth:"
|
|
"`zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon in :issue:"
|
|
"`42131`."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:913
|
|
msgid "Optimizations"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:915
|
|
msgid ""
|
|
"Constructors :func:`str`, :func:`bytes` and :func:`bytearray` are now faster "
|
|
"(around 30--40% for small objects). (Contributed by Serhiy Storchaka in :"
|
|
"issue:`41334`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:919
|
|
msgid ""
|
|
"The :mod:`runpy` module now imports fewer modules. The ``python3 -m module-"
|
|
"name`` command startup time is 1.3x faster in average. (Contributed by "
|
|
"Victor Stinner in :issue:`41006`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:924
|
|
msgid ""
|
|
"The ``LOAD_ATTR`` instruction now uses new \"per opcode cache\" mechanism. "
|
|
"It is about 36% faster now for regular attributes and 44% faster for slots. "
|
|
"(Contributed by Pablo Galindo and Yury Selivanov in :issue:`42093` and Guido "
|
|
"van Rossum in :issue:`42927`, based on ideas implemented originally in PyPy "
|
|
"and MicroPython.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:930
|
|
msgid ""
|
|
"When building Python with ``--enable-optimizations`` now ``-fno-semantic-"
|
|
"interposition`` is added to both the compile and link line. This speeds "
|
|
"builds of the Python interpreter created with ``--enable-shared`` with "
|
|
"``gcc`` by up to 30%. See `this article <https://developers.redhat.com/"
|
|
"blog/2020/06/25/red-hat-enterprise-linux-8-2-brings-faster-python-3-8-run-"
|
|
"speeds/>`_ for more details. (Contributed by Victor Stinner and Pablo "
|
|
"Galindo in :issue:`38980`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:939
|
|
msgid ""
|
|
"Function parameters and their annotations are no longer computed at runtime, "
|
|
"but rather at compilation time. They are stored as a tuple of strings at "
|
|
"the bytecode level. It is now around 2 times faster to create a function "
|
|
"with parameter annotations. (Contributed by Yurii Karabas and Inada Naoki "
|
|
"in :issue:`42202`)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:945
|
|
msgid ""
|
|
"Substring search functions such as ``str1 in str2`` and ``str2.find(str1)`` "
|
|
"now sometimes use Crochemore & Perrin's \"Two-Way\" string searching "
|
|
"algorithm to avoid quadratic behavior on long strings. (Contributed by "
|
|
"Dennis Sweeney in :issue:`41972`)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1304
|
|
msgid "Deprecated"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:953
|
|
msgid ""
|
|
"Starting in this release, there will be a concerted effort to begin cleaning "
|
|
"up old import semantics that were kept for Python 2.7 compatibility. "
|
|
"Specifically, :meth:`~importlib.abc.PathEntryFinder.find_loader`/:meth:"
|
|
"`~importlib.abc.Finder.find_module` (superseded by :meth:`~importlib.abc."
|
|
"Finder.find_spec`), :meth:`~importlib.abc.Loader.load_module` (superseded "
|
|
"by :meth:`~importlib.abc.Loader.exec_module`), :meth:`~importlib.abc.Loader."
|
|
"module_repr` (which the import system takes care of for you), the "
|
|
"``__package__`` attribute (superseded by ``__spec__.parent``), the "
|
|
"``__loader__`` attribute (superseded by ``__spec__.loader``), and the "
|
|
"``__cached__`` attribute (superseded by ``__spec__.cached``) will slowly be "
|
|
"removed (as well as other classes and methods in :mod:`importlib`). :exc:"
|
|
"`ImportWarning` and/or :exc:`DeprecationWarning` will be raised as "
|
|
"appropriate to help identify code which needs updating during this "
|
|
"transition."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:970
|
|
msgid ""
|
|
"The entire ``distutils`` namespace is deprecated, to be removed in Python "
|
|
"3.12. Refer to the :ref:`module changes <distutils-deprecated>` section for "
|
|
"more information."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:974
|
|
msgid ""
|
|
"Non-integer arguments to :func:`random.randrange` are deprecated. The :exc:"
|
|
"`ValueError` is deprecated in favor of a :exc:`TypeError`. (Contributed by "
|
|
"Serhiy Storchaka and Raymond Hettinger in :issue:`37319`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:978
|
|
msgid ""
|
|
"The various ``load_module()`` methods of :mod:`importlib` have been "
|
|
"documented as deprecated since Python 3.6, but will now also trigger a :exc:"
|
|
"`DeprecationWarning`. Use :meth:`~importlib.abc.Loader.exec_module` instead. "
|
|
"(Contributed by Brett Cannon in :issue:`26131`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:984
|
|
msgid ""
|
|
":meth:`zimport.zipimporter.load_module` has been deprecated in preference "
|
|
"for :meth:`~zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon "
|
|
"in :issue:`26131`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:988
|
|
msgid ""
|
|
"The use of :meth:`~importlib.abc.Loader.load_module` by the import system "
|
|
"now triggers an :exc:`ImportWarning` as :meth:`~importlib.abc.Loader."
|
|
"exec_module` is preferred. (Contributed by Brett Cannon in :issue:`26131`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:993
|
|
msgid ""
|
|
"``sqlite3.OptimizedUnicode`` has been undocumented and obsolete since Python "
|
|
"3.3, when it was made an alias to :class:`str`. It is now deprecated, "
|
|
"scheduled for removal in Python 3.12. (Contributed by Erlend E. Aasland in :"
|
|
"issue:`42264`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:998
|
|
msgid ""
|
|
"The undocumented built-in function ``sqlite3.enable_shared_cache`` is now "
|
|
"deprecated, scheduled for removal in Python 3.12. Its use is strongly "
|
|
"discouraged by the SQLite3 documentation. See `the SQLite3 docs <https://"
|
|
"sqlite.org/c3ref/enable_shared_cache.html>`_ for more details. If shared "
|
|
"cache must be used, open the database in URI mode using the ``cache=shared`` "
|
|
"query parameter. (Contributed by Erlend E. Aasland in :issue:`24464`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1312
|
|
msgid "Removed"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1010
|
|
msgid ""
|
|
"Removed special methods ``__int__``, ``__float__``, ``__floordiv__``, "
|
|
"``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` and "
|
|
"``__rdivmod__`` of the :class:`complex` class. They always raised a :exc:"
|
|
"`TypeError`. (Contributed by Serhiy Storchaka in :issue:`41974`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1016
|
|
msgid ""
|
|
"The ``ParserBase.error()`` method from the private and undocumented "
|
|
"``_markupbase`` module has been removed. :class:`html.parser.HTMLParser` is "
|
|
"the only subclass of ``ParserBase`` and its ``error()`` implementation has "
|
|
"already been removed in Python 3.5. (Contributed by Berker Peksag in :issue:"
|
|
"`31844`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1022
|
|
msgid ""
|
|
"Removed the ``unicodedata.ucnhash_CAPI`` attribute which was an internal "
|
|
"PyCapsule object. The related private ``_PyUnicode_Name_CAPI`` structure was "
|
|
"moved to the internal C API. (Contributed by Victor Stinner in :issue:"
|
|
"`42157`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1027
|
|
msgid ""
|
|
"Removed the ``parser`` module, which was deprecated in 3.9 due to the switch "
|
|
"to the new PEG parser, as well as all the C source and header files that "
|
|
"were only being used by the old parser, including ``node.h``, ``parser.h``, "
|
|
"``graminit.h`` and ``grammar.h``."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1032
|
|
msgid ""
|
|
"Removed the Public C API functions :c:func:"
|
|
"`PyParser_SimpleParseStringFlags`, :c:func:"
|
|
"`PyParser_SimpleParseStringFlagsFilename`, :c:func:"
|
|
"`PyParser_SimpleParseFileFlags` and :c:func:`PyNode_Compile` that were "
|
|
"deprecated in 3.9 due to the switch to the new PEG parser."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1037
|
|
msgid ""
|
|
"Removed the ``formatter`` module, which was deprecated in Python 3.4. It is "
|
|
"somewhat obsolete, little used, and not tested. It was originally scheduled "
|
|
"to be removed in Python 3.6, but such removals were delayed until after "
|
|
"Python 2.7 EOL. Existing users should copy whatever classes they use into "
|
|
"their code. (Contributed by Dong-hee Na and Terry J. Reedy in :issue:"
|
|
"`42299`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1044
|
|
msgid ""
|
|
"Removed the :c:func:`PyModule_GetWarningsModule` function that was useless "
|
|
"now due to the _warnings module was converted to a builtin module in 2.6. "
|
|
"(Contributed by Hai Shi in :issue:`42599`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1048
|
|
msgid ""
|
|
"Remove deprecated aliases to :ref:`collections-abstract-base-classes` from "
|
|
"the :mod:`collections` module. (Contributed by Victor Stinner in :issue:"
|
|
"`37324`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1052
|
|
msgid ""
|
|
"The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :"
|
|
"doc:`high-level API <../library/asyncio-api-index>` following deprecation in "
|
|
"Python 3.8. The motivation behind this change is multifold:"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1056
|
|
msgid "This simplifies the high-level API."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1057
|
|
msgid ""
|
|
"The functions in the high-level API have been implicitly getting the current "
|
|
"thread's running event loop since Python 3.7. There isn't a need to pass "
|
|
"the event loop to the API in most normal use cases."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1060
|
|
msgid ""
|
|
"Event loop passing is error-prone especially when dealing with loops running "
|
|
"in different threads."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1063
|
|
msgid ""
|
|
"Note that the low-level API will still accept ``loop``. See `Changes in the "
|
|
"Python API`_ for examples of how to replace existing code."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1125
|
|
msgid ""
|
|
"(Contributed by Yurii Karabas, Andrew Svetlov, Yury Selivanov and Kyle "
|
|
"Stanley in :issue:`42392`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1247
|
|
msgid "Porting to Python 3.10"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1073
|
|
msgid ""
|
|
"This section lists previously described changes and other bugfixes that may "
|
|
"require changes to your code."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1078
|
|
msgid "Changes in the Python API"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1080
|
|
msgid ""
|
|
"The *etype* parameters of the :func:`~traceback.format_exception`, :func:"
|
|
"`~traceback.format_exception_only`, and :func:`~traceback.print_exception` "
|
|
"functions in the :mod:`traceback` module have been renamed to *exc*. "
|
|
"(Contributed by Zackery Spytz and Matthias Bussonnier in :issue:`26389`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1086
|
|
msgid ""
|
|
":mod:`atexit`: At Python exit, if a callback registered with :func:`atexit."
|
|
"register` fails, its exception is now logged. Previously, only some "
|
|
"exceptions were logged, and the last exception was always silently ignored. "
|
|
"(Contributed by Victor Stinner in :issue:`42639`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1092
|
|
msgid ""
|
|
":class:`collections.abc.Callable` generic now flattens type parameters, "
|
|
"similar to what :data:`typing.Callable` currently does. This means that "
|
|
"``collections.abc.Callable[[int, str], str]`` will have ``__args__`` of "
|
|
"``(int, str, str)``; previously this was ``([int, str], str)``. Code which "
|
|
"accesses the arguments via :func:`typing.get_args` or ``__args__`` need to "
|
|
"account for this change. Furthermore, :exc:`TypeError` may be raised for "
|
|
"invalid forms of parameterizing :class:`collections.abc.Callable` which may "
|
|
"have passed silently in Python 3.9. (Contributed by Ken Jin in :issue:"
|
|
"`42195`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1102
|
|
msgid ""
|
|
":meth:`socket.htons` and :meth:`socket.ntohs` now raise :exc:`OverflowError` "
|
|
"instead of :exc:`DeprecationWarning` if the given parameter will not fit in "
|
|
"a 16-bit unsigned integer. (Contributed by Erlend E. Aasland in :issue:"
|
|
"`42393`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1107
|
|
msgid ""
|
|
"The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :"
|
|
"doc:`high-level API <../library/asyncio-api-index>` following deprecation in "
|
|
"Python 3.8."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1111
|
|
msgid "A coroutine that currently look like this::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1116
|
|
msgid "Should be replaced with this::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1121
|
|
msgid ""
|
|
"If ``foo()`` was specifically designed *not* to run in the current thread's "
|
|
"running event loop (e.g. running in another thread's event loop), consider "
|
|
"using :func:`asyncio.run_coroutine_threadsafe` instead."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1128
|
|
msgid ""
|
|
"The :data:`types.FunctionType` constructor now inherits the current builtins "
|
|
"if the *globals* dictionary has no ``\"__builtins__\"`` key, rather than "
|
|
"using ``{\"None\": None}`` as builtins: same behavior as :func:`eval` and :"
|
|
"func:`exec` functions. Defining a function with ``def function(...): ...`` "
|
|
"in Python is not affected, globals cannot be overriden with this syntax: it "
|
|
"also inherits the current builtins. (Contributed by Victor Stinner in :issue:"
|
|
"`42990`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1137
|
|
msgid "CPython bytecode changes"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1139
|
|
msgid ""
|
|
"The ``MAKE_FUNCTION`` instruction accepts tuple of strings as annotations "
|
|
"instead of dictionary. (Contributed by Yurii Karabas and Inada Naoki in :"
|
|
"issue:`42202`)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1144
|
|
msgid "Build Changes"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1146
|
|
msgid ""
|
|
"The C99 functions :c:func:`snprintf` and :c:func:`vsnprintf` are now "
|
|
"required to build Python. (Contributed by Victor Stinner in :issue:`36020`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1150
|
|
msgid ""
|
|
":mod:`sqlite3` requires SQLite 3.7.15 or higher. (Contributed by Sergey "
|
|
"Fedoseev and Erlend E. Aasland :issue:`40744` and :issue:`40810`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1153
|
|
msgid ""
|
|
"The :mod:`atexit` module must now always be built as a built-in module. "
|
|
"(Contributed by Victor Stinner in :issue:`42639`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1156
|
|
msgid ""
|
|
"Added ``--disable-test-modules`` option to the ``configure`` script: don't "
|
|
"build nor install test modules. (Contributed by Xavier de Gaye, Thomas "
|
|
"Petazzoni and Peixing Xin in :issue:`27640`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1160
|
|
msgid ""
|
|
"Add ``--with-wheel-pkg-dir=PATH`` option to the ``./configure`` script. If "
|
|
"specified, the :mod:`ensurepip` module looks for ``setuptools`` and ``pip`` "
|
|
"wheel packages in this directory: if both are present, these wheel packages "
|
|
"are used instead of ensurepip bundled wheel packages."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1165
|
|
msgid ""
|
|
"Some Linux distribution packaging policies recommend against bundling "
|
|
"dependencies. For example, Fedora installs wheel packages in the ``/usr/"
|
|
"share/python-wheels/`` directory and don't install the ``ensurepip."
|
|
"_bundled`` package."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1170
|
|
msgid "(Contributed by Victor Stinner in :issue:`42856`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1172
|
|
msgid ""
|
|
"Add a new configure ``--without-static-libpython`` option to not build the "
|
|
"``libpythonMAJOR.MINOR.a`` static library and not install the ``python.o`` "
|
|
"object file."
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1176
|
|
msgid "(Contributed by Victor Stinner in :issue:`43103`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1178
|
|
msgid ""
|
|
"The ``configure`` script now uses the ``pkg-config`` utility, if available, "
|
|
"to detect the location of Tcl/Tk headers and libraries. As before, those "
|
|
"locations can be explicitly specified with the ``--with-tcltk-includes`` and "
|
|
"``--with-tcltk-libs`` configuration options. (Contributed by Manolis "
|
|
"Stamatogiannakis in :issue:`42603`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1186
|
|
msgid "C API Changes"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1191
|
|
msgid ""
|
|
"The result of :c:func:`PyNumber_Index` now always has exact type :class:"
|
|
"`int`. Previously, the result could have been an instance of a subclass of "
|
|
"``int``. (Contributed by Serhiy Storchaka in :issue:`40792`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1195
|
|
msgid ""
|
|
"Add a new :c:member:`~PyConfig.orig_argv` member to the :c:type:`PyConfig` "
|
|
"structure: the list of the original command line arguments passed to the "
|
|
"Python executable. (Contributed by Victor Stinner in :issue:`23427`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1200
|
|
msgid ""
|
|
"The :c:func:`PyDateTime_DATE_GET_TZINFO` and :c:func:"
|
|
"`PyDateTime_TIME_GET_TZINFO` macros have been added for accessing the "
|
|
"``tzinfo`` attributes of :class:`datetime.datetime` and :class:`datetime."
|
|
"time` objects. (Contributed by Zackery Spytz in :issue:`30155`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1206
|
|
msgid ""
|
|
"Add a :c:func:`PyCodec_Unregister` function to unregister a codec search "
|
|
"function. (Contributed by Hai Shi in :issue:`41842`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1210
|
|
msgid ""
|
|
"The :c:func:`PyIter_Send` function was added to allow sending value into "
|
|
"iterator without raising ``StopIteration`` exception. (Contributed by "
|
|
"Vladimir Matveev in :issue:`41756`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1214
|
|
msgid ""
|
|
"Added :c:func:`PyUnicode_AsUTF8AndSize` to the limited C API. (Contributed "
|
|
"by Alex Gaynor in :issue:`41784`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1217
|
|
msgid ""
|
|
"Added :c:func:`PyModule_AddObjectRef` function: similar to :c:func:"
|
|
"`PyModule_AddObject` but don't steal a reference to the value on success. "
|
|
"(Contributed by Victor Stinner in :issue:`1635741`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1222
|
|
msgid ""
|
|
"Added :c:func:`Py_NewRef` and :c:func:`Py_XNewRef` functions to increment "
|
|
"the reference count of an object and return the object. (Contributed by "
|
|
"Victor Stinner in :issue:`42262`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1226
|
|
msgid ""
|
|
"The :c:func:`PyType_FromSpecWithBases` and :c:func:"
|
|
"`PyType_FromModuleAndSpec` functions now accept a single class as the "
|
|
"*bases* argument. (Contributed by Serhiy Storchaka in :issue:`42423`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1230
|
|
msgid ""
|
|
"The :c:func:`PyType_FromModuleAndSpec` function now accepts NULL ``tp_doc`` "
|
|
"slot. (Contributed by Hai Shi in :issue:`41832`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1234
|
|
msgid ""
|
|
"The :c:func:`PyType_GetSlot` function can accept static types. (Contributed "
|
|
"by Hai Shi and Petr Viktorin in :issue:`41073`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1237
|
|
msgid ""
|
|
"Add a new :c:func:`PySet_CheckExact` function to the C-API to check if an "
|
|
"object is an instance of :class:`set` but not an instance of a subtype. "
|
|
"(Contributed by Pablo Galindo in :issue:`43277`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1241
|
|
msgid ""
|
|
"Added :c:func:`PyErr_SetInterruptEx` which allows passing a signal number to "
|
|
"simulate. (Contributed by Antoine Pitrou in :issue:`43356`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1249
|
|
msgid ""
|
|
"The ``PY_SSIZE_T_CLEAN`` macro must now be defined to use :c:func:"
|
|
"`PyArg_ParseTuple` and :c:func:`Py_BuildValue` formats which use ``#``: "
|
|
"``es#``, ``et#``, ``s#``, ``u#``, ``y#``, ``z#``, ``U#`` and ``Z#``. See :"
|
|
"ref:`Parsing arguments and building values <arg-parsing>` and the :pep:"
|
|
"`353`. (Contributed by Victor Stinner in :issue:`40943`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1256
|
|
msgid ""
|
|
"Since :c:func:`Py_REFCNT()` is changed to the inline static function, "
|
|
"``Py_REFCNT(obj) = new_refcnt`` must be replaced with ``Py_SET_REFCNT(obj, "
|
|
"new_refcnt)``: see :c:func:`Py_SET_REFCNT()` (available since Python 3.9). "
|
|
"For backward compatibility, this macro can be used::"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1265
|
|
msgid "(Contributed by Victor Stinner in :issue:`39573`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1267
|
|
msgid ""
|
|
"Calling :c:func:`PyDict_GetItem` without :term:`GIL` held had been allowed "
|
|
"for historical reason. It is no longer allowed. (Contributed by Victor "
|
|
"Stinner in :issue:`40839`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1271
|
|
msgid ""
|
|
"``PyUnicode_FromUnicode(NULL, size)`` and "
|
|
"``PyUnicode_FromStringAndSize(NULL, size)`` raise ``DeprecationWarning`` "
|
|
"now. Use :c:func:`PyUnicode_New` to allocate Unicode object without initial "
|
|
"data. (Contributed by Inada Naoki in :issue:`36346`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1276
|
|
msgid ""
|
|
"The private ``_PyUnicode_Name_CAPI`` structure of the PyCapsule API "
|
|
"``unicodedata.ucnhash_CAPI`` has been moved to the internal C API. "
|
|
"(Contributed by Victor Stinner in :issue:`42157`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1280
|
|
msgid ""
|
|
":c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, :c:"
|
|
"func:`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome` and :c:func:"
|
|
"`Py_GetProgramName` functions now return ``NULL`` if called before :c:func:"
|
|
"`Py_Initialize` (before Python is initialized). Use the new :ref:`Python "
|
|
"Initialization Configuration API <init-config>` to get the :ref:`Python Path "
|
|
"Configuration. <init-path-config>`. (Contributed by Victor Stinner in :"
|
|
"issue:`42260`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1288
|
|
msgid ""
|
|
":c:func:`PyList_SET_ITEM`, :c:func:`PyTuple_SET_ITEM` and :c:func:"
|
|
"`PyCell_SET` macros can no longer be used as l-value or r-value. For "
|
|
"example, ``x = PyList_SET_ITEM(a, b, c)`` and ``PyList_SET_ITEM(a, b, c) = "
|
|
"x`` now fail with a compiler error. It prevents bugs like ``if "
|
|
"(PyList_SET_ITEM (a, b, c) < 0) ...`` test. (Contributed by Zackery Spytz "
|
|
"and Victor Stinner in :issue:`30459`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1295
|
|
msgid ""
|
|
"The non-limited API files ``odictobject.h``, ``parser_interface.h``, "
|
|
"``picklebufobject.h``, ``pyarena.h``, ``pyctype.h``, ``pydebug.h``, ``pyfpe."
|
|
"h``, and ``pytime.h`` have been moved to the ``Include/cpython`` directory. "
|
|
"These files must not be included directly, as they are already included in "
|
|
"``Python.h``: :ref:`Include Files <api-includes>`. If they have been "
|
|
"included directly, consider including ``Python.h`` instead. (Contributed by "
|
|
"Nicholas Sim in :issue:`35134`)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1306
|
|
msgid ""
|
|
"The ``PyUnicode_InternImmortal()`` function is now deprecated and will be "
|
|
"removed in Python 3.12: use :c:func:`PyUnicode_InternInPlace` instead. "
|
|
"(Contributed by Victor Stinner in :issue:`41692`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1314
|
|
msgid ""
|
|
"``PyObject_AsCharBuffer()``, ``PyObject_AsReadBuffer()``, "
|
|
"``PyObject_CheckReadBuffer()``, and ``PyObject_AsWriteBuffer()`` are "
|
|
"removed. Please migrate to new buffer protocol; :c:func:`PyObject_GetBuffer` "
|
|
"and :c:func:`PyBuffer_Release`. (Contributed by Inada Naoki in :issue:"
|
|
"`41103`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1319
|
|
msgid ""
|
|
"Removed ``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings. "
|
|
"(Contributed by Inada Naoki in :issue:`41123`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1322
|
|
msgid ""
|
|
"``Py_UNICODE_strlen``: use :c:func:`PyUnicode_GetLength` or :c:macro:"
|
|
"`PyUnicode_GET_LENGTH`"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1324
|
|
msgid ""
|
|
"``Py_UNICODE_strcat``: use :c:func:`PyUnicode_CopyCharacters` or :c:func:"
|
|
"`PyUnicode_FromFormat`"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1326
|
|
msgid ""
|
|
"``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy``: use :c:func:"
|
|
"`PyUnicode_CopyCharacters` or :c:func:`PyUnicode_Substring`"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1328
|
|
msgid "``Py_UNICODE_strcmp``: use :c:func:`PyUnicode_Compare`"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1329
|
|
msgid "``Py_UNICODE_strncmp``: use :c:func:`PyUnicode_Tailmatch`"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1330
|
|
msgid ""
|
|
"``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: use :c:func:"
|
|
"`PyUnicode_FindChar`"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1333
|
|
msgid ""
|
|
"Removed ``PyUnicode_GetMax()``. Please migrate to new (:pep:`393`) APIs. "
|
|
"(Contributed by Inada Naoki in :issue:`41103`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1336
|
|
msgid ""
|
|
"Removed ``PyLong_FromUnicode()``. Please migrate to :c:func:"
|
|
"`PyLong_FromUnicodeObject`. (Contributed by Inada Naoki in :issue:`41103`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1339
|
|
msgid ""
|
|
"Removed ``PyUnicode_AsUnicodeCopy()``. Please use :c:func:"
|
|
"`PyUnicode_AsUCS4Copy` or :c:func:`PyUnicode_AsWideCharString` (Contributed "
|
|
"by Inada Naoki in :issue:`41103`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1343
|
|
msgid ""
|
|
"Removed ``_Py_CheckRecursionLimit`` variable: it has been replaced by "
|
|
"``ceval.recursion_limit`` of the :c:type:`PyInterpreterState` structure. "
|
|
"(Contributed by Victor Stinner in :issue:`41834`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1347
|
|
msgid ""
|
|
"Removed undocumented macros ``Py_ALLOW_RECURSION`` and "
|
|
"``Py_END_ALLOW_RECURSION`` and the ``recursion_critical`` field of the :c:"
|
|
"type:`PyInterpreterState` structure. (Contributed by Serhiy Storchaka in :"
|
|
"issue:`41936`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1352
|
|
msgid ""
|
|
"Removed the undocumented ``PyOS_InitInterrupts()`` function. Initializing "
|
|
"Python already implicitly installs signal handlers: see :c:member:`PyConfig."
|
|
"install_signal_handlers`. (Contributed by Victor Stinner in :issue:`41713`.)"
|
|
msgstr ""
|
|
|
|
#: whatsnew/3.10.rst:1357
|
|
msgid ""
|
|
"Remove the ``PyAST_Validate()`` function. It is no longer possible to build "
|
|
"a AST object (``mod_ty`` type) with the public C API. The function was "
|
|
"already excluded from the limited C API (:pep:`384`). (Contributed by Victor "
|
|
"Stinner in :issue:`43244`.)"
|
|
msgstr ""
|