Implement part of the interpreter's implementation of :keyword:`!except*`.
*orig* is the original exception that was caught, and *excs* is the list of
- the exceptions that need to be raised. This list contains the the unhandled
+ the exceptions that need to be raised. This list contains the unhandled
part of *orig*, if any, as well as the exceptions that were raised from the
:keyword:`!except*` clauses (so they have a different traceback from *orig*) and
those that were reraised (and have the same traceback as *orig*).
completely disables typechecking for a function or class.
The responsibility of how to interpret the metadata
- lies with the the tool or library encountering an
+ lies with the tool or library encountering an
``Annotated`` annotation. A tool or library encountering an ``Annotated`` type
can scan through the metadata elements to determine if they are of interest
(e.g., using :func:`isinstance`).
if (PyStatus_Exception(status)) {
return -1;
}
- /* The new interpeter is now active in the current thread. */
+ /* The new interpreter is now active in the current thread. */
For further examples how to use the C-API for sub-interpreters with a
per-interpreter GIL, see :source:`Modules/_xxsubinterpretersmodule.c`.
Docstrings produced by :func:`~collections.namedtuple` can now be updated::
Point = namedtuple('Point', ['x', 'y'])
- Point.__doc__ += ': Cartesian coodinate'
+ Point.__doc__ += ': Cartesian coordinate'
Point.x.__doc__ = 'abscissa'
Point.y.__doc__ = 'ordinate'
ns = {}
exec(code, ns)
number_attrs = ns["number_attrs"]
- # Warm up the the function for quickening (PEP 659)
+ # Warm up the function for quickening (PEP 659)
for _ in range(30):
self.assertEqual(number_attrs(Numbers()), list(range(280)))
code = "lambda: " + "+".join(f"_number_{i}" for i in range(variables))
sum_func = eval(code, MyGlobals())
expected = sum(range(variables))
- # Warm up the the function for quickening (PEP 659)
+ # Warm up the function for quickening (PEP 659)
for _ in range(30):
self.assertEqual(sum_func(), expected)
sneaky_frame_object = None
gc.enable()
next(g)
- # g.gi_frame should be the the frame object from the callback (the
+ # g.gi_frame should be the frame object from the callback (the
# one that was *requested* second, but *created* first):
self.assertIs(g.gi_frame, sneaky_frame_object)
finally:
ns = {}
exec(code, ns)
unpack_400 = ns["unpack_400"]
- # Warm up the the function for quickening (PEP 659)
+ # Warm up the function for quickening (PEP 659)
for _ in range(30):
y = unpack_400(range(400))
self.assertEqual(y, 399)
## 3.12 pre-header
-In 3.12 the the pointer to the list of weak references is added to the
+In 3.12 the pointer to the list of weak references is added to the
pre-header. In order to make space for it, the ``dict`` and ``values``
pointers are combined into a single tagged pointer: