mirror of
https://github.com/python/cpython.git
synced 2024-11-23 01:45:25 +08:00
Python 3.14.0a2
This commit is contained in:
parent
4d771977b1
commit
add43c3420
@ -590,7 +590,7 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate.
|
|||||||
return ``1`` when it's positive and ``0`` otherwise. Else set an
|
return ``1`` when it's positive and ``0`` otherwise. Else set an
|
||||||
exception and return ``-1``.
|
exception and return ``-1``.
|
||||||
|
|
||||||
.. versionadded:: next
|
.. versionadded:: 3.14
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: int PyLong_IsNegative(PyObject *obj)
|
.. c:function:: int PyLong_IsNegative(PyObject *obj)
|
||||||
@ -601,7 +601,7 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate.
|
|||||||
return ``1`` when it's negative and ``0`` otherwise. Else set an
|
return ``1`` when it's negative and ``0`` otherwise. Else set an
|
||||||
exception and return ``-1``.
|
exception and return ``-1``.
|
||||||
|
|
||||||
.. versionadded:: next
|
.. versionadded:: 3.14
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: int PyLong_IsZero(PyObject *obj)
|
.. c:function:: int PyLong_IsZero(PyObject *obj)
|
||||||
@ -612,7 +612,7 @@ distinguished from a number. Use :c:func:`PyErr_Occurred` to disambiguate.
|
|||||||
return ``1`` when it's zero and ``0`` otherwise. Else set an
|
return ``1`` when it's zero and ``0`` otherwise. Else set an
|
||||||
exception and return ``-1``.
|
exception and return ``-1``.
|
||||||
|
|
||||||
.. versionadded:: next
|
.. versionadded:: 3.14
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: PyObject* PyLong_GetInfo(void)
|
.. c:function:: PyObject* PyLong_GetInfo(void)
|
||||||
|
@ -597,5 +597,5 @@ Object Protocol
|
|||||||
This function is intended to be used soon after *obj* is created,
|
This function is intended to be used soon after *obj* is created,
|
||||||
by the code that creates it.
|
by the code that creates it.
|
||||||
|
|
||||||
.. versionadded:: next
|
.. versionadded:: 3.14
|
||||||
|
|
||||||
|
@ -690,7 +690,7 @@ Exception classes
|
|||||||
of a :class:`~concurrent.futures.InterpreterPoolExecutor`
|
of a :class:`~concurrent.futures.InterpreterPoolExecutor`
|
||||||
has failed initializing.
|
has failed initializing.
|
||||||
|
|
||||||
.. versionadded:: next
|
.. versionadded:: 3.14
|
||||||
|
|
||||||
.. exception:: ExecutionFailed
|
.. exception:: ExecutionFailed
|
||||||
|
|
||||||
@ -699,7 +699,7 @@ Exception classes
|
|||||||
:meth:`~concurrent.futures.Executor.submit` when there's an uncaught
|
:meth:`~concurrent.futures.Executor.submit` when there's an uncaught
|
||||||
exception from the submitted task.
|
exception from the submitted task.
|
||||||
|
|
||||||
.. versionadded:: next
|
.. versionadded:: 3.14
|
||||||
|
|
||||||
.. currentmodule:: concurrent.futures.process
|
.. currentmodule:: concurrent.futures.process
|
||||||
|
|
||||||
|
@ -481,7 +481,7 @@ The :mod:`functools` module defines the following functions:
|
|||||||
See :func:`itertools.accumulate` for an iterator that yields all intermediate
|
See :func:`itertools.accumulate` for an iterator that yields all intermediate
|
||||||
values.
|
values.
|
||||||
|
|
||||||
.. versionchanged:: next
|
.. versionchanged:: 3.14
|
||||||
*initial* is now supported as a keyword argument.
|
*initial* is now supported as a keyword argument.
|
||||||
|
|
||||||
.. decorator:: singledispatch
|
.. decorator:: singledispatch
|
||||||
|
@ -67,7 +67,7 @@ this module. The following types are supported:
|
|||||||
* Added format version 4, which supports efficient representations
|
* Added format version 4, which supports efficient representations
|
||||||
of short strings.
|
of short strings.
|
||||||
|
|
||||||
.. versionchanged:: next
|
.. versionchanged:: 3.14
|
||||||
|
|
||||||
Added format version 5, which allows marshalling slices.
|
Added format version 5, which allows marshalling slices.
|
||||||
|
|
||||||
|
@ -261,7 +261,7 @@ process and user.
|
|||||||
:data:`os.environ` or :data:`os.environb`, or calling :func:`os.getenv`
|
:data:`os.environ` or :data:`os.environb`, or calling :func:`os.getenv`
|
||||||
while reloading, may return an empty result.
|
while reloading, may return an empty result.
|
||||||
|
|
||||||
.. versionadded:: next
|
.. versionadded:: 3.14
|
||||||
|
|
||||||
|
|
||||||
.. function:: chdir(path)
|
.. function:: chdir(path)
|
||||||
|
@ -3889,7 +3889,7 @@ copying.
|
|||||||
.. versionchanged:: 3.5
|
.. versionchanged:: 3.5
|
||||||
memoryviews can now be indexed with tuple of integers.
|
memoryviews can now be indexed with tuple of integers.
|
||||||
|
|
||||||
.. versionchanged:: next
|
.. versionchanged:: 3.14
|
||||||
memoryview is now a :term:`generic type`.
|
memoryview is now a :term:`generic type`.
|
||||||
|
|
||||||
:class:`memoryview` has several methods:
|
:class:`memoryview` has several methods:
|
||||||
|
@ -944,7 +944,7 @@ always available.
|
|||||||
This function should be used for specialized purposes only.
|
This function should be used for specialized purposes only.
|
||||||
It is not guaranteed to exist in all implementations of Python.
|
It is not guaranteed to exist in all implementations of Python.
|
||||||
|
|
||||||
.. versionchanged:: next
|
.. versionchanged:: 3.14
|
||||||
|
|
||||||
The result may include objects from other interpreters.
|
The result may include objects from other interpreters.
|
||||||
|
|
||||||
|
@ -84,11 +84,11 @@ The following exceptions are available:
|
|||||||
|
|
||||||
The column corresponding to *pos*.
|
The column corresponding to *pos*.
|
||||||
|
|
||||||
.. versionchanged:: next
|
.. versionchanged:: 3.14
|
||||||
Added the *msg*, *doc* and *pos* parameters.
|
Added the *msg*, *doc* and *pos* parameters.
|
||||||
Added the :attr:`msg`, :attr:`doc`, :attr:`pos`, :attr:`lineno` and :attr:`colno` attributes.
|
Added the :attr:`msg`, :attr:`doc`, :attr:`pos`, :attr:`lineno` and :attr:`colno` attributes.
|
||||||
|
|
||||||
.. deprecated:: next
|
.. deprecated:: 3.14
|
||||||
Passing free-form positional arguments is deprecated.
|
Passing free-form positional arguments is deprecated.
|
||||||
|
|
||||||
|
|
||||||
|
@ -153,7 +153,7 @@ which relays any information about the UUID's safety, using this enumeration:
|
|||||||
The UUID version number (1 through 8, meaningful only when the variant is
|
The UUID version number (1 through 8, meaningful only when the variant is
|
||||||
:const:`RFC_4122`).
|
:const:`RFC_4122`).
|
||||||
|
|
||||||
.. versionchanged:: next
|
.. versionchanged:: 3.14
|
||||||
Added UUID version 8.
|
Added UUID version 8.
|
||||||
|
|
||||||
|
|
||||||
@ -233,7 +233,7 @@ The :mod:`uuid` module defines the following functions:
|
|||||||
non-specified arguments are substituted for a pseudo-random integer of
|
non-specified arguments are substituted for a pseudo-random integer of
|
||||||
appropriate size.
|
appropriate size.
|
||||||
|
|
||||||
.. versionadded:: next
|
.. versionadded:: 3.14
|
||||||
|
|
||||||
.. index:: single: uuid8
|
.. index:: single: uuid8
|
||||||
|
|
||||||
@ -323,7 +323,7 @@ The following options are accepted:
|
|||||||
Specify the function name to use to generate the uuid. By default :func:`uuid4`
|
Specify the function name to use to generate the uuid. By default :func:`uuid4`
|
||||||
is used.
|
is used.
|
||||||
|
|
||||||
.. versionadded:: next
|
.. versionadded:: 3.14
|
||||||
Allow generating UUID version 8.
|
Allow generating UUID version 8.
|
||||||
|
|
||||||
.. option:: -n <namespace>
|
.. option:: -n <namespace>
|
||||||
|
@ -20,10 +20,10 @@
|
|||||||
#define PY_MINOR_VERSION 14
|
#define PY_MINOR_VERSION 14
|
||||||
#define PY_MICRO_VERSION 0
|
#define PY_MICRO_VERSION 0
|
||||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
||||||
#define PY_RELEASE_SERIAL 1
|
#define PY_RELEASE_SERIAL 2
|
||||||
|
|
||||||
/* Version as a string */
|
/* Version as a string */
|
||||||
#define PY_VERSION "3.14.0a1+"
|
#define PY_VERSION "3.14.0a2"
|
||||||
/*--end constants--*/
|
/*--end constants--*/
|
||||||
|
|
||||||
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# Autogenerated by Sphinx on Tue Oct 15 22:34:02 2024
|
# Autogenerated by Sphinx on Tue Nov 19 16:52:22 2024
|
||||||
# as part of the release process.
|
# as part of the release process.
|
||||||
topics = {'assert': 'The "assert" statement\n'
|
topics = {'assert': 'The "assert" statement\n'
|
||||||
'**********************\n'
|
'**********************\n'
|
||||||
@ -29,13 +29,12 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'(command\n'
|
'(command\n'
|
||||||
'line option "-O"). The current code generator emits no code for '
|
'line option "-O"). The current code generator emits no code for '
|
||||||
'an\n'
|
'an\n'
|
||||||
'assert statement when optimization is requested at compile time. '
|
'"assert" statement when optimization is requested at compile '
|
||||||
'Note\n'
|
'time.\n'
|
||||||
'that it is unnecessary to include the source code for the '
|
'Note that it is unnecessary to include the source code for the\n'
|
||||||
'expression\n'
|
'expression that failed in the error message; it will be displayed '
|
||||||
'that failed in the error message; it will be displayed as part of '
|
'as\n'
|
||||||
'the\n'
|
'part of the stack trace.\n'
|
||||||
'stack trace.\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'Assignments to "__debug__" are illegal. The value for the '
|
'Assignments to "__debug__" are illegal. The value for the '
|
||||||
'built-in\n'
|
'built-in\n'
|
||||||
@ -713,7 +712,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'should either\n'
|
'should either\n'
|
||||||
' return the (computed) attribute value or raise an '
|
' return the (computed) attribute value or raise an '
|
||||||
'"AttributeError"\n'
|
'"AttributeError"\n'
|
||||||
' exception.\n'
|
' exception. The "object" class itself does not provide '
|
||||||
|
'this method.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Note that if the attribute is found through the '
|
' Note that if the attribute is found through the '
|
||||||
'normal mechanism,\n'
|
'normal mechanism,\n'
|
||||||
@ -896,7 +896,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'parents). In the\n'
|
'parents). In the\n'
|
||||||
'examples below, “the attribute” refers to the attribute '
|
'examples below, “the attribute” refers to the attribute '
|
||||||
'whose name is\n'
|
'whose name is\n'
|
||||||
'the key of the property in the owner class’ "__dict__".\n'
|
'the key of the property in the owner class’ "__dict__". '
|
||||||
|
'The "object"\n'
|
||||||
|
'class itself does not implement any of these protocols.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'object.__get__(self, instance, owner=None)\n'
|
'object.__get__(self, instance, owner=None)\n'
|
||||||
'\n'
|
'\n'
|
||||||
@ -1569,7 +1571,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
' Called when the instance is “called” as a function; if '
|
' Called when the instance is “called” as a function; if '
|
||||||
'this method\n'
|
'this method\n'
|
||||||
' is defined, "x(arg1, arg2, ...)" roughly translates to\n'
|
' is defined, "x(arg1, arg2, ...)" roughly translates to\n'
|
||||||
' "type(x).__call__(x, arg1, ...)".\n',
|
' "type(x).__call__(x, arg1, ...)". The "object" class '
|
||||||
|
'itself does\n'
|
||||||
|
' not provide this method.\n',
|
||||||
'calls': 'Calls\n'
|
'calls': 'Calls\n'
|
||||||
'*****\n'
|
'*****\n'
|
||||||
'\n'
|
'\n'
|
||||||
@ -1754,6 +1758,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
' Function definitions. When the code block executes a "return"\n'
|
' Function definitions. When the code block executes a "return"\n'
|
||||||
' statement, this specifies the return value of the function '
|
' statement, this specifies the return value of the function '
|
||||||
'call.\n'
|
'call.\n'
|
||||||
|
' If execution reaches the end of the code block without executing '
|
||||||
|
'a\n'
|
||||||
|
' "return" statement, the return value is "None".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'a built-in function or method:\n'
|
'a built-in function or method:\n'
|
||||||
' The result is up to the interpreter; see Built-in Functions for '
|
' The result is up to the interpreter; see Built-in Functions for '
|
||||||
@ -2802,18 +2809,15 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
' enter = type(manager).__enter__\n'
|
' enter = type(manager).__enter__\n'
|
||||||
' exit = type(manager).__exit__\n'
|
' exit = type(manager).__exit__\n'
|
||||||
' value = enter(manager)\n'
|
' value = enter(manager)\n'
|
||||||
' hit_except = False\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
' try:\n'
|
' try:\n'
|
||||||
' TARGET = value\n'
|
' TARGET = value\n'
|
||||||
' SUITE\n'
|
' SUITE\n'
|
||||||
' except:\n'
|
' except:\n'
|
||||||
' hit_except = True\n'
|
|
||||||
' if not exit(manager, *sys.exc_info()):\n'
|
' if not exit(manager, *sys.exc_info()):\n'
|
||||||
' raise\n'
|
' raise\n'
|
||||||
' finally:\n'
|
' else:\n'
|
||||||
' if not hit_except:\n'
|
' exit(manager, None, None, None)\n'
|
||||||
' exit(manager, None, None, None)\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'With more than one item, the context managers are processed as '
|
'With more than one item, the context managers are processed as '
|
||||||
'if\n'
|
'if\n'
|
||||||
@ -4495,6 +4499,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'\n'
|
'\n'
|
||||||
'For more information on context managers, see Context '
|
'For more information on context managers, see Context '
|
||||||
'Manager Types.\n'
|
'Manager Types.\n'
|
||||||
|
'The "object" class itself does not provide the context '
|
||||||
|
'manager\n'
|
||||||
|
'methods.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'object.__enter__(self)\n'
|
'object.__enter__(self)\n'
|
||||||
'\n'
|
'\n'
|
||||||
@ -4764,17 +4771,20 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'\n'
|
'\n'
|
||||||
' This is typically used for debugging, so it is important '
|
' This is typically used for debugging, so it is important '
|
||||||
'that the\n'
|
'that the\n'
|
||||||
' representation is information-rich and unambiguous.\n'
|
' representation is information-rich and unambiguous. A '
|
||||||
|
'default\n'
|
||||||
|
' implementation is provided by the "object" class '
|
||||||
|
'itself.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'object.__str__(self)\n'
|
'object.__str__(self)\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Called by "str(object)" and the built-in functions '
|
' Called by "str(object)", the default "__format__()" '
|
||||||
'"format()" and\n'
|
'implementation,\n'
|
||||||
' "print()" to compute the “informal” or nicely printable '
|
' and the built-in function "print()", to compute the '
|
||||||
'string\n'
|
'“informal” or\n'
|
||||||
' representation of an object. The return value must be a '
|
' nicely printable string representation of an object. '
|
||||||
'string\n'
|
'The return\n'
|
||||||
' object.\n'
|
' value must be a str object.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' This method differs from "object.__repr__()" in that '
|
' This method differs from "object.__repr__()" in that '
|
||||||
'there is no\n'
|
'there is no\n'
|
||||||
@ -4790,7 +4800,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'\n'
|
'\n'
|
||||||
' Called by bytes to compute a byte-string representation '
|
' Called by bytes to compute a byte-string representation '
|
||||||
'of an\n'
|
'of an\n'
|
||||||
' object. This should return a "bytes" object.\n'
|
' object. This should return a "bytes" object. The '
|
||||||
|
'"object" class\n'
|
||||||
|
' itself does not provide this method.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'object.__format__(self, format_spec)\n'
|
'object.__format__(self, format_spec)\n'
|
||||||
'\n'
|
'\n'
|
||||||
@ -4818,6 +4830,11 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'\n'
|
'\n'
|
||||||
' The return value must be a string object.\n'
|
' The return value must be a string object.\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
' The default implementation by the "object" class should '
|
||||||
|
'be given an\n'
|
||||||
|
' empty *format_spec* string. It delegates to '
|
||||||
|
'"__str__()".\n'
|
||||||
|
'\n'
|
||||||
' Changed in version 3.4: The __format__ method of '
|
' Changed in version 3.4: The __format__ method of '
|
||||||
'"object" itself\n'
|
'"object" itself\n'
|
||||||
' raises a "TypeError" if passed any non-empty string.\n'
|
' raises a "TypeError" if passed any non-empty string.\n'
|
||||||
@ -4875,6 +4892,16 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
' ordering operations from a single root operation, see\n'
|
' ordering operations from a single root operation, see\n'
|
||||||
' "functools.total_ordering()".\n'
|
' "functools.total_ordering()".\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
' By default, the "object" class provides implementations '
|
||||||
|
'consistent\n'
|
||||||
|
' with Value comparisons: equality compares according to '
|
||||||
|
'object\n'
|
||||||
|
' identity, and order comparisons raise "TypeError". Each '
|
||||||
|
'default\n'
|
||||||
|
' method may generate these results directly, but may also '
|
||||||
|
'return\n'
|
||||||
|
' "NotImplemented".\n'
|
||||||
|
'\n'
|
||||||
' See the paragraph on "__hash__()" for some important '
|
' See the paragraph on "__hash__()" for some important '
|
||||||
'notes on\n'
|
'notes on\n'
|
||||||
' creating *hashable* objects which support custom '
|
' creating *hashable* objects which support custom '
|
||||||
@ -4961,12 +4988,13 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'\n'
|
'\n'
|
||||||
' User-defined classes have "__eq__()" and "__hash__()" '
|
' User-defined classes have "__eq__()" and "__hash__()" '
|
||||||
'methods by\n'
|
'methods by\n'
|
||||||
' default; with them, all objects compare unequal (except '
|
' default (inherited from the "object" class); with them, '
|
||||||
'with\n'
|
'all objects\n'
|
||||||
' themselves) and "x.__hash__()" returns an appropriate '
|
' compare unequal (except with themselves) and '
|
||||||
'value such\n'
|
'"x.__hash__()" returns\n'
|
||||||
' that "x == y" implies both that "x is y" and "hash(x) == '
|
' an appropriate value such that "x == y" implies both '
|
||||||
'hash(y)".\n'
|
'that "x is y"\n'
|
||||||
|
' and "hash(x) == hash(y)".\n'
|
||||||
'\n'
|
'\n'
|
||||||
' A class that overrides "__eq__()" and does not define '
|
' A class that overrides "__eq__()" and does not define '
|
||||||
'"__hash__()"\n'
|
'"__hash__()"\n'
|
||||||
@ -5037,9 +5065,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'the object is\n'
|
'the object is\n'
|
||||||
' considered true if its result is nonzero. If a class '
|
' considered true if its result is nonzero. If a class '
|
||||||
'defines\n'
|
'defines\n'
|
||||||
' neither "__len__()" nor "__bool__()", all its instances '
|
' neither "__len__()" nor "__bool__()" (which is true of '
|
||||||
'are\n'
|
'the "object"\n'
|
||||||
' considered true.\n',
|
' class itself), all its instances are considered true.\n',
|
||||||
'debugger': '"pdb" — The Python Debugger\n'
|
'debugger': '"pdb" — The Python Debugger\n'
|
||||||
'***************************\n'
|
'***************************\n'
|
||||||
'\n'
|
'\n'
|
||||||
@ -7038,10 +7066,12 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'printing fields |\n'
|
'printing fields |\n'
|
||||||
'| | in the form ‘+000000120’. This alignment '
|
'| | in the form ‘+000000120’. This alignment '
|
||||||
'option is only |\n'
|
'option is only |\n'
|
||||||
'| | valid for numeric types. It becomes the '
|
'| | valid for numeric types, excluding "complex". '
|
||||||
'default for |\n'
|
'It becomes |\n'
|
||||||
'| | numbers when ‘0’ immediately precedes the '
|
'| | the default for numbers when ‘0’ immediately '
|
||||||
'field width. |\n'
|
'precedes the |\n'
|
||||||
|
'| | field '
|
||||||
|
'width. |\n'
|
||||||
'+-----------+------------------------------------------------------------+\n'
|
'+-----------+------------------------------------------------------------+\n'
|
||||||
'| "\'^\'" | Forces the field to be centered within the '
|
'| "\'^\'" | Forces the field to be centered within the '
|
||||||
'available |\n'
|
'available |\n'
|
||||||
@ -7148,9 +7178,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'field by a\n'
|
'field by a\n'
|
||||||
'zero ("\'0\'") character enables sign-aware zero-padding '
|
'zero ("\'0\'") character enables sign-aware zero-padding '
|
||||||
'for numeric\n'
|
'for numeric\n'
|
||||||
'types. This is equivalent to a *fill* character of "\'0\'" '
|
'types, excluding "complex". This is equivalent to a *fill* '
|
||||||
'with an\n'
|
'character\n'
|
||||||
'*alignment* type of "\'=\'".\n'
|
'of "\'0\'" with an *alignment* type of "\'=\'".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Changed in version 3.10: Preceding the *width* field by '
|
'Changed in version 3.10: Preceding the *width* field by '
|
||||||
'"\'0\'" no\n'
|
'"\'0\'" no\n'
|
||||||
@ -7416,6 +7446,32 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
' '
|
' '
|
||||||
'+-----------+------------------------------------------------------------+\n'
|
'+-----------+------------------------------------------------------------+\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
'The result should be correctly rounded to a given precision '
|
||||||
|
'"p" of\n'
|
||||||
|
'digits after the decimal point. The rounding mode for '
|
||||||
|
'"float" matches\n'
|
||||||
|
'that of the "round()" builtin. For "Decimal", the rounding '
|
||||||
|
'mode of\n'
|
||||||
|
'the current context will be used.\n'
|
||||||
|
'\n'
|
||||||
|
'The available presentation types for "complex" are the same '
|
||||||
|
'as those\n'
|
||||||
|
'for "float" ("\'%\'" is not allowed). Both the real and '
|
||||||
|
'imaginary\n'
|
||||||
|
'components of a complex number are formatted as '
|
||||||
|
'floating-point\n'
|
||||||
|
'numbers, according to the specified presentation type. '
|
||||||
|
'They are\n'
|
||||||
|
'separated by the mandatory sign of the imaginary part, the '
|
||||||
|
'latter\n'
|
||||||
|
'being terminated by a "j" suffix. If the presentation type '
|
||||||
|
'is\n'
|
||||||
|
'missing, the result will match the output of "str()" '
|
||||||
|
'(complex numbers\n'
|
||||||
|
'with a non-zero real part are also surrounded by '
|
||||||
|
'parentheses),\n'
|
||||||
|
'possibly altered by other format modifiers.\n'
|
||||||
|
'\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Format examples\n'
|
'Format examples\n'
|
||||||
'===============\n'
|
'===============\n'
|
||||||
@ -7800,33 +7856,17 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'\n'
|
'\n'
|
||||||
' global_stmt ::= "global" identifier ("," identifier)*\n'
|
' global_stmt ::= "global" identifier ("," identifier)*\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The "global" statement is a declaration which holds for the '
|
'The "global" statement causes the listed identifiers to be '
|
||||||
'entire\n'
|
'interpreted\n'
|
||||||
'current code block. It means that the listed identifiers are to '
|
'as globals. It would be impossible to assign to a global variable\n'
|
||||||
'be\n'
|
'without "global", although free variables may refer to globals '
|
||||||
'interpreted as globals. It would be impossible to assign to a '
|
'without\n'
|
||||||
'global\n'
|
'being declared global.\n'
|
||||||
'variable without "global", although free variables may refer to\n'
|
|
||||||
'globals without being declared global.\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'Names listed in a "global" statement must not be used in the same '
|
'The "global" statement applies to the entire scope of a function '
|
||||||
'code\n'
|
'or\n'
|
||||||
'block textually preceding that "global" statement.\n'
|
'class body. A "SyntaxError" is raised if a variable is used or\n'
|
||||||
'\n'
|
'assigned to prior to its global declaration in the scope.\n'
|
||||||
'Names listed in a "global" statement must not be defined as '
|
|
||||||
'formal\n'
|
|
||||||
'parameters, or as targets in "with" statements or "except" '
|
|
||||||
'clauses, or\n'
|
|
||||||
'in a "for" target list, "class" definition, function definition,\n'
|
|
||||||
'"import" statement, or *variable annotations*.\n'
|
|
||||||
'\n'
|
|
||||||
'**CPython implementation detail:** The current implementation does '
|
|
||||||
'not\n'
|
|
||||||
'enforce some of these restrictions, but programs should not abuse '
|
|
||||||
'this\n'
|
|
||||||
'freedom, as future implementations may enforce them or silently '
|
|
||||||
'change\n'
|
|
||||||
'the meaning of the program.\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'**Programmer’s note:** "global" is a directive to the parser. It\n'
|
'**Programmer’s note:** "global" is a directive to the parser. It\n'
|
||||||
'applies only to code parsed at the same time as the "global"\n'
|
'applies only to code parsed at the same time as the "global"\n'
|
||||||
@ -8896,8 +8936,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'scope,\n'
|
'scope,\n'
|
||||||
'or if there is no nonlocal scope, a "SyntaxError" is raised.\n'
|
'or if there is no nonlocal scope, a "SyntaxError" is raised.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The nonlocal statement applies to the entire scope of a function '
|
'The "nonlocal" statement applies to the entire scope of a '
|
||||||
'or\n'
|
'function or\n'
|
||||||
'class body. A "SyntaxError" is raised if a variable is used or\n'
|
'class body. A "SyntaxError" is raised if a variable is used or\n'
|
||||||
'assigned to prior to its nonlocal declaration in the scope.\n'
|
'assigned to prior to its nonlocal declaration in the scope.\n'
|
||||||
'\n'
|
'\n'
|
||||||
@ -8996,17 +9036,21 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'"divmod()",\n'
|
'"divmod()",\n'
|
||||||
' "pow()", "**", "<<", ">>", "&", "^", "|") with reflected '
|
' "pow()", "**", "<<", ">>", "&", "^", "|") with reflected '
|
||||||
'(swapped)\n'
|
'(swapped)\n'
|
||||||
' operands. These functions are only called if the left '
|
' operands. These functions are only called if the '
|
||||||
'operand does\n'
|
|
||||||
' not support the corresponding operation [3] and the '
|
|
||||||
'operands are of\n'
|
'operands are of\n'
|
||||||
' different types. [4] For instance, to evaluate the '
|
' different types, when the left operand does not support '
|
||||||
'expression "x -\n'
|
'the\n'
|
||||||
' y", where *y* is an instance of a class that has an '
|
' corresponding operation [3], or the right operand’s '
|
||||||
'"__rsub__()"\n'
|
'class is\n'
|
||||||
' method, "type(y).__rsub__(y, x)" is called if '
|
' derived from the left operand’s class. [4] For instance, '
|
||||||
'"type(x).__sub__(x,\n'
|
'to\n'
|
||||||
' y)" returns "NotImplemented".\n'
|
' evaluate the expression "x - y", where *y* is an '
|
||||||
|
'instance of a\n'
|
||||||
|
' class that has an "__rsub__()" method, '
|
||||||
|
'"type(y).__rsub__(y, x)" is\n'
|
||||||
|
' called if "type(x).__sub__(x, y)" returns '
|
||||||
|
'"NotImplemented" or\n'
|
||||||
|
' "type(y)" is a subclass of "type(x)". [5]\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Note that ternary "pow()" will not try calling '
|
' Note that ternary "pow()" will not try calling '
|
||||||
'"__rpow__()" (the\n'
|
'"__rpow__()" (the\n'
|
||||||
@ -9651,56 +9695,58 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'\n'
|
'\n'
|
||||||
'The following methods can be defined to implement '
|
'The following methods can be defined to implement '
|
||||||
'container objects.\n'
|
'container objects.\n'
|
||||||
'Containers usually are *sequences* (such as "lists" or '
|
'None of them are provided by the "object" class itself. '
|
||||||
'"tuples") or\n'
|
'Containers\n'
|
||||||
'*mappings* (like "dictionaries"), but can represent other '
|
'usually are *sequences* (such as "lists" or "tuples") or '
|
||||||
'containers\n'
|
'*mappings*\n'
|
||||||
'as well. The first set of methods is used either to '
|
'(like *dictionaries*), but can represent other containers '
|
||||||
'emulate a\n'
|
'as well.\n'
|
||||||
'sequence or to emulate a mapping; the difference is that '
|
'The first set of methods is used either to emulate a '
|
||||||
'for a\n'
|
'sequence or to\n'
|
||||||
'sequence, the allowable keys should be the integers *k* '
|
'emulate a mapping; the difference is that for a sequence, '
|
||||||
'for which "0\n'
|
'the\n'
|
||||||
'<= k < N" where *N* is the length of the sequence, or '
|
'allowable keys should be the integers *k* for which "0 <= '
|
||||||
'"slice" objects,\n'
|
'k < N" where\n'
|
||||||
'which define a range of items. It is also recommended '
|
'*N* is the length of the sequence, or "slice" objects, '
|
||||||
'that mappings\n'
|
'which define a\n'
|
||||||
'provide the methods "keys()", "values()", "items()", '
|
'range of items. It is also recommended that mappings '
|
||||||
'"get()",\n'
|
'provide the\n'
|
||||||
'"clear()", "setdefault()", "pop()", "popitem()", "copy()", '
|
'methods "keys()", "values()", "items()", "get()", '
|
||||||
|
'"clear()",\n'
|
||||||
|
'"setdefault()", "pop()", "popitem()", "copy()", and '
|
||||||
|
'"update()"\n'
|
||||||
|
'behaving similar to those for Python’s standard '
|
||||||
|
'"dictionary" objects.\n'
|
||||||
|
'The "collections.abc" module provides a "MutableMapping" '
|
||||||
|
'*abstract\n'
|
||||||
|
'base class* to help create those methods from a base set '
|
||||||
|
'of\n'
|
||||||
|
'"__getitem__()", "__setitem__()", "__delitem__()", and '
|
||||||
|
'"keys()".\n'
|
||||||
|
'Mutable sequences should provide methods "append()", '
|
||||||
|
'"count()",\n'
|
||||||
|
'"index()", "extend()", "insert()", "pop()", "remove()", '
|
||||||
|
'"reverse()"\n'
|
||||||
|
'and "sort()", like Python standard "list" objects. '
|
||||||
|
'Finally, sequence\n'
|
||||||
|
'types should implement addition (meaning concatenation) '
|
||||||
'and\n'
|
'and\n'
|
||||||
'"update()" behaving similar to those for Python’s '
|
'multiplication (meaning repetition) by defining the '
|
||||||
'standard\n'
|
'methods\n'
|
||||||
'"dictionary" objects. The "collections.abc" module '
|
'"__add__()", "__radd__()", "__iadd__()", "__mul__()", '
|
||||||
'provides a\n'
|
'"__rmul__()" and\n'
|
||||||
'"MutableMapping" *abstract base class* to help create '
|
'"__imul__()" described below; they should not define other '
|
||||||
'those methods\n'
|
'numerical\n'
|
||||||
'from a base set of "__getitem__()", "__setitem__()", '
|
'operators. It is recommended that both mappings and '
|
||||||
'"__delitem__()",\n'
|
'sequences\n'
|
||||||
'and "keys()". Mutable sequences should provide methods '
|
'implement the "__contains__()" method to allow efficient '
|
||||||
'"append()",\n'
|
'use of the\n'
|
||||||
'"count()", "index()", "extend()", "insert()", "pop()", '
|
'"in" operator; for mappings, "in" should search the '
|
||||||
'"remove()",\n'
|
'mapping’s keys;\n'
|
||||||
'"reverse()" and "sort()", like Python standard "list" '
|
'for sequences, it should search through the values. It is '
|
||||||
'objects.\n'
|
'further\n'
|
||||||
'Finally, sequence types should implement addition '
|
'recommended that both mappings and sequences implement '
|
||||||
'(meaning\n'
|
'the\n'
|
||||||
'concatenation) and multiplication (meaning repetition) by '
|
|
||||||
'defining the\n'
|
|
||||||
'methods "__add__()", "__radd__()", "__iadd__()", '
|
|
||||||
'"__mul__()",\n'
|
|
||||||
'"__rmul__()" and "__imul__()" described below; they should '
|
|
||||||
'not define\n'
|
|
||||||
'other numerical operators. It is recommended that both '
|
|
||||||
'mappings and\n'
|
|
||||||
'sequences implement the "__contains__()" method to allow '
|
|
||||||
'efficient use\n'
|
|
||||||
'of the "in" operator; for mappings, "in" should search the '
|
|
||||||
'mapping’s\n'
|
|
||||||
'keys; for sequences, it should search through the values. '
|
|
||||||
'It is\n'
|
|
||||||
'further recommended that both mappings and sequences '
|
|
||||||
'implement the\n'
|
|
||||||
'"__iter__()" method to allow efficient iteration through '
|
'"__iter__()" method to allow efficient iteration through '
|
||||||
'the\n'
|
'the\n'
|
||||||
'container; for mappings, "__iter__()" should iterate '
|
'container; for mappings, "__iter__()" should iterate '
|
||||||
@ -10240,17 +10286,19 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'\n'
|
'\n'
|
||||||
' This is typically used for debugging, so it is important '
|
' This is typically used for debugging, so it is important '
|
||||||
'that the\n'
|
'that the\n'
|
||||||
' representation is information-rich and unambiguous.\n'
|
' representation is information-rich and unambiguous. A '
|
||||||
|
'default\n'
|
||||||
|
' implementation is provided by the "object" class itself.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'object.__str__(self)\n'
|
'object.__str__(self)\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Called by "str(object)" and the built-in functions '
|
' Called by "str(object)", the default "__format__()" '
|
||||||
'"format()" and\n'
|
'implementation,\n'
|
||||||
' "print()" to compute the “informal” or nicely printable '
|
' and the built-in function "print()", to compute the '
|
||||||
'string\n'
|
'“informal” or\n'
|
||||||
' representation of an object. The return value must be a '
|
' nicely printable string representation of an object. The '
|
||||||
'string\n'
|
'return\n'
|
||||||
' object.\n'
|
' value must be a str object.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' This method differs from "object.__repr__()" in that '
|
' This method differs from "object.__repr__()" in that '
|
||||||
'there is no\n'
|
'there is no\n'
|
||||||
@ -10266,7 +10314,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'\n'
|
'\n'
|
||||||
' Called by bytes to compute a byte-string representation '
|
' Called by bytes to compute a byte-string representation '
|
||||||
'of an\n'
|
'of an\n'
|
||||||
' object. This should return a "bytes" object.\n'
|
' object. This should return a "bytes" object. The "object" '
|
||||||
|
'class\n'
|
||||||
|
' itself does not provide this method.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'object.__format__(self, format_spec)\n'
|
'object.__format__(self, format_spec)\n'
|
||||||
'\n'
|
'\n'
|
||||||
@ -10294,6 +10344,10 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'\n'
|
'\n'
|
||||||
' The return value must be a string object.\n'
|
' The return value must be a string object.\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
' The default implementation by the "object" class should '
|
||||||
|
'be given an\n'
|
||||||
|
' empty *format_spec* string. It delegates to "__str__()".\n'
|
||||||
|
'\n'
|
||||||
' Changed in version 3.4: The __format__ method of "object" '
|
' Changed in version 3.4: The __format__ method of "object" '
|
||||||
'itself\n'
|
'itself\n'
|
||||||
' raises a "TypeError" if passed any non-empty string.\n'
|
' raises a "TypeError" if passed any non-empty string.\n'
|
||||||
@ -10351,6 +10405,16 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
' ordering operations from a single root operation, see\n'
|
' ordering operations from a single root operation, see\n'
|
||||||
' "functools.total_ordering()".\n'
|
' "functools.total_ordering()".\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
' By default, the "object" class provides implementations '
|
||||||
|
'consistent\n'
|
||||||
|
' with Value comparisons: equality compares according to '
|
||||||
|
'object\n'
|
||||||
|
' identity, and order comparisons raise "TypeError". Each '
|
||||||
|
'default\n'
|
||||||
|
' method may generate these results directly, but may also '
|
||||||
|
'return\n'
|
||||||
|
' "NotImplemented".\n'
|
||||||
|
'\n'
|
||||||
' See the paragraph on "__hash__()" for some important '
|
' See the paragraph on "__hash__()" for some important '
|
||||||
'notes on\n'
|
'notes on\n'
|
||||||
' creating *hashable* objects which support custom '
|
' creating *hashable* objects which support custom '
|
||||||
@ -10436,12 +10500,13 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'\n'
|
'\n'
|
||||||
' User-defined classes have "__eq__()" and "__hash__()" '
|
' User-defined classes have "__eq__()" and "__hash__()" '
|
||||||
'methods by\n'
|
'methods by\n'
|
||||||
' default; with them, all objects compare unequal (except '
|
' default (inherited from the "object" class); with them, '
|
||||||
'with\n'
|
'all objects\n'
|
||||||
' themselves) and "x.__hash__()" returns an appropriate '
|
' compare unequal (except with themselves) and '
|
||||||
'value such\n'
|
'"x.__hash__()" returns\n'
|
||||||
' that "x == y" implies both that "x is y" and "hash(x) == '
|
' an appropriate value such that "x == y" implies both that '
|
||||||
'hash(y)".\n'
|
'"x is y"\n'
|
||||||
|
' and "hash(x) == hash(y)".\n'
|
||||||
'\n'
|
'\n'
|
||||||
' A class that overrides "__eq__()" and does not define '
|
' A class that overrides "__eq__()" and does not define '
|
||||||
'"__hash__()"\n'
|
'"__hash__()"\n'
|
||||||
@ -10510,9 +10575,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'object is\n'
|
'object is\n'
|
||||||
' considered true if its result is nonzero. If a class '
|
' considered true if its result is nonzero. If a class '
|
||||||
'defines\n'
|
'defines\n'
|
||||||
' neither "__len__()" nor "__bool__()", all its instances '
|
' neither "__len__()" nor "__bool__()" (which is true of '
|
||||||
'are\n'
|
'the "object"\n'
|
||||||
' considered true.\n'
|
' class itself), all its instances are considered true.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Customizing attribute access\n'
|
'Customizing attribute access\n'
|
||||||
@ -10536,7 +10601,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'either\n'
|
'either\n'
|
||||||
' return the (computed) attribute value or raise an '
|
' return the (computed) attribute value or raise an '
|
||||||
'"AttributeError"\n'
|
'"AttributeError"\n'
|
||||||
' exception.\n'
|
' exception. The "object" class itself does not provide '
|
||||||
|
'this method.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Note that if the attribute is found through the normal '
|
' Note that if the attribute is found through the normal '
|
||||||
'mechanism,\n'
|
'mechanism,\n'
|
||||||
@ -10716,7 +10782,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'parents). In the\n'
|
'parents). In the\n'
|
||||||
'examples below, “the attribute” refers to the attribute '
|
'examples below, “the attribute” refers to the attribute '
|
||||||
'whose name is\n'
|
'whose name is\n'
|
||||||
'the key of the property in the owner class’ "__dict__".\n'
|
'the key of the property in the owner class’ "__dict__". The '
|
||||||
|
'"object"\n'
|
||||||
|
'class itself does not implement any of these protocols.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'object.__get__(self, instance, owner=None)\n'
|
'object.__get__(self, instance, owner=None)\n'
|
||||||
'\n'
|
'\n'
|
||||||
@ -11599,7 +11667,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
' Called when the instance is “called” as a function; if '
|
' Called when the instance is “called” as a function; if '
|
||||||
'this method\n'
|
'this method\n'
|
||||||
' is defined, "x(arg1, arg2, ...)" roughly translates to\n'
|
' is defined, "x(arg1, arg2, ...)" roughly translates to\n'
|
||||||
' "type(x).__call__(x, arg1, ...)".\n'
|
' "type(x).__call__(x, arg1, ...)". The "object" class '
|
||||||
|
'itself does\n'
|
||||||
|
' not provide this method.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Emulating container types\n'
|
'Emulating container types\n'
|
||||||
@ -11607,54 +11677,54 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'\n'
|
'\n'
|
||||||
'The following methods can be defined to implement container '
|
'The following methods can be defined to implement container '
|
||||||
'objects.\n'
|
'objects.\n'
|
||||||
'Containers usually are *sequences* (such as "lists" or '
|
'None of them are provided by the "object" class itself. '
|
||||||
'"tuples") or\n'
|
'Containers\n'
|
||||||
'*mappings* (like "dictionaries"), but can represent other '
|
'usually are *sequences* (such as "lists" or "tuples") or '
|
||||||
'containers\n'
|
'*mappings*\n'
|
||||||
'as well. The first set of methods is used either to emulate '
|
'(like *dictionaries*), but can represent other containers as '
|
||||||
'a\n'
|
'well.\n'
|
||||||
'sequence or to emulate a mapping; the difference is that for '
|
'The first set of methods is used either to emulate a '
|
||||||
'a\n'
|
'sequence or to\n'
|
||||||
'sequence, the allowable keys should be the integers *k* for '
|
'emulate a mapping; the difference is that for a sequence, '
|
||||||
'which "0\n'
|
'the\n'
|
||||||
'<= k < N" where *N* is the length of the sequence, or '
|
'allowable keys should be the integers *k* for which "0 <= k '
|
||||||
'"slice" objects,\n'
|
'< N" where\n'
|
||||||
'which define a range of items. It is also recommended that '
|
'*N* is the length of the sequence, or "slice" objects, which '
|
||||||
'mappings\n'
|
'define a\n'
|
||||||
'provide the methods "keys()", "values()", "items()", '
|
'range of items. It is also recommended that mappings '
|
||||||
'"get()",\n'
|
'provide the\n'
|
||||||
'"clear()", "setdefault()", "pop()", "popitem()", "copy()", '
|
'methods "keys()", "values()", "items()", "get()", '
|
||||||
'and\n'
|
'"clear()",\n'
|
||||||
'"update()" behaving similar to those for Python’s standard\n'
|
'"setdefault()", "pop()", "popitem()", "copy()", and '
|
||||||
'"dictionary" objects. The "collections.abc" module provides '
|
'"update()"\n'
|
||||||
'a\n'
|
'behaving similar to those for Python’s standard "dictionary" '
|
||||||
'"MutableMapping" *abstract base class* to help create those '
|
|
||||||
'methods\n'
|
|
||||||
'from a base set of "__getitem__()", "__setitem__()", '
|
|
||||||
'"__delitem__()",\n'
|
|
||||||
'and "keys()". Mutable sequences should provide methods '
|
|
||||||
'"append()",\n'
|
|
||||||
'"count()", "index()", "extend()", "insert()", "pop()", '
|
|
||||||
'"remove()",\n'
|
|
||||||
'"reverse()" and "sort()", like Python standard "list" '
|
|
||||||
'objects.\n'
|
'objects.\n'
|
||||||
'Finally, sequence types should implement addition (meaning\n'
|
'The "collections.abc" module provides a "MutableMapping" '
|
||||||
'concatenation) and multiplication (meaning repetition) by '
|
'*abstract\n'
|
||||||
'defining the\n'
|
'base class* to help create those methods from a base set of\n'
|
||||||
'methods "__add__()", "__radd__()", "__iadd__()", '
|
'"__getitem__()", "__setitem__()", "__delitem__()", and '
|
||||||
'"__mul__()",\n'
|
'"keys()".\n'
|
||||||
'"__rmul__()" and "__imul__()" described below; they should '
|
'Mutable sequences should provide methods "append()", '
|
||||||
'not define\n'
|
'"count()",\n'
|
||||||
'other numerical operators. It is recommended that both '
|
'"index()", "extend()", "insert()", "pop()", "remove()", '
|
||||||
'mappings and\n'
|
'"reverse()"\n'
|
||||||
'sequences implement the "__contains__()" method to allow '
|
'and "sort()", like Python standard "list" objects. Finally, '
|
||||||
'efficient use\n'
|
'sequence\n'
|
||||||
'of the "in" operator; for mappings, "in" should search the '
|
'types should implement addition (meaning concatenation) and\n'
|
||||||
'mapping’s\n'
|
'multiplication (meaning repetition) by defining the methods\n'
|
||||||
'keys; for sequences, it should search through the values. '
|
'"__add__()", "__radd__()", "__iadd__()", "__mul__()", '
|
||||||
'It is\n'
|
'"__rmul__()" and\n'
|
||||||
'further recommended that both mappings and sequences '
|
'"__imul__()" described below; they should not define other '
|
||||||
'implement the\n'
|
'numerical\n'
|
||||||
|
'operators. It is recommended that both mappings and '
|
||||||
|
'sequences\n'
|
||||||
|
'implement the "__contains__()" method to allow efficient use '
|
||||||
|
'of the\n'
|
||||||
|
'"in" operator; for mappings, "in" should search the '
|
||||||
|
'mapping’s keys;\n'
|
||||||
|
'for sequences, it should search through the values. It is '
|
||||||
|
'further\n'
|
||||||
|
'recommended that both mappings and sequences implement the\n'
|
||||||
'"__iter__()" method to allow efficient iteration through '
|
'"__iter__()" method to allow efficient iteration through '
|
||||||
'the\n'
|
'the\n'
|
||||||
'container; for mappings, "__iter__()" should iterate through '
|
'container; for mappings, "__iter__()" should iterate through '
|
||||||
@ -11913,17 +11983,21 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'"divmod()",\n'
|
'"divmod()",\n'
|
||||||
' "pow()", "**", "<<", ">>", "&", "^", "|") with reflected '
|
' "pow()", "**", "<<", ">>", "&", "^", "|") with reflected '
|
||||||
'(swapped)\n'
|
'(swapped)\n'
|
||||||
' operands. These functions are only called if the left '
|
' operands. These functions are only called if the '
|
||||||
'operand does\n'
|
|
||||||
' not support the corresponding operation [3] and the '
|
|
||||||
'operands are of\n'
|
'operands are of\n'
|
||||||
' different types. [4] For instance, to evaluate the '
|
' different types, when the left operand does not support '
|
||||||
'expression "x -\n'
|
'the\n'
|
||||||
' y", where *y* is an instance of a class that has an '
|
' corresponding operation [3], or the right operand’s class '
|
||||||
'"__rsub__()"\n'
|
'is\n'
|
||||||
' method, "type(y).__rsub__(y, x)" is called if '
|
' derived from the left operand’s class. [4] For instance, '
|
||||||
'"type(x).__sub__(x,\n'
|
'to\n'
|
||||||
' y)" returns "NotImplemented".\n'
|
' evaluate the expression "x - y", where *y* is an instance '
|
||||||
|
'of a\n'
|
||||||
|
' class that has an "__rsub__()" method, '
|
||||||
|
'"type(y).__rsub__(y, x)" is\n'
|
||||||
|
' called if "type(x).__sub__(x, y)" returns '
|
||||||
|
'"NotImplemented" or\n'
|
||||||
|
' "type(y)" is a subclass of "type(x)". [5]\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Note that ternary "pow()" will not try calling '
|
' Note that ternary "pow()" will not try calling '
|
||||||
'"__rpow__()" (the\n'
|
'"__rpow__()" (the\n'
|
||||||
@ -12066,6 +12140,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'\n'
|
'\n'
|
||||||
'For more information on context managers, see Context '
|
'For more information on context managers, see Context '
|
||||||
'Manager Types.\n'
|
'Manager Types.\n'
|
||||||
|
'The "object" class itself does not provide the context '
|
||||||
|
'manager\n'
|
||||||
|
'methods.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'object.__enter__(self)\n'
|
'object.__enter__(self)\n'
|
||||||
'\n'
|
'\n'
|
||||||
@ -14794,13 +14871,13 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
' modules created dynamically using the "types.ModuleType"\n'
|
' modules created dynamically using the "types.ModuleType"\n'
|
||||||
' constructor. Previously the attribute was optional.\n'
|
' constructor. Previously the attribute was optional.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Deprecated since version 3.12, removed in version 3.14: Setting\n'
|
' Deprecated since version 3.12, will be removed in version 3.16:\n'
|
||||||
' "__loader__" on a module while failing to set "__spec__.loader" '
|
' Setting "__loader__" on a module while failing to set\n'
|
||||||
'is\n'
|
' "__spec__.loader" is deprecated. In Python 3.16, "__loader__" '
|
||||||
' deprecated. In Python 3.14, "__loader__" will cease to be set '
|
'will\n'
|
||||||
|
' cease to be set or taken into consideration by the import system '
|
||||||
'or\n'
|
'or\n'
|
||||||
' taken into consideration by the import system or the standard\n'
|
' the standard library.\n'
|
||||||
' library.\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'module.__path__\n'
|
'module.__path__\n'
|
||||||
'\n'
|
'\n'
|
||||||
@ -15311,7 +15388,7 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'| | version '
|
'| | version '
|
||||||
'3.12: This attribute of code objects is |\n'
|
'3.12: This attribute of code objects is |\n'
|
||||||
'| | deprecated, '
|
'| | deprecated, '
|
||||||
'and may be removed in Python 3.14. |\n'
|
'and may be removed in Python 3.15. |\n'
|
||||||
'+----------------------------------------------------+----------------------------------------------------+\n'
|
'+----------------------------------------------------+----------------------------------------------------+\n'
|
||||||
'| codeobject.co_stacksize | The required '
|
'| codeobject.co_stacksize | The required '
|
||||||
'stack size of the code object |\n'
|
'stack size of the code object |\n'
|
||||||
@ -15345,10 +15422,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'\n'
|
'\n'
|
||||||
'Other bits in "co_flags" are reserved for internal use.\n'
|
'Other bits in "co_flags" are reserved for internal use.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'If a code object represents a function, the first item in '
|
'If a code object represents a function and has a docstring, the '
|
||||||
'"co_consts"\n'
|
'first\n'
|
||||||
'is the documentation string of the function, or "None" if '
|
'item in "co_consts" is the docstring of the function.\n'
|
||||||
'undefined.\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Methods on code objects\n'
|
'Methods on code objects\n'
|
||||||
@ -15996,10 +16072,10 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'"keys()" method\n'
|
'"keys()" method\n'
|
||||||
' (in which case "__getitem__()" is called with every '
|
' (in which case "__getitem__()" is called with every '
|
||||||
'key returned\n'
|
'key returned\n'
|
||||||
' from the method). or an iterable of key/value pairs '
|
' from the method) or an iterable of key/value pairs (as '
|
||||||
'(as tuples\n'
|
'tuples or\n'
|
||||||
' or other iterables of length two). If keyword '
|
' other iterables of length two). If keyword arguments '
|
||||||
'arguments are\n'
|
'are\n'
|
||||||
' specified, the dictionary is then updated with those '
|
' specified, the dictionary is then updated with those '
|
||||||
'key/value\n'
|
'key/value\n'
|
||||||
' pairs: "d.update(red=1, blue=2)".\n'
|
' pairs: "d.update(red=1, blue=2)".\n'
|
||||||
@ -17310,18 +17386,15 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
' enter = type(manager).__enter__\n'
|
' enter = type(manager).__enter__\n'
|
||||||
' exit = type(manager).__exit__\n'
|
' exit = type(manager).__exit__\n'
|
||||||
' value = enter(manager)\n'
|
' value = enter(manager)\n'
|
||||||
' hit_except = False\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
' try:\n'
|
' try:\n'
|
||||||
' TARGET = value\n'
|
' TARGET = value\n'
|
||||||
' SUITE\n'
|
' SUITE\n'
|
||||||
' except:\n'
|
' except:\n'
|
||||||
' hit_except = True\n'
|
|
||||||
' if not exit(manager, *sys.exc_info()):\n'
|
' if not exit(manager, *sys.exc_info()):\n'
|
||||||
' raise\n'
|
' raise\n'
|
||||||
' finally:\n'
|
' else:\n'
|
||||||
' if not hit_except:\n'
|
' exit(manager, None, None, None)\n'
|
||||||
' exit(manager, None, None, None)\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'With more than one item, the context managers are processed as if\n'
|
'With more than one item, the context managers are processed as if\n'
|
||||||
'multiple "with" statements were nested:\n'
|
'multiple "with" statements were nested:\n'
|
||||||
@ -17362,7 +17435,8 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'\n'
|
'\n'
|
||||||
'A "yield" statement is semantically equivalent to a yield '
|
'A "yield" statement is semantically equivalent to a yield '
|
||||||
'expression.\n'
|
'expression.\n'
|
||||||
'The yield statement can be used to omit the parentheses that would\n'
|
'The "yield" statement can be used to omit the parentheses that '
|
||||||
|
'would\n'
|
||||||
'otherwise be required in the equivalent yield expression '
|
'otherwise be required in the equivalent yield expression '
|
||||||
'statement.\n'
|
'statement.\n'
|
||||||
'For example, the yield statements\n'
|
'For example, the yield statements\n'
|
||||||
@ -17378,10 +17452,9 @@ topics = {'assert': 'The "assert" statement\n'
|
|||||||
'Yield expressions and statements are only used when defining a\n'
|
'Yield expressions and statements are only used when defining a\n'
|
||||||
'*generator* function, and are only used in the body of the '
|
'*generator* function, and are only used in the body of the '
|
||||||
'generator\n'
|
'generator\n'
|
||||||
'function. Using yield in a function definition is sufficient to '
|
'function. Using "yield" in a function definition is sufficient to\n'
|
||||||
'cause\n'
|
'cause that definition to create a generator function instead of a\n'
|
||||||
'that definition to create a generator function instead of a normal\n'
|
'normal function.\n'
|
||||||
'function.\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'For full details of "yield" semantics, refer to the Yield '
|
'For full details of "yield" semantics, refer to the Yield '
|
||||||
'expressions\n'
|
'expressions\n'
|
||||||
|
1762
Misc/NEWS.d/3.14.0a2.rst
Normal file
1762
Misc/NEWS.d/3.14.0a2.rst
Normal file
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
|||||||
Fix cross compile failures when the host and target SOABIs match.
|
|
@ -1 +0,0 @@
|
|||||||
Emscripten builds now require node >= 18.
|
|
@ -1,2 +0,0 @@
|
|||||||
Improve detection of float word ordering on Linux when link-time optimizations
|
|
||||||
are enabled.
|
|
@ -1,2 +0,0 @@
|
|||||||
The Android build now supports `16 KB page sizes
|
|
||||||
<https://developer.android.com/guide/practices/page-sizes>`__.
|
|
@ -1 +0,0 @@
|
|||||||
The minimum supported Android version is now 7.0 (API level 24).
|
|
@ -1,4 +0,0 @@
|
|||||||
For cross builds, there is now support for having a different install
|
|
||||||
``prefix`` than the ``host_prefix`` used by ``getpath.py``. This is set to ``/`` by
|
|
||||||
default for Emscripten, on other platforms the default behavior is the same
|
|
||||||
as before.
|
|
@ -1 +0,0 @@
|
|||||||
Introduced ``Tools/wasm/emscripten.py`` to simplify doing Emscripten builds.
|
|
@ -1,2 +0,0 @@
|
|||||||
``make clinic`` now runs Argument Clinic using the ``--force`` option,
|
|
||||||
thus forcefully regenerating generated code.
|
|
@ -1 +0,0 @@
|
|||||||
Hard-code float word ordering as little endian on WASM.
|
|
@ -1 +0,0 @@
|
|||||||
Disable SIMD support for HACL under WASI.
|
|
@ -1,3 +0,0 @@
|
|||||||
Use ``wasm32-wasip1`` as the target triple for WASI instead of
|
|
||||||
``wasm32-wasi``. The latter will eventually be reclaimed for WASI 1.0 while
|
|
||||||
CPython currently only supports WASI preview1.
|
|
@ -1,3 +0,0 @@
|
|||||||
Removed the ``--with-emscripten-target`` configure flag. We unified the
|
|
||||||
``node`` and ``browser`` options and the same build can now be used, independent
|
|
||||||
of target runtime.
|
|
@ -1 +0,0 @@
|
|||||||
The :c:macro:`!Py_HUGE_VAL` macro is :term:`soft deprecated`.
|
|
@ -1,2 +0,0 @@
|
|||||||
Add :c:func:`PyType_Freeze` function to make a type immutable. Patch by
|
|
||||||
Victor Stinner.
|
|
@ -1,2 +0,0 @@
|
|||||||
Added the :c:func:`PyUnstable_Object_EnableDeferredRefcount` function for
|
|
||||||
enabling :pep:`703` deferred reference counting.
|
|
@ -1,3 +0,0 @@
|
|||||||
Fix a bug where dictionary watchers (e.g., :c:func:`PyDict_Watch`) on an
|
|
||||||
object's attribute dictionary (:attr:`~object.__dict__`) were not triggered
|
|
||||||
when the object's attributes were modified.
|
|
@ -1,3 +0,0 @@
|
|||||||
Add :c:func:`PyLong_IsPositive`, :c:func:`PyLong_IsNegative`
|
|
||||||
and :c:func:`PyLong_IsZero` for checking if a :c:type:`PyLongObject`
|
|
||||||
is positive, negative, or zero, respectively.
|
|
@ -1,2 +0,0 @@
|
|||||||
Fix error handling in :class:`ctypes.CDLL` objects
|
|
||||||
which could result in a crash in rare situations.
|
|
@ -1 +0,0 @@
|
|||||||
Fixed a bug in ``reprlib.repr`` where it incorrectly called the repr method on shadowed Python built-in types.
|
|
@ -1 +0,0 @@
|
|||||||
Fix bug where SSLProtocol.connection_lost wasn't getting called when OSError was thrown on writing to socket.
|
|
@ -1,3 +0,0 @@
|
|||||||
The :func:`map` built-in now has an optional keyword-only *strict* flag
|
|
||||||
like :func:`zip` to check that all the iterables are of equal length.
|
|
||||||
Patch by Wannes Boeykens.
|
|
@ -1,4 +0,0 @@
|
|||||||
Improve the error message when a script shadowing a module from the standard
|
|
||||||
library causes :exc:`ImportError` to be raised during a "from" import.
|
|
||||||
Similarly, improve the error message when a script shadowing a third party module
|
|
||||||
attempts to "from" import an attribute from that third party module while still initialising.
|
|
@ -1 +0,0 @@
|
|||||||
Update JIT compilation to use LLVM 19
|
|
@ -1,2 +0,0 @@
|
|||||||
Don't allow the JIT and perf support to be active at the same time. Patch by
|
|
||||||
Pablo Galindo
|
|
@ -1,2 +0,0 @@
|
|||||||
Fix crash when iterating over a generator expression after direct changes on ``gi_frame.f_locals``.
|
|
||||||
Patch by Mikhail Efimov.
|
|
@ -1,2 +0,0 @@
|
|||||||
Add a new ``INSTRUCTION_SIZE`` macro to the cases generator which returns
|
|
||||||
the current instruction size.
|
|
@ -1 +0,0 @@
|
|||||||
Fix illegal instruction for older Arm architectures. Patch by Diego Russo, testing by Ross Burton.
|
|
@ -1,2 +0,0 @@
|
|||||||
The Python PEG generator can now use f-strings in the grammar actions. Patch
|
|
||||||
by Pablo Galindo
|
|
@ -1,2 +0,0 @@
|
|||||||
Fix crash on certain accesses to the ``__annotations__`` of
|
|
||||||
:class:`staticmethod` and :class:`classmethod` objects.
|
|
@ -1 +0,0 @@
|
|||||||
Use color to highlight error locations in traceback from exception group
|
|
@ -1,2 +0,0 @@
|
|||||||
Correctly honour :mod:`tracemalloc` hooks in specialized ``Py_DECREF``
|
|
||||||
paths. Patch by Pablo Galindo
|
|
@ -1,4 +0,0 @@
|
|||||||
The JIT has been updated to leverage Clang 19’s new ``preserve_none`` attribute,
|
|
||||||
which supports more platforms and is more useful than LLVM's existing ``ghccc``
|
|
||||||
calling convention. This also removes the need to manually patch the calling
|
|
||||||
convention in LLVM IR, simplifying the JIT compilation process.
|
|
@ -1,3 +0,0 @@
|
|||||||
It was possible in 3.14.0a1 only for attribute lookup to give the wrong
|
|
||||||
value. This was due to an incorrect specialization in very specific
|
|
||||||
circumstances. This is fixed in 3.14.0a2.
|
|
@ -1,2 +0,0 @@
|
|||||||
Fix a crash in the free threading build when :func:`gc.get_objects` or
|
|
||||||
:func:`gc.get_referrers` is called during an in-progress garbage collection.
|
|
@ -1,2 +0,0 @@
|
|||||||
On Android, the ``errors`` setting of :any:`sys.stdout` was changed from
|
|
||||||
``surrogateescape`` to ``backslashreplace``.
|
|
@ -1,5 +0,0 @@
|
|||||||
Adds :opcode:`LOAD_SMALL_INT` and :opcode:`LOAD_CONST_IMMORTAL` instructions.
|
|
||||||
``LOAD_SMALL_INT`` pushes a small integer equal to the ``oparg`` to the stack.
|
|
||||||
``LOAD_CONST_IMMORTAL`` does the same as ``LOAD_CONST`` but is more
|
|
||||||
efficient for immortal objects.
|
|
||||||
Removes ``RETURN_CONST`` instruction.
|
|
@ -1,2 +0,0 @@
|
|||||||
The :class:`memoryview` type now supports subscription, making it a
|
|
||||||
:term:`generic type`.
|
|
@ -1,2 +0,0 @@
|
|||||||
Fix a crash in :func:`sys.audit` when passing a non-string as first argument
|
|
||||||
and Python was compiled in debug mode.
|
|
@ -1,2 +0,0 @@
|
|||||||
Avoid temporary tuple creation for vararg in argument passing with Argument
|
|
||||||
Clinic generated code (if arguments either vararg or positional-only).
|
|
@ -1,3 +0,0 @@
|
|||||||
Relocated objects such as ``tuple``, ``bytes`` and ``str`` objects are
|
|
||||||
properly tracked by :mod:`tracemalloc` and its associated hooks. Patch by
|
|
||||||
Pablo Galindo.
|
|
@ -1,3 +0,0 @@
|
|||||||
Add a new attribute in :attr:`~codeobject.co_flags` to indicate whether the
|
|
||||||
first item in :attr:`~codeobject.co_consts` is the docstring. If a code
|
|
||||||
object has no docstring, ``None`` will **NOT** be inserted.
|
|
@ -1,2 +0,0 @@
|
|||||||
Provide better error location when attempting to use a :term:`future
|
|
||||||
statement <__future__>` with an unknown future feature.
|
|
@ -1 +0,0 @@
|
|||||||
Improve JIT performance by 1.4% on macOS Apple Silicon by using platform-specific memory protection APIs. Patch by Diego Russo.
|
|
@ -1,2 +0,0 @@
|
|||||||
Following :gh:`126101`, for :ref:`codeobjects` like lambda, annotation and type alias,
|
|
||||||
we no longer add ``None`` to its :attr:`~codeobject.co_consts`.
|
|
@ -1,2 +0,0 @@
|
|||||||
Relax optimization requirements to allow fast attribute access to module
|
|
||||||
subclasses.
|
|
@ -1,2 +0,0 @@
|
|||||||
Fix crash during garbage collection on an object frozen by :func:`gc.freeze` on the
|
|
||||||
free-threaded build.
|
|
@ -1,3 +0,0 @@
|
|||||||
Fix an issue with ``skip_file_prefixes`` parameter which resulted in an inconsistent
|
|
||||||
behaviour between the C and Python implementations of :func:`warnings.warn`.
|
|
||||||
Patch by Daehee Kim.
|
|
@ -1,2 +0,0 @@
|
|||||||
Fix crash when using ``yield from`` on an object that raises an exception in
|
|
||||||
its ``__iter__``.
|
|
@ -1,3 +0,0 @@
|
|||||||
Do not include count of "peek" items in ``_PyUop_num_popped``. This ensures
|
|
||||||
that the correct number of items are popped from the stack when a micro-op
|
|
||||||
exits with an error.
|
|
@ -1,3 +0,0 @@
|
|||||||
Fix :mod:`importlib` to not write an incomplete .pyc files when a ulimit or some
|
|
||||||
other operating system mechanism is preventing the write to go through
|
|
||||||
fully.
|
|
@ -1,2 +0,0 @@
|
|||||||
Fix a crash when calling :func:`os.fork` on some operating systems,
|
|
||||||
including SerenityOS.
|
|
@ -1 +0,0 @@
|
|||||||
Now :exc:`ValueError` is raised instead of :exc:`SystemError` when trying to iterate over a released :class:`memoryview` object.
|
|
@ -1,2 +0,0 @@
|
|||||||
Increase the threshold for JIT code warmup. Depending on platform and workload,
|
|
||||||
this can result in performance gains of 1-9% and memory savings of 3-5%.
|
|
@ -1,2 +0,0 @@
|
|||||||
Include the :class:`object` type in the lists of documented types.
|
|
||||||
Change by Furkan Onder and Martin Panter.
|
|
@ -1,2 +0,0 @@
|
|||||||
Require Sphinx 7.2.6 or later to build the Python documentation.
|
|
||||||
Patch by Adam Turner.
|
|
@ -1,3 +0,0 @@
|
|||||||
Added stub pages for removed modules explaining their removal, where to find
|
|
||||||
replacements, and linking to the last Python version that supported them.
|
|
||||||
Contributed by Ned Batchelder.
|
|
@ -1,2 +0,0 @@
|
|||||||
Add MIME types for MS Embedded OpenType, OpenType Layout, TrueType,
|
|
||||||
WOFF 1.0 and 2.0 fonts. Patch by Sahil Prajapati and Hugo van Kemenade.
|
|
@ -1,2 +0,0 @@
|
|||||||
Strip :class:`unittest.IsolatedAsyncioTestCase` stack frames from reported
|
|
||||||
stacktraces.
|
|
@ -1 +0,0 @@
|
|||||||
Fix a race condition in :class:`multiprocessing.pool.Pool`.
|
|
@ -1,2 +0,0 @@
|
|||||||
Fix SystemError when match regular expression pattern containing some
|
|
||||||
combination of possessive quantifier, alternative and capture group.
|
|
@ -1,4 +0,0 @@
|
|||||||
Accepting objects with false values (like ``0`` and ``[]``) except empty
|
|
||||||
strings, byte-like objects and ``None`` in :mod:`urllib.parse` functions
|
|
||||||
:func:`~urllib.parse.parse_qsl` and :func:`~urllib.parse.parse_qs` is now
|
|
||||||
deprecated.
|
|
@ -1 +0,0 @@
|
|||||||
Add :data:`!socket.IPV6_RECVERR` constant (available since Linux 2.2).
|
|
@ -1 +0,0 @@
|
|||||||
Remove deprecated :func:`!pkgutil.get_loader` and :func:`!pkgutil.find_loader`.
|
|
@ -1 +0,0 @@
|
|||||||
Always return an absolute path for :func:`os.path.abspath` on Windows.
|
|
@ -1,2 +0,0 @@
|
|||||||
:func:`!posixpath.realpath` now raises :exc:`NotADirectoryError` when *strict*
|
|
||||||
mode is enabled and a non-directory path with a trailing slash is supplied.
|
|
@ -1 +0,0 @@
|
|||||||
Fixed an issue where :func:`inspect.getclosurevars` would incorrectly classify an attribute name as a global variable when the name exists both as an attribute name and a global variable.
|
|
@ -1,2 +0,0 @@
|
|||||||
Improve the performance of :mod:`tarfile` when writing files, by caching user names
|
|
||||||
and group names.
|
|
@ -1 +0,0 @@
|
|||||||
Update unbounded ``read`` calls in :mod:`zipfile` to specify an explicit ``size`` putting a limit on how much data they may read. This also updates handling around ZIP max comment size to match the standard instead of reading comments that are one byte too long.
|
|
@ -1 +0,0 @@
|
|||||||
Add :func:`platform.invalidate_caches` to invalidate cached results.
|
|
@ -1,2 +0,0 @@
|
|||||||
Add :func:`uuid.uuid8` for generating UUIDv8 objects as specified in
|
|
||||||
:rfc:`9562`. Patch by Bénédikt Tran
|
|
@ -1 +0,0 @@
|
|||||||
Fix the canvas not clearing after running turtledemo clock.
|
|
@ -1 +0,0 @@
|
|||||||
unittest discovery supports PEP 420 namespace packages as start directory again.
|
|
@ -1,4 +0,0 @@
|
|||||||
The tkinter module can now be built to use either the new version 9.0.0 of
|
|
||||||
Tcl/Tk or the latest release 8.6.15 of Tcl/Tk 8. Tcl/Tk 9 includes many
|
|
||||||
improvements, both to the Tcl language and to the appearance and utility of
|
|
||||||
the graphical user interface provided by Tk.
|
|
@ -1 +0,0 @@
|
|||||||
Fixed a bug in :mod:`pdb` where sometimes the breakpoint won't trigger if it was set on a function which is already in the call stack.
|
|
@ -1 +0,0 @@
|
|||||||
Adds a feature to optionally enable suggestions for argument choices and subparser names if mistyped by the user.
|
|
@ -1 +0,0 @@
|
|||||||
Deprecate the :class:`argparse.FileType` type converter.
|
|
@ -1,6 +0,0 @@
|
|||||||
We've added :class:`concurrent.futures.InterpreterPoolExecutor`, which
|
|
||||||
allows you to run code in multiple isolated interpreters. This allows you
|
|
||||||
to circumvent the limitations of CPU-bound threads (due to the GIL). Patch
|
|
||||||
by Eric Snow.
|
|
||||||
|
|
||||||
This addition is unrelated to :pep:`734`.
|
|
@ -1 +0,0 @@
|
|||||||
Properly quote template strings in :mod:`venv` activation scripts.
|
|
@ -1 +0,0 @@
|
|||||||
Fixed thread safety in :mod:`ssl` in the free-threaded build. OpenSSL operations are now protected by a per-object lock.
|
|
@ -1,8 +0,0 @@
|
|||||||
Fix encoding issues in :func:`time.strftime`, the
|
|
||||||
:meth:`~datetime.datetime.strftime` method of the :mod:`datetime` classes
|
|
||||||
:class:`~datetime.datetime`, :class:`~datetime.date` and
|
|
||||||
:class:`~datetime.time` and formatting of these classes. Characters not
|
|
||||||
encodable in the current locale are now acceptable in the format string.
|
|
||||||
Surrogate pairs and sequence of surrogatescape-encoded bytes are no longer
|
|
||||||
recombinated. Embedded null character no longer terminates the format
|
|
||||||
string.
|
|
@ -1,2 +0,0 @@
|
|||||||
Fix race condition when importing :mod:`collections.abc`, which could
|
|
||||||
incorrectly return an empty module.
|
|
@ -1 +0,0 @@
|
|||||||
Fix the conversion of the :envvar:`!VIRTUAL_ENV` path in the activate script in :mod:`venv` when running in Git Bash for Windows.
|
|
@ -1 +0,0 @@
|
|||||||
Fixed a bug in :mod:`pdb` where arguments starting with ``-`` can't be passed to the debugged script.
|
|
@ -1,2 +0,0 @@
|
|||||||
Fix deadlock when :class:`concurrent.futures.ProcessPoolExecutor` shuts down
|
|
||||||
concurrently with an error when feeding a job to a worker process.
|
|
@ -1,2 +0,0 @@
|
|||||||
Improve traceback if :func:`importlib.reload` is called with an object that
|
|
||||||
is not a module. Patch by Alex Waygood.
|
|
@ -1,4 +0,0 @@
|
|||||||
Pressing :kbd:`Ctrl-C` while blocked in :meth:`threading.Lock.acquire`,
|
|
||||||
:meth:`threading.RLock.acquire`, and :meth:`threading.Thread.join` now
|
|
||||||
interrupts the function call and raises a :exc:`KeyboardInterrupt` exception
|
|
||||||
on Windows, similar to how those functions behave on macOS and Linux.
|
|
@ -1,2 +0,0 @@
|
|||||||
Deprecate passing keyword-only *prefix_chars* argument to
|
|
||||||
:meth:`argparse.ArgumentParser.add_argument_group`.
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user