From 9f29298ff91f2f3b8e43980e8c47e98bf7130916 Mon Sep 17 00:00:00 2001 From: sba72 <142266608+sba72@users.noreply.github.com> Date: Wed, 23 Sep 2026 06:19:19 +0000 Subject: [PATCH] =?UTF-8?q?Sync=20mit=20Upstream-=C3=84nderungen=20(3.14)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- builtins/constants.po | 46 +- builtins/exceptions.po | 414 +- builtins/functions.po | 1077 +- builtins/index.po | 48 + builtins/stdtypes.po | 3384 +-- builtins/threadsafety.po | 824 + builtins/time-complexity.po | 644 + c-api/bytearray.po | 50 +- c-api/bytes.po | 162 +- c-api/curses.po | 185 + c-api/interp-lifecycle.po | 1266 + c-api/picklebuffer.po | 101 + c-api/profiling.po | 308 + c-api/subinterpreters.po | 590 + c-api/synchronization.po | 365 + c-api/threads.po | 1127 + c-api/tls.po | 191 + cpython-src | 2 +- deprecations/pending-removal-in-3.18.po | 34 + improve-page-nojs.po | 54 + improve-page.po | 71 + library/asyncio-threading.po | 210 + library/asyncio-tools.po | 223 + library/codecs.po | 204 +- library/ctypes.po | 880 +- library/importlib.po | 281 +- library/json.po | 294 +- library/pathlib.po | 856 +- library/socket.po | 8 +- library/statistics.po | 320 +- library/turtle.po | 420 +- tutorial/index.po | 10 +- whatsnew/changelog.po | 29492 +++++++++++----------- 33 files changed, 25309 insertions(+), 18832 deletions(-) create mode 100644 builtins/index.po create mode 100644 builtins/threadsafety.po create mode 100644 builtins/time-complexity.po create mode 100644 c-api/curses.po create mode 100644 c-api/interp-lifecycle.po create mode 100644 c-api/picklebuffer.po create mode 100644 c-api/profiling.po create mode 100644 c-api/subinterpreters.po create mode 100644 c-api/synchronization.po create mode 100644 c-api/threads.po create mode 100644 c-api/tls.po create mode 100644 deprecations/pending-removal-in-3.18.po create mode 100644 improve-page-nojs.po create mode 100644 improve-page.po create mode 100644 library/asyncio-threading.po create mode 100644 library/asyncio-tools.po diff --git a/builtins/constants.po b/builtins/constants.po index e5c5c234..f35d3a7a 100644 --- a/builtins/constants.po +++ b/builtins/constants.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-05 16:53+0200\n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -17,27 +17,27 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../../library/constants.rst:4 +#: ../../builtins/constants.rst:4 msgid "Built-in Constants" msgstr "" -#: ../../library/constants.rst:6 +#: ../../builtins/constants.rst:6 msgid "A small number of constants live in the built-in namespace. They are:" msgstr "" -#: ../../library/constants.rst:10 +#: ../../builtins/constants.rst:10 msgid "" "The false value of the :class:`bool` type. Assignments to ``False`` are " "illegal and raise a :exc:`SyntaxError`." msgstr "" -#: ../../library/constants.rst:16 +#: ../../builtins/constants.rst:16 msgid "" "The true value of the :class:`bool` type. Assignments to ``True`` are " "illegal and raise a :exc:`SyntaxError`." msgstr "" -#: ../../library/constants.rst:22 +#: ../../builtins/constants.rst:22 msgid "" "An object frequently used to represent the absence of a value, as when " "default arguments are not passed to a function. Assignments to ``None`` are " @@ -45,7 +45,7 @@ msgid "" "the :class:`~types.NoneType` type." msgstr "" -#: ../../library/constants.rst:30 +#: ../../builtins/constants.rst:30 msgid "" "A special value which should be returned by the binary special methods (e." "g. :meth:`~object.__eq__`, :meth:`~object.__lt__`, :meth:`~object.__add__`, :" @@ -57,7 +57,7 @@ msgid "" "`types.NotImplementedType` type." msgstr "" -#: ../../library/constants.rst:40 +#: ../../builtins/constants.rst:40 msgid "" "When a binary (or in-place) method returns :data:`!NotImplemented` the " "interpreter will try the reflected operation on the other type (or some " @@ -68,29 +68,29 @@ msgid "" "code." msgstr "" -#: ../../library/constants.rst:47 +#: ../../builtins/constants.rst:47 msgid "See :ref:`implementing-the-arithmetic-operations` for examples." msgstr "" -#: ../../library/constants.rst:51 +#: ../../builtins/constants.rst:51 msgid "" ":data:`!NotImplemented` and :exc:`!NotImplementedError` are not " "interchangeable. This constant should only be used as described above; see :" "exc:`NotImplementedError` for details on correct usage of the exception." msgstr "" -#: ../../library/constants.rst:56 +#: ../../builtins/constants.rst:56 msgid "Evaluating :data:`!NotImplemented` in a boolean context was deprecated." msgstr "" -#: ../../library/constants.rst:59 +#: ../../builtins/constants.rst:59 msgid "" "Evaluating :data:`!NotImplemented` in a boolean context now raises a :exc:" "`TypeError`. It previously evaluated to :const:`True` and emitted a :exc:" "`DeprecationWarning` since Python 3.9." msgstr "" -#: ../../library/constants.rst:68 +#: ../../builtins/constants.rst:68 msgid "" "The same as the ellipsis literal \"``...``\", an object frequently used to " "indicate that something is omitted. Assignment to ``Ellipsis`` is possible, " @@ -98,24 +98,24 @@ msgid "" "sole instance of the :class:`types.EllipsisType` type." msgstr "" -#: ../../library/constants.rst:76 +#: ../../builtins/constants.rst:76 msgid "" "This constant is true if Python was not started with an :option:`-O` option. " "See also the :keyword:`assert` statement." msgstr "" -#: ../../library/constants.rst:82 +#: ../../builtins/constants.rst:82 msgid "" "The names :data:`None`, :data:`False`, :data:`True` and :data:`__debug__` " "cannot be reassigned (assignments to them, even as an attribute name, raise :" "exc:`SyntaxError`), so they can be considered \"true\" constants." msgstr "" -#: ../../library/constants.rst:90 +#: ../../builtins/constants.rst:90 msgid "Constants added by the :mod:`site` module" msgstr "" -#: ../../library/constants.rst:92 +#: ../../builtins/constants.rst:92 msgid "" "The :mod:`site` module (which is imported automatically during startup, " "except if the :option:`-S` command-line option is given) adds several " @@ -123,14 +123,14 @@ msgid "" "interpreter shell and should not be used in programs." msgstr "" -#: ../../library/constants.rst:100 +#: ../../builtins/constants.rst:100 msgid "" "Objects that when printed, print a message like \"Use quit() or Ctrl-D (i.e. " "EOF) to exit\", and when accessed directly in the interactive interpreter or " "called as functions, raise :exc:`SystemExit` with the specified exit code." msgstr "" -#: ../../library/constants.rst:108 +#: ../../builtins/constants.rst:108 msgid "" "Object that when printed, prints the message \"Type help() for interactive " "help, or help(object) for help about object.\", and when accessed directly " @@ -138,23 +138,23 @@ msgid "" "`help`)." msgstr "" -#: ../../library/constants.rst:116 +#: ../../builtins/constants.rst:116 msgid "" "Objects that when printed or called, print the text of copyright or credits, " "respectively." msgstr "" -#: ../../library/constants.rst:121 +#: ../../builtins/constants.rst:121 msgid "" "Object that when printed, prints the message \"Type license() to see the " "full license text\", and when called, displays the full license text in a " "pager-like fashion (one screen at a time)." msgstr "" -#: ../../library/constants.rst:65 +#: ../../builtins/constants.rst:65 msgid "..." msgstr "" -#: ../../library/constants.rst:65 +#: ../../builtins/constants.rst:65 msgid "ellipsis literal" msgstr "" diff --git a/builtins/exceptions.po b/builtins/exceptions.po index d99edd5a..0dfc980d 100644 --- a/builtins/exceptions.po +++ b/builtins/exceptions.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-05 16:53+0200\n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" "PO-Revision-Date: 2026-08-20 00:01+0000\n" "Last-Translator: Swen Bachmann <142266608+sba72@users.noreply.github.com>\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -17,11 +17,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../../library/exceptions.rst:4 +#: ../../builtins/exceptions.rst:4 msgid "Built-in Exceptions" msgstr "Eingebaute Exceptions" -#: ../../library/exceptions.rst:10 +#: ../../builtins/exceptions.rst:10 msgid "" "In Python, all exceptions must be instances of a class that derives from :" "class:`BaseException`. In a :keyword:`try` statement with an :keyword:" @@ -38,7 +38,7 @@ msgstr "" "Exception-Klassen, die nicht durch Vererbung miteinander verwandt sind, sind " "niemals äquivalent, selbst wenn sie denselben Namen tragen." -#: ../../library/exceptions.rst:19 +#: ../../builtins/exceptions.rst:19 msgid "" "The built-in exceptions listed in this chapter can be generated by the " "interpreter or built-in functions. Except where mentioned, they have an " @@ -55,7 +55,7 @@ msgstr "" "Zeichenkette, die den Code erklärt). Der zugehörige Wert wird üblicherweise " "als Argument an den Konstruktor der Exception-Klasse übergeben." -#: ../../library/exceptions.rst:26 +#: ../../builtins/exceptions.rst:26 msgid "" "User code can raise built-in exceptions. This can be used to test an " "exception handler or to report an error condition \"just like\" the " @@ -69,7 +69,7 @@ msgstr "" "auslösen würde. Beachte jedoch, dass Benutzercode nicht daran gehindert " "wird, einen unpassenden Fehler auszulösen." -#: ../../library/exceptions.rst:31 +#: ../../builtins/exceptions.rst:31 msgid "" "The built-in exception classes can be subclassed to define new exceptions; " "programmers are encouraged to derive new exceptions from the :exc:" @@ -83,11 +83,11 @@ msgstr "" "von :exc:`BaseException`. Weitere Informationen zur Definition von " "Exceptions findest du im Python-Tutorial unter :ref:`tut-userexceptions`." -#: ../../library/exceptions.rst:39 +#: ../../builtins/exceptions.rst:39 msgid "Exception context" msgstr "Exception-Kontext" -#: ../../library/exceptions.rst:46 +#: ../../builtins/exceptions.rst:46 msgid "" "Three attributes on exception objects provide information about the context " "in which the exception was raised:" @@ -95,7 +95,7 @@ msgstr "" "Drei Attribute von Exception-Objekten liefern Informationen über den " "Kontext, in dem die Exception ausgelöst wurde:" -#: ../../library/exceptions.rst:53 +#: ../../builtins/exceptions.rst:53 msgid "" "When raising a new exception while another exception is already being " "handled, the new exception's :attr:`!__context__` attribute is automatically " @@ -109,7 +109,7 @@ msgstr "" "behandelt, wenn eine :keyword:`except`- oder :keyword:`finally`-Klausel oder " "eine :keyword:`with`-Anweisung verwendet wird." -#: ../../library/exceptions.rst:59 +#: ../../builtins/exceptions.rst:59 msgid "" "This implicit exception context can be supplemented with an explicit cause " "by using :keyword:`!from` with :keyword:`raise`::" @@ -118,11 +118,11 @@ msgstr "" "from` zusammen mit :keyword:`raise` um eine explizite Ursache ergänzt " "werden::" -#: ../../library/exceptions.rst:63 +#: ../../builtins/exceptions.rst:63 msgid "raise new_exc from original_exc" msgstr "raise new_exc from original_exc" -#: ../../library/exceptions.rst:65 +#: ../../builtins/exceptions.rst:65 msgid "" "The expression following :keyword:`from` must be an exception or " "``None``. It will be set as :attr:`!__cause__` on the raised exception. " @@ -142,7 +142,7 @@ msgstr "" "`AttributeError`), während die alte Exception für die Introspektion beim " "Debuggen weiterhin in :attr:`!__context__` verfügbar bleibt." -#: ../../library/exceptions.rst:74 +#: ../../builtins/exceptions.rst:74 msgid "" "The default traceback display code shows these chained exceptions in " "addition to the traceback for the exception itself. An explicitly chained " @@ -157,7 +157,7 @@ msgstr "" "wenn :attr:`!__cause__` :const:`None` und :attr:`!__suppress_context__` " "falsch ist." -#: ../../library/exceptions.rst:80 +#: ../../builtins/exceptions.rst:80 msgid "" "In either case, the exception itself is always shown after any chained " "exceptions so that the final line of the traceback always shows the last " @@ -167,11 +167,11 @@ msgstr "" "Exceptions angezeigt, sodass die letzte Zeile des Tracebacks immer die " "zuletzt ausgelöste Exception zeigt." -#: ../../library/exceptions.rst:86 +#: ../../builtins/exceptions.rst:86 msgid "Inheriting from built-in exceptions" msgstr "Erben von eingebauten Exceptions" -#: ../../library/exceptions.rst:88 +#: ../../builtins/exceptions.rst:88 msgid "" "User code can create subclasses that inherit from an exception type. It's " "recommended to only subclass one exception type at a time to avoid any " @@ -183,7 +183,7 @@ msgstr "" "um mögliche Konflikte bei der Handhabung des ``args``-Attributs durch die " "Basisklassen sowie Inkompatibilitäten beim Speicherlayout zu vermeiden." -#: ../../library/exceptions.rst:95 +#: ../../builtins/exceptions.rst:95 msgid "" "Most built-in exceptions are implemented in C for efficiency, see: :source:" "`Objects/exceptions.c`. Some have custom memory layouts which makes it " @@ -200,11 +200,11 @@ msgstr "" "ändern, was künftig zu neuen Konflikten führen könnte. Daher wird empfohlen, " "das gleichzeitige Erben von mehreren Exception-Typen gänzlich zu vermeiden." -#: ../../library/exceptions.rst:105 +#: ../../builtins/exceptions.rst:105 msgid "Base classes" msgstr "Basisklassen" -#: ../../library/exceptions.rst:107 +#: ../../builtins/exceptions.rst:107 msgid "" "The following exceptions are used mostly as base classes for other " "exceptions." @@ -212,7 +212,7 @@ msgstr "" "Die folgenden Exceptions werden hauptsächlich als Basisklassen für andere " "Exceptions verwendet." -#: ../../library/exceptions.rst:111 +#: ../../builtins/exceptions.rst:111 msgid "" "The base class for all built-in exceptions. It is not meant to be directly " "inherited by user-defined classes (for that, use :exc:`Exception`). If :" @@ -226,7 +226,7 @@ msgstr "" "wird die Darstellung der an die Instanz übergebenen Argumente zurückgegeben " "oder eine leere Zeichenkette, falls keine Argumente vorhanden waren." -#: ../../library/exceptions.rst:119 +#: ../../builtins/exceptions.rst:119 msgid "" "The tuple of arguments given to the exception constructor. Some built-in " "exceptions (like :exc:`OSError`) expect a certain number of arguments and " @@ -239,7 +239,7 @@ msgstr "" "Bedeutung zu, während andere üblicherweise nur mit einer einzelnen " "Zeichenkette aufgerufen werden, die eine Fehlermeldung enthält." -#: ../../library/exceptions.rst:126 +#: ../../builtins/exceptions.rst:126 msgid "" "This method sets *tb* as the new traceback for the exception and returns the " "exception object. It was more commonly used before the exception chaining " @@ -260,7 +260,7 @@ msgstr "" "ursprünglichen ``SomeException`` geschehen wäre, wenn sie an den Aufrufer " "weitergeleitet worden wäre. ::" -#: ../../library/exceptions.rst:135 +#: ../../builtins/exceptions.rst:135 msgid "" "try:\n" " ...\n" @@ -274,7 +274,7 @@ msgstr "" " tb = sys.exception().__traceback__\n" " raise OtherException(...).with_traceback(tb)" -#: ../../library/exceptions.rst:143 +#: ../../builtins/exceptions.rst:143 msgid "" "A writable field that holds the :ref:`traceback object ` " "associated with this exception. See also: :ref:`raise`." @@ -282,7 +282,7 @@ msgstr "" "Ein beschreibbares Feld, das das mit dieser Exception verknüpfte :ref:" "`Traceback-Objekt ` enthält. Siehe auch :ref:`raise`." -#: ../../library/exceptions.rst:149 +#: ../../builtins/exceptions.rst:149 msgid "" "Add the string ``note`` to the exception's notes which appear in the " "standard traceback after the exception string. A :exc:`TypeError` is raised " @@ -292,7 +292,7 @@ msgstr "" "Standard-Traceback nach der Exception-Zeichenkette angezeigt werden. Es wird " "ein :exc:`TypeError` ausgelöst, wenn ``note`` keine Zeichenkette ist." -#: ../../library/exceptions.rst:157 +#: ../../builtins/exceptions.rst:157 msgid "" "A list of the notes of this exception, which were added with :meth:" "`add_note`. This attribute is created when :meth:`add_note` is called." @@ -301,7 +301,7 @@ msgstr "" "hinzugefügt wurden. Dieses Attribut wird erstellt, wenn :meth:`add_note` " "aufgerufen wird." -#: ../../library/exceptions.rst:165 +#: ../../builtins/exceptions.rst:165 msgid "" "All built-in, non-system-exiting exceptions are derived from this class. " "All user-defined exceptions should also be derived from this class." @@ -310,7 +310,7 @@ msgstr "" "Klasse abgeleitet. Alle benutzerdefinierten Exceptions sollten ebenfalls von " "dieser Klasse abgeleitet werden." -#: ../../library/exceptions.rst:171 +#: ../../builtins/exceptions.rst:171 msgid "" "The base class for those built-in exceptions that are raised for various " "arithmetic errors: :exc:`OverflowError`, :exc:`ZeroDivisionError`, :exc:" @@ -320,7 +320,7 @@ msgstr "" "Rechenfehlern ausgelöst werden: :exc:`OverflowError`, :exc:" "`ZeroDivisionError`, :exc:`FloatingPointError`." -#: ../../library/exceptions.rst:178 +#: ../../builtins/exceptions.rst:178 msgid "" "Raised when a :ref:`buffer ` related operation cannot be " "performed." @@ -328,7 +328,7 @@ msgstr "" "Wird ausgelöst, wenn eine Operation im Zusammenhang mit einem :ref:`Puffer " "` nicht ausgeführt werden kann." -#: ../../library/exceptions.rst:184 +#: ../../builtins/exceptions.rst:184 msgid "" "The base class for the exceptions that are raised when a key or index used " "on a mapping or sequence is invalid: :exc:`IndexError`, :exc:`KeyError`. " @@ -339,20 +339,20 @@ msgstr "" "exc:`IndexError`, :exc:`KeyError`. Dies kann direkt von :func:`codecs." "lookup` ausgelöst werden." -#: ../../library/exceptions.rst:190 +#: ../../builtins/exceptions.rst:190 msgid "Concrete exceptions" msgstr "Konkrete Exceptions" -#: ../../library/exceptions.rst:192 +#: ../../builtins/exceptions.rst:192 msgid "The following exceptions are the exceptions that are usually raised." msgstr "" "Die folgenden Exceptions sind diejenigen, die üblicherweise ausgelöst werden." -#: ../../library/exceptions.rst:198 +#: ../../builtins/exceptions.rst:198 msgid "Raised when an :keyword:`assert` statement fails." msgstr "Wird ausgelöst, wenn eine :keyword:`assert`-Anweisung fehlschlägt." -#: ../../library/exceptions.rst:203 +#: ../../builtins/exceptions.rst:203 msgid "" "Raised when an attribute reference (see :ref:`attribute-references`) or " "assignment fails. (When an object does not support attribute references or " @@ -363,7 +363,7 @@ msgstr "" "Attribut-Referenzierungen oder -Zuweisungen unterstützt, wird ein :exc:" "`TypeError` ausgelöst.)" -#: ../../library/exceptions.rst:207 +#: ../../builtins/exceptions.rst:207 msgid "" "The optional *name* and *obj* keyword-only arguments set the corresponding " "attributes:" @@ -371,19 +371,19 @@ msgstr "" "Die optionalen reinen Schlüsselwort-Argumente *name* und *obj* setzen die " "entsprechenden Attribute:" -#: ../../library/exceptions.rst:212 +#: ../../builtins/exceptions.rst:212 msgid "The name of the attribute that was attempted to be accessed." msgstr "Der Name des Attributs, auf das zugegriffen werden sollte." -#: ../../library/exceptions.rst:216 +#: ../../builtins/exceptions.rst:216 msgid "The object that was accessed for the named attribute." msgstr "Das Objekt, auf dessen genanntes Attribut zugegriffen wurde." -#: ../../library/exceptions.rst:218 +#: ../../builtins/exceptions.rst:218 msgid "Added the :attr:`name` and :attr:`obj` attributes." msgstr "Die Attribute :attr:`name` und :attr:`obj` wurden hinzugefügt." -#: ../../library/exceptions.rst:223 +#: ../../builtins/exceptions.rst:223 msgid "" "Raised when the :func:`input` function hits an end-of-file condition (EOF) " "without reading any data. (Note: the :meth:`io.TextIOBase.read` and :meth:" @@ -394,11 +394,11 @@ msgstr "" "TextIOBase.read` und :meth:`io.IOBase.readline` geben eine leere " "Zeichenkette zurück, wenn sie auf EOF stoßen.)" -#: ../../library/exceptions.rst:230 +#: ../../builtins/exceptions.rst:230 msgid "Not currently used." msgstr "Wird derzeit nicht verwendet." -#: ../../library/exceptions.rst:235 +#: ../../builtins/exceptions.rst:235 msgid "" "Raised when a :term:`generator` or :term:`coroutine` is closed; see :meth:" "`generator.close` and :meth:`coroutine.close`. It directly inherits from :" @@ -410,7 +410,7 @@ msgstr "" "meth:`coroutine.close`. Sie erbt direkt von :exc:`BaseException` statt von :" "exc:`Exception`, da es sich technisch gesehen um keinen Fehler handelt." -#: ../../library/exceptions.rst:243 +#: ../../builtins/exceptions.rst:243 msgid "" "Raised when the :keyword:`import` statement has troubles trying to load a " "module. Also raised when the \"from list\" in ``from ... import`` has a " @@ -420,7 +420,7 @@ msgstr "" "eines Moduls hat. Wird auch ausgelöst, wenn die „from-Liste“ in ``from ... " "import`` einen Namen enthält, der nicht gefunden werden kann." -#: ../../library/exceptions.rst:247 +#: ../../builtins/exceptions.rst:247 msgid "" "The optional *name* and *path* keyword-only arguments set the corresponding " "attributes:" @@ -428,19 +428,19 @@ msgstr "" "Die optionalen reinen Schlüsselwort-Argumente *name* und *path* setzen die " "entsprechenden Attribute:" -#: ../../library/exceptions.rst:252 +#: ../../builtins/exceptions.rst:252 msgid "The name of the module that was attempted to be imported." msgstr "Der Name des Moduls, das importiert werden sollte." -#: ../../library/exceptions.rst:256 +#: ../../builtins/exceptions.rst:256 msgid "The path to any file which triggered the exception." msgstr "Der Pfad zu einer Datei, die die Exception ausgelöst hat." -#: ../../library/exceptions.rst:258 +#: ../../builtins/exceptions.rst:258 msgid "Added the :attr:`name` and :attr:`path` attributes." msgstr "Die Attribute :attr:`name` und :attr:`path` wurden hinzugefügt." -#: ../../library/exceptions.rst:263 +#: ../../builtins/exceptions.rst:263 msgid "" "A subclass of :exc:`ImportError` which is raised by :keyword:`import` when a " "module could not be located. It is also raised when ``None`` is found in :" @@ -450,7 +450,7 @@ msgstr "" "wird, wenn ein Modul nicht gefunden werden konnte. Sie wird auch ausgelöst, " "wenn ``None`` in :data:`sys.modules` vorgefunden wird." -#: ../../library/exceptions.rst:272 +#: ../../builtins/exceptions.rst:272 msgid "" "Raised when a sequence subscript is out of range. (Slice indices are " "silently truncated to fall in the allowed range; if an index is not an " @@ -461,7 +461,7 @@ msgstr "" "zu fallen; wenn ein Index keine Ganzzahl ist, wird ein :exc:`TypeError` " "ausgelöst.)" -#: ../../library/exceptions.rst:281 +#: ../../builtins/exceptions.rst:281 msgid "" "Raised when a mapping (dictionary) key is not found in the set of existing " "keys." @@ -469,7 +469,7 @@ msgstr "" "Wird ausgelöst, wenn ein Mapping-Schlüssel (Dictionary-Schlüssel) nicht in " "der Menge der vorhandenen Schlüssel gefunden wird." -#: ../../library/exceptions.rst:288 +#: ../../builtins/exceptions.rst:288 msgid "" "Raised when the user hits the interrupt key (normally :kbd:`Control-C` or :" "kbd:`Delete`). During execution, a check for interrupts is made regularly. " @@ -483,7 +483,7 @@ msgstr "" "`BaseException`, damit sie nicht versehentlich von Code abgefangen wird, " "der :exc:`Exception` fängt, und so das Beenden des Interpreters verhindert." -#: ../../library/exceptions.rst:296 +#: ../../builtins/exceptions.rst:296 msgid "" "Catching a :exc:`KeyboardInterrupt` requires special consideration. Because " "it can be raised at unpredictable points, it may, in some circumstances, " @@ -498,7 +498,7 @@ msgstr "" "Programm so schnell wie möglich zu beenden, oder das Auslösen gänzlich zu " "vermeiden. (Siehe :ref:`handlers-and-exceptions`.)" -#: ../../library/exceptions.rst:306 +#: ../../builtins/exceptions.rst:306 msgid "" "Raised when an operation runs out of memory but the situation may still be " "rescued (by deleting some objects). The associated value is a string " @@ -518,7 +518,7 @@ msgstr "" "Stack-Traceback ausgegeben werden kann, falls ein außer Kontrolle geratenes " "Programm die Ursache war." -#: ../../library/exceptions.rst:317 +#: ../../builtins/exceptions.rst:317 msgid "" "Raised when a local or global name is not found. This applies only to " "unqualified names. The associated value is an error message that includes " @@ -528,19 +528,19 @@ msgstr "" "Dies gilt nur für unqualifizierte Namen. Der zugehörige Wert ist eine " "Fehlermeldung, die den nicht auffindbaren Namen enthält." -#: ../../library/exceptions.rst:321 +#: ../../builtins/exceptions.rst:321 msgid "The optional *name* keyword-only argument sets the attribute:" msgstr "Das optionale reine Schlüsselwort-Argument *name* setzt das Attribut:" -#: ../../library/exceptions.rst:325 +#: ../../builtins/exceptions.rst:325 msgid "The name of the variable that was attempted to be accessed." msgstr "Der Name der Variable, auf die zugegriffen werden sollte." -#: ../../library/exceptions.rst:327 +#: ../../builtins/exceptions.rst:327 msgid "Added the :attr:`name` attribute." msgstr "Das Attribut :attr:`name` wurde hinzugefügt." -#: ../../library/exceptions.rst:333 +#: ../../builtins/exceptions.rst:333 msgid "" "This exception is derived from :exc:`RuntimeError`. In user defined base " "classes, abstract methods should raise this exception when they require " @@ -553,7 +553,7 @@ msgstr "" "während die Klasse entwickelt wird, um anzuzeigen, dass die eigentliche " "Implementierung noch ergänzt werden muss." -#: ../../library/exceptions.rst:340 +#: ../../builtins/exceptions.rst:340 msgid "" "It should not be used to indicate that an operator or method is not meant to " "be supported at all -- in that case either leave the operator / method " @@ -564,7 +564,7 @@ msgstr "" "Fall den Operator bzw. die Methode entweder undefiniert oder setze sie in " "einer Unterklasse auf :data:`None`." -#: ../../library/exceptions.rst:346 +#: ../../builtins/exceptions.rst:346 msgid "" ":exc:`!NotImplementedError` and :data:`!NotImplemented` are not " "interchangeable. This exception should only be used as described above; see :" @@ -575,7 +575,7 @@ msgstr "" "werden; siehe :data:`NotImplemented` für Details zur korrekten Verwendung " "der eingebauten Konstante." -#: ../../library/exceptions.rst:357 +#: ../../builtins/exceptions.rst:357 msgid "" "This exception is raised when a system function returns a system-related " "error, including I/O failures such as \"file not found\" or \"disk " @@ -586,7 +586,7 @@ msgstr "" "nicht gefunden“ oder „Festplatte voll“ (nicht bei unzulässigen Argumenttypen " "oder anderen beiläufigen Fehlern)." -#: ../../library/exceptions.rst:361 +#: ../../builtins/exceptions.rst:361 msgid "" "The second form of the constructor sets the corresponding attributes, " "described below. The attributes default to :const:`None` if not specified. " @@ -600,7 +600,7 @@ msgstr "" "das Attribut :attr:`~BaseException.args` bei Übergabe von drei Argumenten " "nur ein 2-Tupel der ersten beiden Konstruktorargumente." -#: ../../library/exceptions.rst:367 +#: ../../builtins/exceptions.rst:367 msgid "" "The constructor often actually returns a subclass of :exc:`OSError`, as " "described in `OS exceptions`_ below. The particular subclass depends on the " @@ -614,11 +614,11 @@ msgstr "" "auf, wenn :exc:`OSError` direkt oder über einen Alias konstruiert wird, und " "wird beim Erstellen von Unterklassen nicht vererbt." -#: ../../library/exceptions.rst:375 +#: ../../builtins/exceptions.rst:375 msgid "A numeric error code from the C variable :c:data:`errno`." msgstr "Ein numerischer Fehlercode aus der C-Variable :c:data:`errno`." -#: ../../library/exceptions.rst:379 +#: ../../builtins/exceptions.rst:379 msgid "" "Under Windows, this gives you the native Windows error code. The :attr:`." "errno` attribute is then an approximate translation, in POSIX terms, of that " @@ -628,7 +628,7 @@ msgstr "" "attr:`.errno` ist dann eine ungefähre Übersetzung dieses nativen Fehlercodes " "in POSIX-Begriffe." -#: ../../library/exceptions.rst:383 +#: ../../builtins/exceptions.rst:383 msgid "" "Under Windows, if the *winerror* constructor argument is an integer, the :" "attr:`.errno` attribute is determined from the Windows error code, and the " @@ -640,7 +640,7 @@ msgstr "" "Argument *errno* wird ignoriert. Auf anderen Plattformen wird das Argument " "*winerror* ignoriert und das Attribut :attr:`winerror` existiert nicht." -#: ../../library/exceptions.rst:391 +#: ../../builtins/exceptions.rst:391 msgid "" "The corresponding error message, as provided by the operating system. It is " "formatted by the C functions :c:func:`!perror` under POSIX, and :c:func:`!" @@ -650,7 +650,7 @@ msgstr "" "wird. Sie wird unter POSIX durch die C-Funktion :c:func:`!perror` und unter " "Windows durch :c:func:`!FormatMessage` formatiert." -#: ../../library/exceptions.rst:399 +#: ../../builtins/exceptions.rst:399 msgid "" "For exceptions that involve a file system path (such as :func:`open` or :" "func:`os.unlink`), :attr:`filename` is the file name passed to the function. " @@ -664,7 +664,7 @@ msgstr "" "`os.rename`), entspricht :attr:`filename2` dem zweiten an die Funktion " "übergebenen Dateinamen." -#: ../../library/exceptions.rst:406 +#: ../../builtins/exceptions.rst:406 msgid "" ":exc:`EnvironmentError`, :exc:`IOError`, :exc:`WindowsError`, :exc:`socket." "error`, :exc:`select.error` and :exc:`!mmap.error` have been merged into :" @@ -674,7 +674,7 @@ msgstr "" "error`, :exc:`select.error` und :exc:`!mmap.error` wurden in :exc:`OSError` " "zusammengeführt, und der Konstruktor kann eine Unterklasse zurückgeben." -#: ../../library/exceptions.rst:412 +#: ../../builtins/exceptions.rst:412 msgid "" "The :attr:`filename` attribute is now the original file name passed to the " "function, instead of the name encoded to or decoded from the :term:" @@ -687,7 +687,7 @@ msgstr "" "error handler>` kodiert oder dekodiert wurde. Zudem wurden das " "Konstruktorargument und das Attribut *filename2* hinzugefügt." -#: ../../library/exceptions.rst:421 +#: ../../builtins/exceptions.rst:421 msgid "" "Raised when the result of an arithmetic operation is too large to be " "represented. This cannot occur for integers (which would rather raise :exc:" @@ -704,7 +704,7 @@ msgstr "" "fehlenden Standardisierung der Behandlung von Gleitkomma-Exceptions in C " "werden die meisten Gleitkommaoperationen nicht überprüft." -#: ../../library/exceptions.rst:431 +#: ../../builtins/exceptions.rst:431 msgid "" "This exception is derived from :exc:`RuntimeError`. It is raised when an " "operation is blocked during interpreter shutdown also known as :term:`Python " @@ -714,7 +714,7 @@ msgstr "" "wenn eine Operation während des Herunterfahrens des Interpreters blockiert " "wird, auch bekannt als :term:`Python-Finalisierung `." -#: ../../library/exceptions.rst:435 +#: ../../builtins/exceptions.rst:435 msgid "" "Examples of operations which can be blocked with a :exc:" "`PythonFinalizationError` during the Python finalization:" @@ -722,33 +722,33 @@ msgstr "" "Beispiele für Operationen, die während der Python-Finalisierung mit einem :" "exc:`PythonFinalizationError` blockiert werden können:" -#: ../../library/exceptions.rst:438 +#: ../../builtins/exceptions.rst:438 msgid "Creating a new Python thread." msgstr "Erstellen eines neuen Python-Threads." -#: ../../library/exceptions.rst:439 +#: ../../builtins/exceptions.rst:439 msgid ":meth:`Joining ` a running daemon thread." msgstr "" ":meth:`Warten auf das Beenden ` eines laufenden " "Daemon-Threads." -#: ../../library/exceptions.rst:440 +#: ../../builtins/exceptions.rst:440 msgid ":func:`os.fork`." msgstr ":func:`os.fork`." -#: ../../library/exceptions.rst:442 +#: ../../builtins/exceptions.rst:442 msgid "See also the :func:`sys.is_finalizing` function." msgstr "Siehe auch die Funktion :func:`sys.is_finalizing`." -#: ../../library/exceptions.rst:444 ../../library/exceptions.rst:457 +#: ../../builtins/exceptions.rst:444 ../../builtins/exceptions.rst:457 msgid "Previously, a plain :exc:`RuntimeError` was raised." msgstr "Zuvor wurde ein einfacher :exc:`RuntimeError` ausgelöst." -#: ../../library/exceptions.rst:449 +#: ../../builtins/exceptions.rst:449 msgid ":meth:`threading.Thread.join` can now raise this exception." msgstr ":meth:`threading.Thread.join` kann nun diese Exception auslösen." -#: ../../library/exceptions.rst:453 +#: ../../builtins/exceptions.rst:453 msgid "" "This exception is derived from :exc:`RuntimeError`. It is raised when the " "interpreter detects that the maximum recursion depth (see :func:`sys." @@ -758,7 +758,7 @@ msgstr "" "wenn der Interpreter feststellt, dass die maximale Rekursionstiefe (siehe :" "func:`sys.getrecursionlimit`) überschritten wurde." -#: ../../library/exceptions.rst:463 +#: ../../builtins/exceptions.rst:463 msgid "" "This exception is raised when a weak reference proxy, created by the :func:" "`weakref.proxy` function, is used to access an attribute of the referent " @@ -771,7 +771,7 @@ msgstr "" "Collection bereinigt wurde. Weitere Informationen zu schwachen Referenzen " "findest du im Modul :mod:`weakref`." -#: ../../library/exceptions.rst:471 +#: ../../builtins/exceptions.rst:471 msgid "" "Raised when an error is detected that doesn't fall in any of the other " "categories. The associated value is a string indicating what precisely went " @@ -781,7 +781,7 @@ msgstr "" "Kategorien fällt. Der zugehörige Wert ist eine Zeichenkette, die angibt, was " "genau schiefgelaufen ist." -#: ../../library/exceptions.rst:478 +#: ../../builtins/exceptions.rst:478 msgid "" "Raised by built-in function :func:`next` and an :term:`iterator`\\'s :meth:" "`~iterator.__next__` method to signal that there are no further items " @@ -791,7 +791,7 @@ msgstr "" "`~iterator.__next__` eines :term:`Iterators ` ausgelöst, um zu " "signalisieren, dass vom Iterator keine weiteren Elemente erzeugt werden." -#: ../../library/exceptions.rst:484 +#: ../../builtins/exceptions.rst:484 msgid "" "The exception object has a single attribute :attr:`!value`, which is given " "as an argument when constructing the exception, and defaults to :const:" @@ -801,7 +801,7 @@ msgstr "" "der Konstruktion der Exception als Argument übergeben wird und " "standardmäßig :const:`None` ist." -#: ../../library/exceptions.rst:488 +#: ../../builtins/exceptions.rst:488 msgid "" "When a :term:`generator` or :term:`coroutine` function returns, a new :exc:" "`StopIteration` instance is raised, and the value returned by the function " @@ -812,7 +812,7 @@ msgstr "" "ausgelöst und der von der Funktion zurückgegebene Wert als :attr:`value`-" "Parameter an den Konstruktor der Exception übergeben." -#: ../../library/exceptions.rst:493 +#: ../../builtins/exceptions.rst:493 msgid "" "If a generator code directly or indirectly raises :exc:`StopIteration`, it " "is converted into a :exc:`RuntimeError` (retaining the :exc:`StopIteration` " @@ -822,7 +822,7 @@ msgstr "" "dies in einen :exc:`RuntimeError` umgewandelt (wobei die :exc:" "`StopIteration` als Ursache der neuen Exception beibehalten wird)." -#: ../../library/exceptions.rst:497 +#: ../../builtins/exceptions.rst:497 msgid "" "Added ``value`` attribute and the ability for generator functions to use it " "to return a value." @@ -830,7 +830,7 @@ msgstr "" "Das Attribut ``value`` und die Möglichkeit für Generatorfunktionen, damit " "einen Wert zurückzugeben, wurden hinzugefügt." -#: ../../library/exceptions.rst:501 +#: ../../builtins/exceptions.rst:501 msgid "" "Introduced the RuntimeError transformation via ``from __future__ import " "generator_stop``, see :pep:`479`." @@ -838,7 +838,7 @@ msgstr "" "Die RuntimeError-Umwandlung über ``from __future__ import generator_stop`` " "wurde eingeführt, siehe :pep:`479`." -#: ../../library/exceptions.rst:505 +#: ../../builtins/exceptions.rst:505 msgid "" "Enable :pep:`479` for all code by default: a :exc:`StopIteration` error " "raised in a generator is transformed into a :exc:`RuntimeError`." @@ -847,7 +847,7 @@ msgstr "" "Generator ausgelöster :exc:`StopIteration`-Fehler wird in einen :exc:" "`RuntimeError` umgewandelt." -#: ../../library/exceptions.rst:511 +#: ../../builtins/exceptions.rst:511 msgid "" "Must be raised by :meth:`~object.__anext__` method of an :term:`asynchronous " "iterator` object to stop the iteration." @@ -856,7 +856,7 @@ msgstr "" "Iterators ` ausgelöst werden, um die Iteration zu " "stoppen." -#: ../../library/exceptions.rst:518 +#: ../../builtins/exceptions.rst:518 msgid "" "Raised when the parser encounters a syntax error. This may occur in an :" "keyword:`import` statement, in a call to the built-in functions :func:" @@ -869,7 +869,7 @@ msgstr "" "Einlesen des ursprünglichen Skripts bzw. der Standardeingabe (auch " "interaktiv) geschehen." -#: ../../library/exceptions.rst:524 +#: ../../builtins/exceptions.rst:524 msgid "" "The :func:`str` of the exception instance returns only the error message. " "Details is a tuple whose members are also available as separate attributes." @@ -878,11 +878,11 @@ msgstr "" "Fehlermeldung zurück. Die Details sind ein Tupel, dessen Elemente auch als " "separate Attribute verfügbar sind." -#: ../../library/exceptions.rst:529 +#: ../../builtins/exceptions.rst:529 msgid "The name of the file the syntax error occurred in." msgstr "Der Name der Datei, in der der Syntaxfehler aufgetreten ist." -#: ../../library/exceptions.rst:533 +#: ../../builtins/exceptions.rst:533 msgid "" "Which line number in the file the error occurred in. This is 1-indexed: the " "first line in the file has a ``lineno`` of 1." @@ -890,7 +890,7 @@ msgstr "" "Die Zeilennummer in der Datei, in der der Fehler aufgetreten ist. Die " "Zählung beginnt bei 1: Die erste Zeile in der Datei hat die ``lineno`` 1." -#: ../../library/exceptions.rst:538 +#: ../../builtins/exceptions.rst:538 msgid "" "The column in the line where the error occurred. This is 1-indexed: the " "first character in the line has an ``offset`` of 1." @@ -898,11 +898,11 @@ msgstr "" "Die Spalte in der Zeile, in der der Fehler aufgetreten ist. Die Zählung " "beginnt bei 1: Das erste Zeichen in der Zeile hat den ``offset`` 1." -#: ../../library/exceptions.rst:543 +#: ../../builtins/exceptions.rst:543 msgid "The source code text involved in the error." msgstr "Der Quelltext, der an dem Fehler beteiligt war." -#: ../../library/exceptions.rst:547 +#: ../../builtins/exceptions.rst:547 msgid "" "Which line number in the file the error occurred ends in. This is 1-indexed: " "the first line in the file has a ``lineno`` of 1." @@ -910,7 +910,7 @@ msgstr "" "Die Zeilennummer in der Datei, in der der Fehler endet. Die Zählung beginnt " "bei 1: Die erste Zeile in der Datei hat die ``lineno`` 1." -#: ../../library/exceptions.rst:552 +#: ../../builtins/exceptions.rst:552 msgid "" "The column in the end line where the error occurred finishes. This is 1-" "indexed: the first character in the line has an ``offset`` of 1." @@ -918,7 +918,7 @@ msgstr "" "Die Spalte in der Endzeile, an der der Fehler endet. Die Zählung beginnt bei " "1: Das erste Zeichen in der Zeile hat den ``offset`` 1." -#: ../../library/exceptions.rst:555 +#: ../../builtins/exceptions.rst:555 msgid "" "For errors in f-string fields, the message is prefixed by \"f-string: \" and " "the offsets are offsets in a text constructed from the replacement " @@ -931,12 +931,12 @@ msgstr "" "field' zu folgendem args-Attribut: ('f-string: ...', ('', 1, 2, '(a b)\\n', " "1, 5))." -#: ../../library/exceptions.rst:560 +#: ../../builtins/exceptions.rst:560 msgid "Added the :attr:`end_lineno` and :attr:`end_offset` attributes." msgstr "" "Die Attribute :attr:`end_lineno` und :attr:`end_offset` wurden hinzugefügt." -#: ../../library/exceptions.rst:565 +#: ../../builtins/exceptions.rst:565 msgid "" "Base class for syntax errors related to incorrect indentation. This is a " "subclass of :exc:`SyntaxError`." @@ -944,7 +944,7 @@ msgstr "" "Basisklasse für Syntaxfehler im Zusammenhang mit fehlerhafter Einrückung. " "Dies ist eine Unterklasse von :exc:`SyntaxError`." -#: ../../library/exceptions.rst:571 +#: ../../builtins/exceptions.rst:571 msgid "" "Raised when indentation contains an inconsistent use of tabs and spaces. " "This is a subclass of :exc:`IndentationError`." @@ -953,7 +953,7 @@ msgstr "" "und Leerzeichen aufweist. Dies ist eine Unterklasse von :exc:" "`IndentationError`." -#: ../../library/exceptions.rst:577 +#: ../../builtins/exceptions.rst:577 msgid "" "Raised when the interpreter finds an internal error, but the situation does " "not look so serious to cause it to abandon all hope. The associated value is " @@ -969,7 +969,7 @@ msgstr "" "durch die Rückgabe eines ``NULL``-Wertes, ohne dass eine Exception gesetzt " "wurde." -#: ../../library/exceptions.rst:583 +#: ../../builtins/exceptions.rst:583 msgid "" "If you're confident that this exception wasn't your fault, or the fault of a " "package you're using, you should report this to the author or maintainer of " @@ -987,7 +987,7 @@ msgstr "" "Fehlermeldung (den zugehörigen Wert der Exception) und nach Möglichkeit den " "Quelltext des Programms, das den Fehler ausgelöst hat." -#: ../../library/exceptions.rst:594 +#: ../../builtins/exceptions.rst:594 msgid "" "This exception is raised by the :func:`sys.exit` function. It inherits " "from :exc:`BaseException` instead of :exc:`Exception` so that it is not " @@ -1013,7 +1013,7 @@ msgstr "" "Zeichenkette), wird der Wert des Objekts ausgegeben und der Exit-Status ist " "eins." -#: ../../library/exceptions.rst:605 +#: ../../builtins/exceptions.rst:605 msgid "" "A call to :func:`sys.exit` is translated into an exception so that clean-up " "handlers (:keyword:`finally` clauses of :keyword:`try` statements) can be " @@ -1030,7 +1030,7 @@ msgstr "" "erforderlich ist (beispielsweise im Kindprozess nach einem Aufruf von :func:" "`os.fork`)." -#: ../../library/exceptions.rst:614 +#: ../../builtins/exceptions.rst:614 msgid "" "The exit status or error message that is passed to the constructor. " "(Defaults to ``None``.)" @@ -1038,7 +1038,7 @@ msgstr "" "Der Exit-Status oder die Fehlermeldung, die an den Konstruktor übergeben " "wird. (Standardwert ist ``None``.)" -#: ../../library/exceptions.rst:620 +#: ../../builtins/exceptions.rst:620 msgid "" "Raised when an operation or function is applied to an object of " "inappropriate type. The associated value is a string giving details about " @@ -1048,7 +1048,7 @@ msgstr "" "unpassenden Typs angewendet wird. Der zugehörige Wert ist eine Zeichenkette, " "die Details über die Typabweichung enthält." -#: ../../library/exceptions.rst:623 +#: ../../builtins/exceptions.rst:623 msgid "" "This exception may be raised by user code to indicate that an attempted " "operation on an object is not supported, and is not meant to be. If an " @@ -1061,7 +1061,7 @@ msgstr "" "unterstützen soll, dafür aber noch keine Implementierung bereitgestellt hat, " "ist :exc:`NotImplementedError` die passende Exception." -#: ../../library/exceptions.rst:628 +#: ../../builtins/exceptions.rst:628 msgid "" "Passing arguments of the wrong type (e.g. passing a :class:`list` when an :" "class:`int` is expected) should result in a :exc:`TypeError`, but passing " @@ -1074,7 +1074,7 @@ msgstr "" "eine Zahl außerhalb der erwarteten Grenzen) jedoch zu einem :exc:" "`ValueError`." -#: ../../library/exceptions.rst:635 +#: ../../builtins/exceptions.rst:635 msgid "" "Raised when a reference is made to a local variable in a function or method, " "but no value has been bound to that variable. This is a subclass of :exc:" @@ -1084,7 +1084,7 @@ msgstr "" "verwiesen wird, an diese Variable jedoch kein Wert gebunden ist. Dies ist " "eine Unterklasse von :exc:`NameError`." -#: ../../library/exceptions.rst:642 +#: ../../builtins/exceptions.rst:642 msgid "" "Raised when a Unicode-related encoding or decoding error occurs. It is a " "subclass of :exc:`ValueError`." @@ -1092,7 +1092,7 @@ msgstr "" "Wird ausgelöst, wenn ein Unicode-bezogener Kodierungs- oder " "Dekodierungsfehler auftritt. Dies ist eine Unterklasse von :exc:`ValueError`." -#: ../../library/exceptions.rst:645 +#: ../../builtins/exceptions.rst:645 msgid "" ":exc:`UnicodeError` has attributes that describe the encoding or decoding " "error. For example, ``err.object[err.start:err.end]`` gives the particular " @@ -1103,23 +1103,23 @@ msgstr "" "start:err.end]`` die konkrete ungültige Eingabe, an der der Codec " "gescheitert ist." -#: ../../library/exceptions.rst:651 +#: ../../builtins/exceptions.rst:651 msgid "The name of the encoding that raised the error." msgstr "Der Name der Kodierung, die den Fehler ausgelöst hat." -#: ../../library/exceptions.rst:655 +#: ../../builtins/exceptions.rst:655 msgid "A string describing the specific codec error." msgstr "Eine Zeichenkette, die den spezifischen Codec-Fehler beschreibt." -#: ../../library/exceptions.rst:659 +#: ../../builtins/exceptions.rst:659 msgid "The object the codec was attempting to encode or decode." msgstr "Das Objekt, das der Codec zu kodieren oder dekodieren versuchte." -#: ../../library/exceptions.rst:663 +#: ../../builtins/exceptions.rst:663 msgid "The first index of invalid data in :attr:`object`." msgstr "Der erste Index ungültiger Daten in :attr:`object`." -#: ../../library/exceptions.rst:665 ../../library/exceptions.rst:672 +#: ../../builtins/exceptions.rst:665 ../../builtins/exceptions.rst:672 msgid "" "This value should not be negative as it is interpreted as an absolute offset " "but this constraint is not enforced at runtime." @@ -1128,11 +1128,11 @@ msgstr "" "interpretiert wird; diese Einschränkung wird zur Laufzeit jedoch nicht " "erzwungen." -#: ../../library/exceptions.rst:670 +#: ../../builtins/exceptions.rst:670 msgid "The index after the last invalid data in :attr:`object`." msgstr "Der Index nach den letzten ungültigen Daten in :attr:`object`." -#: ../../library/exceptions.rst:678 +#: ../../builtins/exceptions.rst:678 msgid "" "Raised when a Unicode-related error occurs during encoding. It is a " "subclass of :exc:`UnicodeError`." @@ -1140,7 +1140,7 @@ msgstr "" "Wird ausgelöst, wenn bei der Kodierung ein Unicode-bezogener Fehler " "auftritt. Dies ist eine Unterklasse von :exc:`UnicodeError`." -#: ../../library/exceptions.rst:684 +#: ../../builtins/exceptions.rst:684 msgid "" "Raised when a Unicode-related error occurs during decoding. It is a " "subclass of :exc:`UnicodeError`." @@ -1148,7 +1148,7 @@ msgstr "" "Wird ausgelöst, wenn bei der Dekodierung ein Unicode-bezogener Fehler " "auftritt. Dies ist eine Unterklasse von :exc:`UnicodeError`." -#: ../../library/exceptions.rst:690 +#: ../../builtins/exceptions.rst:690 msgid "" "Raised when a Unicode-related error occurs during translating. It is a " "subclass of :exc:`UnicodeError`." @@ -1156,7 +1156,7 @@ msgstr "" "Wird ausgelöst, wenn bei der Übersetzung ein Unicode-bezogener Fehler " "auftritt. Dies ist eine Unterklasse von :exc:`UnicodeError`." -#: ../../library/exceptions.rst:696 +#: ../../builtins/exceptions.rst:696 msgid "" "Raised when an operation or function receives an argument that has the right " "type but an inappropriate value, and the situation is not described by a " @@ -1167,7 +1167,7 @@ msgstr "" "Situation nicht durch eine präzisere Exception wie :exc:`IndexError` " "beschrieben wird." -#: ../../library/exceptions.rst:703 +#: ../../builtins/exceptions.rst:703 msgid "" "Raised when the second argument of a division or modulo operation is zero. " "The associated value is a string indicating the type of the operands and the " @@ -1177,7 +1177,7 @@ msgstr "" "Operation null ist. Der zugehörige Wert ist eine Zeichenkette, die den Typ " "der Operanden und die Operation angibt." -#: ../../library/exceptions.rst:708 +#: ../../builtins/exceptions.rst:708 msgid "" "The following exceptions are kept for compatibility with previous versions; " "starting from Python 3.3, they are aliases of :exc:`OSError`." @@ -1185,15 +1185,15 @@ msgstr "" "Die folgenden Exceptions werden aus Kompatibilitätsgründen mit früheren " "Versionen beibehalten; ab Python 3.3 sind sie Aliase von :exc:`OSError`." -#: ../../library/exceptions.rst:717 +#: ../../builtins/exceptions.rst:717 msgid "Only available on Windows." msgstr "Nur unter Windows verfügbar." -#: ../../library/exceptions.rst:721 +#: ../../builtins/exceptions.rst:721 msgid "OS exceptions" msgstr "OS-Exceptions" -#: ../../library/exceptions.rst:723 +#: ../../builtins/exceptions.rst:723 msgid "" "The following exceptions are subclasses of :exc:`OSError`, they get raised " "depending on the system error code." @@ -1201,7 +1201,7 @@ msgstr "" "Die folgenden Exceptions sind Unterklassen von :exc:`OSError`; sie werden in " "Abhängigkeit vom Systemfehlercode ausgelöst." -#: ../../library/exceptions.rst:728 +#: ../../builtins/exceptions.rst:728 msgid "" "Raised when an operation would block on an object (e.g. socket) set for non-" "blocking operation. Corresponds to :c:data:`errno` :py:const:`~errno." @@ -1213,7 +1213,7 @@ msgstr "" "Entspricht der :c:data:`errno` :py:const:`~errno.EAGAIN`, :py:const:`~errno." "EALREADY`, :py:const:`~errno.EWOULDBLOCK` und :py:const:`~errno.EINPROGRESS`." -#: ../../library/exceptions.rst:733 +#: ../../builtins/exceptions.rst:733 msgid "" "In addition to those of :exc:`OSError`, :exc:`BlockingIOError` can have one " "more attribute:" @@ -1221,7 +1221,7 @@ msgstr "" "Zusätzlich zu denen von :exc:`OSError` kann :exc:`BlockingIOError` ein " "weiteres Attribut besitzen:" -#: ../../library/exceptions.rst:738 +#: ../../builtins/exceptions.rst:738 msgid "" "An integer containing the number of **bytes** written to the stream before " "it blocked. This attribute is available when using the buffered I/O classes " @@ -1231,7 +1231,7 @@ msgstr "" "geschrieben wurden, bevor er blockiert wurde. Dieses Attribut ist verfügbar, " "wenn die gepufferten I/O-Klassen aus dem Modul :mod:`io` verwendet werden." -#: ../../library/exceptions.rst:744 +#: ../../builtins/exceptions.rst:744 msgid "" "Raised when an operation on a child process failed. Corresponds to :c:data:" "`errno` :py:const:`~errno.ECHILD`." @@ -1239,11 +1239,11 @@ msgstr "" "Wird ausgelöst, wenn eine Operation auf einem Kindprozess fehlschlägt. " "Entspricht der :c:data:`errno` :py:const:`~errno.ECHILD`." -#: ../../library/exceptions.rst:749 +#: ../../builtins/exceptions.rst:749 msgid "A base class for connection-related issues." msgstr "Eine Basisklasse für verbindungsbezogene Probleme." -#: ../../library/exceptions.rst:751 +#: ../../builtins/exceptions.rst:751 msgid "" "Subclasses are :exc:`BrokenPipeError`, :exc:`ConnectionAbortedError`, :exc:" "`ConnectionRefusedError` and :exc:`ConnectionResetError`." @@ -1251,7 +1251,7 @@ msgstr "" "Unterklassen sind :exc:`BrokenPipeError`, :exc:`ConnectionAbortedError`, :" "exc:`ConnectionRefusedError` und :exc:`ConnectionResetError`." -#: ../../library/exceptions.rst:756 +#: ../../builtins/exceptions.rst:756 msgid "" "A subclass of :exc:`ConnectionError`, raised when trying to write on a pipe " "while the other end has been closed, or trying to write on a socket which " @@ -1264,7 +1264,7 @@ msgstr "" "heruntergefahren wurde. Entspricht der :c:data:`errno` :py:const:`~errno." "EPIPE` und :py:const:`~errno.ESHUTDOWN`." -#: ../../library/exceptions.rst:763 +#: ../../builtins/exceptions.rst:763 msgid "" "A subclass of :exc:`ConnectionError`, raised when a connection attempt is " "aborted by the peer. Corresponds to :c:data:`errno` :py:const:`~errno." @@ -1274,7 +1274,7 @@ msgstr "" "Verbindungsversuch von der Gegenstelle abgebrochen wird. Entspricht der :c:" "data:`errno` :py:const:`~errno.ECONNABORTED`." -#: ../../library/exceptions.rst:769 +#: ../../builtins/exceptions.rst:769 msgid "" "A subclass of :exc:`ConnectionError`, raised when a connection attempt is " "refused by the peer. Corresponds to :c:data:`errno` :py:const:`~errno." @@ -1284,7 +1284,7 @@ msgstr "" "Verbindungsversuch von der Gegenstelle abgelehnt wird. Entspricht der :c:" "data:`errno` :py:const:`~errno.ECONNREFUSED`." -#: ../../library/exceptions.rst:775 +#: ../../builtins/exceptions.rst:775 msgid "" "A subclass of :exc:`ConnectionError`, raised when a connection is reset by " "the peer. Corresponds to :c:data:`errno` :py:const:`~errno.ECONNRESET`." @@ -1293,7 +1293,7 @@ msgstr "" "Verbindung von der Gegenstelle zurückgesetzt wird. Entspricht der :c:data:" "`errno` :py:const:`~errno.ECONNRESET`." -#: ../../library/exceptions.rst:781 +#: ../../builtins/exceptions.rst:781 msgid "" "Raised when trying to create a file or directory which already exists. " "Corresponds to :c:data:`errno` :py:const:`~errno.EEXIST`." @@ -1302,7 +1302,7 @@ msgstr "" "erstellen, die bzw. das bereits existiert. Entspricht der :c:data:`errno` :" "py:const:`~errno.EEXIST`." -#: ../../library/exceptions.rst:786 +#: ../../builtins/exceptions.rst:786 msgid "" "Raised when a file or directory is requested but doesn't exist. Corresponds " "to :c:data:`errno` :py:const:`~errno.ENOENT`." @@ -1310,7 +1310,7 @@ msgstr "" "Wird ausgelöst, wenn eine Datei oder ein Verzeichnis angefordert wird, aber " "nicht existiert. Entspricht der :c:data:`errno` :py:const:`~errno.ENOENT`." -#: ../../library/exceptions.rst:791 +#: ../../builtins/exceptions.rst:791 msgid "" "Raised when a system call is interrupted by an incoming signal. Corresponds " "to :c:data:`errno` :py:const:`~errno.EINTR`." @@ -1318,7 +1318,7 @@ msgstr "" "Wird ausgelöst, wenn ein Systemaufruf durch ein eingehendes Signal " "unterbrochen wird. Entspricht der :c:data:`errno` :py:const:`~errno.EINTR`." -#: ../../library/exceptions.rst:794 +#: ../../builtins/exceptions.rst:794 msgid "" "Python now retries system calls when a syscall is interrupted by a signal, " "except if the signal handler raises an exception (see :pep:`475` for the " @@ -1329,7 +1329,7 @@ msgstr "" "(siehe :pep:`475` für die Begründung), anstatt :exc:`InterruptedError` " "auszulösen." -#: ../../library/exceptions.rst:801 +#: ../../builtins/exceptions.rst:801 msgid "" "Raised when a file operation (such as :func:`os.remove`) is requested on a " "directory. Corresponds to :c:data:`errno` :py:const:`~errno.EISDIR`." @@ -1338,7 +1338,7 @@ msgstr "" "Verzeichnis angewendet werden soll. Entspricht der :c:data:`errno` :py:const:" "`~errno.EISDIR`." -#: ../../library/exceptions.rst:807 +#: ../../builtins/exceptions.rst:807 msgid "" "Raised when a directory operation (such as :func:`os.listdir`) is requested " "on something which is not a directory. On most POSIX platforms, it may also " @@ -1353,7 +1353,7 @@ msgstr "" "durchlaufen, als wäre sie ein Verzeichnis. Entspricht der :c:data:`errno` :" "py:const:`~errno.ENOTDIR`." -#: ../../library/exceptions.rst:815 +#: ../../builtins/exceptions.rst:815 msgid "" "Raised when trying to run an operation without the adequate access rights - " "for example filesystem permissions. Corresponds to :c:data:`errno` :py:const:" @@ -1365,7 +1365,7 @@ msgstr "" "Entspricht der :c:data:`errno` :py:const:`~errno.EACCES`, :py:const:`~errno." "EPERM` und :py:const:`~errno.ENOTCAPABLE`." -#: ../../library/exceptions.rst:820 +#: ../../builtins/exceptions.rst:820 msgid "" "WASI's :py:const:`~errno.ENOTCAPABLE` is now mapped to :exc:" "`PermissionError`." @@ -1373,7 +1373,7 @@ msgstr "" ":py:const:`~errno.ENOTCAPABLE` von WASI ist nun auf :exc:`PermissionError` " "gemappt." -#: ../../library/exceptions.rst:826 +#: ../../builtins/exceptions.rst:826 msgid "" "Raised when a given process doesn't exist. Corresponds to :c:data:`errno` :" "py:const:`~errno.ESRCH`." @@ -1381,7 +1381,7 @@ msgstr "" "Wird ausgelöst, wenn ein angegebener Prozess nicht existiert. Entspricht " "der :c:data:`errno` :py:const:`~errno.ESRCH`." -#: ../../library/exceptions.rst:831 +#: ../../builtins/exceptions.rst:831 msgid "" "Raised when a system function timed out at the system level. Corresponds to :" "c:data:`errno` :py:const:`~errno.ETIMEDOUT`." @@ -1390,19 +1390,19 @@ msgstr "" "Zeitüberschreitung erlitten hat. Entspricht der :c:data:`errno` :py:const:" "`~errno.ETIMEDOUT`." -#: ../../library/exceptions.rst:834 +#: ../../builtins/exceptions.rst:834 msgid "All the above :exc:`OSError` subclasses were added." msgstr "Alle oben genannten :exc:`OSError`-Unterklassen wurden hinzugefügt." -#: ../../library/exceptions.rst:840 +#: ../../builtins/exceptions.rst:840 msgid ":pep:`3151` - Reworking the OS and IO exception hierarchy" msgstr ":pep:`3151` – Überarbeitung der OS- und IO-Exception-Hierarchie" -#: ../../library/exceptions.rst:846 +#: ../../builtins/exceptions.rst:846 msgid "Warnings" msgstr "Warnungen" -#: ../../library/exceptions.rst:848 +#: ../../builtins/exceptions.rst:848 msgid "" "The following exceptions are used as warning categories; see the :ref:" "`warning-categories` documentation for more details." @@ -1410,15 +1410,15 @@ msgstr "" "Die folgenden Exceptions werden als Warnungskategorien verwendet; siehe die " "Dokumentation zu :ref:`warning-categories` für weitere Details." -#: ../../library/exceptions.rst:853 +#: ../../builtins/exceptions.rst:853 msgid "Base class for warning categories." msgstr "Basisklasse für Warnungskategorien." -#: ../../library/exceptions.rst:858 +#: ../../builtins/exceptions.rst:858 msgid "Base class for warnings generated by user code." msgstr "Basisklasse für von Benutzercode erzeugte Warnungen." -#: ../../library/exceptions.rst:863 +#: ../../builtins/exceptions.rst:863 msgid "" "Base class for warnings about deprecated features when those warnings are " "intended for other Python developers." @@ -1426,7 +1426,7 @@ msgstr "" "Basisklasse für Warnungen über veraltete Features, wenn diese Warnungen für " "andere Python-Entwickler bestimmt sind." -#: ../../library/exceptions.rst:866 +#: ../../builtins/exceptions.rst:866 msgid "" "Ignored by the default warning filters, except in the ``__main__`` module (:" "pep:`565`). Enabling the :ref:`Python Development Mode ` shows this " @@ -1436,12 +1436,12 @@ msgstr "" "pep:`565`). Die Aktivierung des :ref:`Python-Entwicklungsmodus ` " "zeigt diese Warnung an." -#: ../../library/exceptions.rst:870 ../../library/exceptions.rst:886 +#: ../../builtins/exceptions.rst:870 ../../builtins/exceptions.rst:886 msgid "The deprecation policy is described in :pep:`387`." msgstr "" "Die Richtlinie für veraltete Funktionen wird in :pep:`387` beschrieben." -#: ../../library/exceptions.rst:875 +#: ../../builtins/exceptions.rst:875 msgid "" "Base class for warnings about features which are obsolete and expected to be " "deprecated in the future, but are not deprecated at the moment." @@ -1450,7 +1450,7 @@ msgstr "" "erwartet wird, dass sie in Zukunft als veraltet markiert werden, es derzeit " "jedoch noch nicht sind." -#: ../../library/exceptions.rst:879 +#: ../../builtins/exceptions.rst:879 msgid "" "This class is rarely used as emitting a warning about a possible upcoming " "deprecation is unusual, and :exc:`DeprecationWarning` is preferred for " @@ -1460,8 +1460,8 @@ msgstr "" "möglichen künftigen Veraltung unüblich ist; für bereits aktive Veraltungen " "wird :exc:`DeprecationWarning` bevorzugt." -#: ../../library/exceptions.rst:883 ../../library/exceptions.rst:912 -#: ../../library/exceptions.rst:939 +#: ../../builtins/exceptions.rst:883 ../../builtins/exceptions.rst:912 +#: ../../builtins/exceptions.rst:939 msgid "" "Ignored by the default warning filters. Enabling the :ref:`Python " "Development Mode ` shows this warning." @@ -1469,11 +1469,11 @@ msgstr "" "Wird von den Standard-Warnfiltern ignoriert. Die Aktivierung des :ref:" "`Python-Entwicklungsmodus ` zeigt diese Warnung an." -#: ../../library/exceptions.rst:891 +#: ../../builtins/exceptions.rst:891 msgid "Base class for warnings about dubious syntax." msgstr "Basisklasse für Warnungen bezüglich zweifelhafter Syntax." -#: ../../library/exceptions.rst:893 +#: ../../builtins/exceptions.rst:893 msgid "" "This warning is typically emitted when compiling Python source code, and " "usually won't be reported when running already compiled code." @@ -1482,11 +1482,11 @@ msgstr "" "ausgegeben und tritt beim Ausführen von bereits kompiliertem Code " "üblicherweise nicht auf." -#: ../../library/exceptions.rst:899 +#: ../../builtins/exceptions.rst:899 msgid "Base class for warnings about dubious runtime behavior." msgstr "Basisklasse für Warnungen bezüglich zweifelhaften Laufzeitverhaltens." -#: ../../library/exceptions.rst:904 +#: ../../builtins/exceptions.rst:904 msgid "" "Base class for warnings about deprecated features when those warnings are " "intended for end users of applications that are written in Python." @@ -1494,39 +1494,39 @@ msgstr "" "Basisklasse für Warnungen über veraltete Features, wenn diese Warnungen für " "Endbenutzer von in Python geschriebenen Anwendungen bestimmt sind." -#: ../../library/exceptions.rst:910 +#: ../../builtins/exceptions.rst:910 msgid "Base class for warnings about probable mistakes in module imports." msgstr "" "Basisklasse für Warnungen vor wahrscheinlichen Fehlern bei Modulimporten." -#: ../../library/exceptions.rst:918 +#: ../../builtins/exceptions.rst:918 msgid "Base class for warnings related to Unicode." msgstr "Basisklasse für Warnungen im Zusammenhang mit Unicode." -#: ../../library/exceptions.rst:923 +#: ../../builtins/exceptions.rst:923 msgid "Base class for warnings related to encodings." msgstr "Basisklasse für Warnungen im Zusammenhang mit Kodierungen." -#: ../../library/exceptions.rst:925 +#: ../../builtins/exceptions.rst:925 msgid "See :ref:`io-encoding-warning` for details." msgstr "Siehe :ref:`io-encoding-warning` für Details." -#: ../../library/exceptions.rst:932 +#: ../../builtins/exceptions.rst:932 msgid "" "Base class for warnings related to :class:`bytes` and :class:`bytearray`." msgstr "" "Basisklasse für Warnungen im Zusammenhang mit :class:`bytes` und :class:" "`bytearray`." -#: ../../library/exceptions.rst:937 +#: ../../builtins/exceptions.rst:937 msgid "Base class for warnings related to resource usage." msgstr "Basisklasse für Warnungen im Zusammenhang mit der Ressourcennutzung." -#: ../../library/exceptions.rst:948 +#: ../../builtins/exceptions.rst:948 msgid "Exception groups" msgstr "Exception-Gruppen" -#: ../../library/exceptions.rst:950 +#: ../../builtins/exceptions.rst:950 msgid "" "The following are used when it is necessary to raise multiple unrelated " "exceptions. They are part of the exception hierarchy so they can be handled " @@ -1541,7 +1541,7 @@ msgstr "" "erkannt, was ihre Untergruppen anhand der Typen der enthaltenen Exceptions " "abgleicht." -#: ../../library/exceptions.rst:959 +#: ../../builtins/exceptions.rst:959 msgid "" "Both of these exception types wrap the exceptions in the sequence ``excs``. " "The ``msg`` parameter must be a string. The difference between the two " @@ -1560,7 +1560,7 @@ msgstr "" "Exception`` eine :exc:`ExceptionGroup` abfängt, nicht jedoch :exc:" "`BaseExceptionGroup`." -#: ../../library/exceptions.rst:967 +#: ../../builtins/exceptions.rst:967 msgid "" "The :exc:`BaseExceptionGroup` constructor returns an :exc:`ExceptionGroup` " "rather than a :exc:`BaseExceptionGroup` if all contained exceptions are :exc:" @@ -1575,7 +1575,7 @@ msgstr "" "von :exc:`ExceptionGroup` hingegen löst einen :exc:`TypeError` aus, wenn " "eine enthaltene Exception keine Unterklasse von :exc:`Exception` ist." -#: ../../library/exceptions.rst:974 +#: ../../builtins/exceptions.rst:974 msgid "" "Exception groups are :ref:`generic ` over the type of their " "contained exceptions." @@ -1583,7 +1583,7 @@ msgstr "" "Exception-Gruppen sind hinsichtlich des Typs ihrer enthaltenen Ausnahmen :" "ref:`generisch `." -#: ../../library/exceptions.rst:979 +#: ../../builtins/exceptions.rst:979 msgid "" "The ``excs`` parameter may be any sequence, but lists and tuples are " "specifically processed more efficiently here. For optimal performance, pass " @@ -1593,13 +1593,13 @@ msgstr "" "Tupel hier speziell effizienter verarbeitet werden. Für optimale Leistung " "übergib ``excs`` als Tupel." -#: ../../library/exceptions.rst:985 +#: ../../builtins/exceptions.rst:985 msgid "The ``msg`` argument to the constructor. This is a read-only attribute." msgstr "" "Das Argument ``msg`` an den Konstruktor. Dies ist ein schreibgeschütztes " "Attribut." -#: ../../library/exceptions.rst:989 +#: ../../builtins/exceptions.rst:989 msgid "" "A tuple of the exceptions in the ``excs`` sequence given to the constructor. " "This is a read-only attribute." @@ -1607,7 +1607,7 @@ msgstr "" "Ein Tupel der Exceptions in der Sequenz ``excs``, die an den Konstruktor " "übergeben wurde. Dies ist ein schreibgeschütztes Attribut." -#: ../../library/exceptions.rst:994 +#: ../../builtins/exceptions.rst:994 msgid "" "Returns an exception group that contains only the exceptions from the " "current group that match *condition*, or ``None`` if the result is empty." @@ -1616,7 +1616,7 @@ msgstr "" "aktuellen Gruppe enthält, die auf *condition* zutreffen, oder ``None``, wenn " "das Ergebnis leer ist." -#: ../../library/exceptions.rst:997 +#: ../../builtins/exceptions.rst:997 msgid "" "The condition can be an exception type or tuple of exception types, in which " "case each exception is checked for a match using the same check that is used " @@ -1631,7 +1631,7 @@ msgstr "" "eine Exception als einziges Argument akzeptiert und für diejenigen " "Exceptions True zurückgibt, die in der Untergruppe enthalten sein sollen." -#: ../../library/exceptions.rst:1003 +#: ../../builtins/exceptions.rst:1003 msgid "" "The nesting structure of the current exception is preserved in the result, " "as are the values of its :attr:`message`, :attr:`~BaseException." @@ -1645,7 +1645,7 @@ msgstr "" "__context__` und :attr:`~BaseException.__notes__`. Leere verschachtelte " "Gruppen werden im Ergebnis weggelassen." -#: ../../library/exceptions.rst:1010 +#: ../../builtins/exceptions.rst:1010 msgid "" "The condition is checked for all exceptions in the nested exception group, " "including the top-level and any nested exception groups. If the condition is " @@ -1656,12 +1656,12 @@ msgstr "" "Exception-Gruppen. Wenn die Bedingung für eine solche Exception-Gruppe wahr " "ist, wird sie vollständig in das Ergebnis aufgenommen." -#: ../../library/exceptions.rst:1014 +#: ../../builtins/exceptions.rst:1014 msgid "``condition`` can be any callable which is not a type object." msgstr "" "``condition`` kann jedes aufrufbare Objekt sein, das kein Typobjekt ist." -#: ../../library/exceptions.rst:1019 +#: ../../builtins/exceptions.rst:1019 msgid "" "Like :meth:`subgroup`, but returns the pair ``(match, rest)`` where " "``match`` is ``subgroup(condition)`` and ``rest`` is the remaining non-" @@ -1671,7 +1671,7 @@ msgstr "" "``match`` ``subgroup(condition)`` entspricht und ``rest`` der verbleibende, " "nicht übereinstimmende Teil ist." -#: ../../library/exceptions.rst:1025 +#: ../../builtins/exceptions.rst:1025 msgid "" "Returns an exception group with the same :attr:`message`, but which wraps " "the exceptions in ``excs``." @@ -1679,7 +1679,7 @@ msgstr "" "Gibt eine Exception-Gruppe mit derselben :attr:`message` zurück, die jedoch " "die Exceptions in ``excs`` kapselt." -#: ../../library/exceptions.rst:1028 +#: ../../builtins/exceptions.rst:1028 msgid "" "This method is used by :meth:`subgroup` and :meth:`split`, which are used in " "various contexts to break up an exception group. A subclass needs to " @@ -1692,7 +1692,7 @@ msgstr "" "meth:`split` Instanzen der Unterklasse anstelle von :exc:`ExceptionGroup` " "zurückgeben." -#: ../../library/exceptions.rst:1034 +#: ../../builtins/exceptions.rst:1034 msgid "" ":meth:`subgroup` and :meth:`split` copy the :attr:`~BaseException." "__traceback__`, :attr:`~BaseException.__cause__`, :attr:`~BaseException." @@ -1706,7 +1706,7 @@ msgstr "" "Exception-Gruppe in die von :meth:`derive` zurückgegebene Gruppe, sodass " "diese Felder nicht von :meth:`derive` aktualisiert werden müssen." -#: ../../library/exceptions.rst:1041 +#: ../../builtins/exceptions.rst:1041 msgid "" ">>> class MyGroup(ExceptionGroup):\n" "... def derive(self, excs):\n" @@ -1760,7 +1760,7 @@ msgstr "" ">>> exc.__traceback__ is match.__traceback__ is rest.__traceback__\n" "True" -#: ../../library/exceptions.rst:1067 +#: ../../builtins/exceptions.rst:1067 msgid "" "Note that :exc:`BaseExceptionGroup` defines :meth:`~object.__new__`, so " "subclasses that need a different constructor signature need to override that " @@ -1775,7 +1775,7 @@ msgstr "" "einen exit_code entgegennimmt und daraus die Nachricht der Gruppe " "konstruiert::" -#: ../../library/exceptions.rst:1073 +#: ../../builtins/exceptions.rst:1073 msgid "" "class Errors(ExceptionGroup):\n" " def __new__(cls, errors, exit_code):\n" @@ -1795,7 +1795,7 @@ msgstr "" " def derive(self, excs):\n" " return Errors(excs, self.exit_code)" -#: ../../library/exceptions.rst:1082 +#: ../../builtins/exceptions.rst:1082 msgid "" "Like :exc:`ExceptionGroup`, any subclass of :exc:`BaseExceptionGroup` which " "is also a subclass of :exc:`Exception` can only wrap instances of :exc:" @@ -1805,15 +1805,15 @@ msgstr "" "`BaseExceptionGroup`, die zugleich eine Unterklasse von :exc:`Exception` " "ist, nur Instanzen von :exc:`Exception` kapseln." -#: ../../library/exceptions.rst:1090 +#: ../../builtins/exceptions.rst:1090 msgid "Exception hierarchy" msgstr "Exception-Hierarchie" -#: ../../library/exceptions.rst:1092 +#: ../../builtins/exceptions.rst:1092 msgid "The class hierarchy for built-in exceptions is:" msgstr "Die Klassenhierarchie für eingebaute Exceptions ist:" -#: ../../library/exceptions.rst:1094 +#: ../../builtins/exceptions.rst:1094 msgid "" "BaseException\n" " ├── BaseExceptionGroup\n" @@ -1953,52 +1953,52 @@ msgstr "" " ├── UnicodeWarning\n" " └── UserWarning\n" -#: ../../library/exceptions.rst:6 ../../library/exceptions.rst:17 -#: ../../library/exceptions.rst:196 +#: ../../builtins/exceptions.rst:6 ../../builtins/exceptions.rst:17 +#: ../../builtins/exceptions.rst:196 msgid "statement" msgstr "Anweisung" -#: ../../library/exceptions.rst:6 +#: ../../builtins/exceptions.rst:6 msgid "try" msgstr "try" -#: ../../library/exceptions.rst:6 +#: ../../builtins/exceptions.rst:6 msgid "except" msgstr "except" -#: ../../library/exceptions.rst:17 +#: ../../builtins/exceptions.rst:17 msgid "raise" msgstr "raise" -#: ../../library/exceptions.rst:41 +#: ../../builtins/exceptions.rst:41 msgid "exception" msgstr "Exception" -#: ../../library/exceptions.rst:41 +#: ../../builtins/exceptions.rst:41 msgid "chaining" msgstr "Verkettung" -#: ../../library/exceptions.rst:41 +#: ../../builtins/exceptions.rst:41 msgid "__cause__ (exception attribute)" msgstr "__cause__ (Exception-Attribut)" -#: ../../library/exceptions.rst:41 +#: ../../builtins/exceptions.rst:41 msgid "__context__ (exception attribute)" msgstr "__context__ (Exception-Attribut)" -#: ../../library/exceptions.rst:41 +#: ../../builtins/exceptions.rst:41 msgid "__suppress_context__ (exception attribute)" msgstr "__suppress_context__ (Exception-Attribut)" -#: ../../library/exceptions.rst:196 +#: ../../builtins/exceptions.rst:196 msgid "assert" msgstr "assert" -#: ../../library/exceptions.rst:355 +#: ../../builtins/exceptions.rst:355 msgid "module" msgstr "Modul" -#: ../../library/exceptions.rst:355 +#: ../../builtins/exceptions.rst:355 msgid "errno" msgstr "errno" diff --git a/builtins/functions.po b/builtins/functions.po index 40cdd6b1..f674eb4d 100644 --- a/builtins/functions.po +++ b/builtins/functions.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-05 16:53+0200\n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" "PO-Revision-Date: 2026-08-16 00:01+0000\n" "Last-Translator: Swen Bachmann <142266608+sba72@users.noreply.github.com>\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -20,11 +20,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../../library/functions.rst:5 ../../library/functions.rst:11 +#: ../../builtins/functions.rst:5 ../../builtins/functions.rst:11 msgid "Built-in Functions" msgstr "Integrierte Funktionen" -#: ../../library/functions.rst:7 +#: ../../builtins/functions.rst:7 msgid "" "The Python interpreter has a number of functions and types built into it " "that are always available. They are listed here in alphabetical order." @@ -33,371 +33,371 @@ msgstr "" "Typen,die jederzeit verfügbar sind. Sie sind hier in alphabetischer " "Reihenfolge aufgeführt." -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:13 msgid "**A**" msgstr "**A**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:14 msgid ":func:`abs`" msgstr ":func:`abs`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:15 msgid ":func:`aiter`" msgstr ":func:`aiter`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:16 msgid ":func:`all`" msgstr ":func:`all`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:17 msgid ":func:`anext`" msgstr ":func:`anext`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:18 msgid ":func:`any`" msgstr ":func:`any`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:19 msgid ":func:`ascii`" msgstr ":func:`ascii`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:21 msgid "**B**" msgstr "**B**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:22 msgid ":func:`bin`" msgstr ":func:`bin`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:23 msgid ":func:`bool`" msgstr ":func:`bool`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:24 msgid ":func:`breakpoint`" msgstr ":func:`breakpoint`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:25 msgid "|func-bytearray|_" msgstr "|func-bytearray|_" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:26 msgid "|func-bytes|_" msgstr "|func-bytes|_" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:28 msgid "**C**" msgstr "**C**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:29 msgid ":func:`callable`" msgstr ":func:`callable`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:30 msgid ":func:`chr`" msgstr ":func:`chr`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:31 msgid ":func:`classmethod`" msgstr ":func:`classmethod`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:32 msgid ":func:`compile`" msgstr ":func:`compile`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:33 msgid ":func:`complex`" msgstr ":func:`complex`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:35 msgid "**D**" msgstr "**D**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:36 msgid ":func:`delattr`" msgstr ":func:`delattr`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:37 msgid "|func-dict|_" msgstr "|func-dict|_" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:38 msgid ":func:`dir`" msgstr ":func:`dir`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:39 msgid ":func:`divmod`" msgstr ":func:`divmod`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:13 msgid "**E**" msgstr "**E**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:14 msgid ":func:`enumerate`" msgstr ":func:`enumerate`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:15 msgid ":func:`eval`" msgstr ":func:`eval`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:16 msgid ":func:`exec`" msgstr ":func:`exec`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:18 msgid "**F**" msgstr "**F**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:19 msgid ":func:`filter`" msgstr ":func:`filter`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:20 msgid ":func:`float`" msgstr ":func:`float`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:21 msgid ":func:`format`" msgstr ":func:`format`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:22 msgid "|func-frozenset|_" msgstr "|func-frozenset|_" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:24 msgid "**G**" msgstr "**G**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:25 msgid ":func:`getattr`" msgstr ":func:`getattr`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:26 msgid ":func:`globals`" msgstr ":func:`globals`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:28 msgid "**H**" msgstr "**H**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:29 msgid ":func:`hasattr`" msgstr ":func:`hasattr`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:30 msgid ":func:`hash`" msgstr ":func:`hash`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:31 msgid ":func:`help`" msgstr ":func:`help`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:32 msgid ":func:`hex`" msgstr ":func:`hex`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:34 msgid "**I**" msgstr "**I**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:35 msgid ":func:`id`" msgstr ":func:`id`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:36 msgid ":func:`input`" msgstr ":func:`input`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:37 msgid ":func:`int`" msgstr ":func:`int`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:38 msgid ":func:`isinstance`" msgstr ":func:`isinstance`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:39 msgid ":func:`issubclass`" msgstr ":func:`issubclass`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:40 msgid ":func:`iter`" msgstr ":func:`iter`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:13 msgid "**L**" msgstr "**L**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:14 msgid ":func:`len`" msgstr ":func:`len`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:15 msgid "|func-list|_" msgstr "|func-list|_" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:16 msgid ":func:`locals`" msgstr ":func:`locals`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:18 msgid "**M**" msgstr "**M**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:19 msgid ":func:`map`" msgstr ":func:`map`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:20 msgid ":func:`max`" msgstr ":func:`max`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:21 msgid "|func-memoryview|_" msgstr "|func-memoryview|_" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:22 msgid ":func:`min`" msgstr ":func:`min`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:24 msgid "**N**" msgstr "**N**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:25 msgid ":func:`next`" msgstr ":func:`next`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:27 msgid "**O**" msgstr "**O**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:28 msgid ":func:`object`" msgstr ":func:`object`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:29 msgid ":func:`oct`" msgstr ":func:`oct`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:30 msgid ":func:`open`" msgstr ":func:`open`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:31 msgid ":func:`ord`" msgstr ":func:`ord`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:33 msgid "**P**" msgstr "**P**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:34 msgid ":func:`pow`" msgstr ":func:`pow`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:35 msgid ":func:`print`" msgstr ":func:`print`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:36 msgid ":func:`property`" msgstr ":func:`property`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:13 msgid "**R**" msgstr "**R**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:14 msgid "|func-range|_" msgstr "|func-range|_" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:15 msgid ":func:`repr`" msgstr ":func:`repr`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:16 msgid ":func:`reversed`" msgstr ":func:`reversed`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:17 msgid ":func:`round`" msgstr ":func:`round`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:19 msgid "**S**" msgstr "**S**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:20 msgid "|func-set|_" msgstr "|func-set|_" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:21 msgid ":func:`setattr`" msgstr ":func:`setattr`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:22 msgid ":func:`slice`" msgstr ":func:`slice`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:23 msgid ":func:`sorted`" msgstr ":func:`sorted`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:24 msgid ":func:`staticmethod`" msgstr ":func:`staticmethod`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:25 msgid "|func-str|_" msgstr "|func-str|_" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:26 msgid ":func:`sum`" msgstr ":func:`sum`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:27 msgid ":func:`super`" msgstr ":func:`super`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:29 msgid "**T**" msgstr "**T**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:30 msgid "|func-tuple|_" msgstr "|func-tuple|_" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:31 msgid ":func:`type`" msgstr ":func:`type`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:33 msgid "**V**" msgstr "**V**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:34 msgid ":func:`vars`" msgstr ":func:`vars`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:36 msgid "**Z**" msgstr "**Z**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:37 msgid ":func:`zip`" msgstr ":func:`zip`" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:39 msgid "**_**" msgstr "**_**" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:40 msgid ":func:`__import__`" msgstr ":func:`__import__`" -#: ../../library/functions.rst:59 +#: ../../builtins/functions.rst:59 msgid "" "Return the absolute value of a number. The argument may be an integer, a " "floating-point number, or an object implementing :meth:`~object.__abs__`. If " @@ -408,7 +408,7 @@ msgstr "" "implementiert. Handelt es sich bei dem Argument um eine komplexe Zahl, wird " "deren Betrag zurückgegeben." -#: ../../library/functions.rst:67 +#: ../../builtins/functions.rst:67 msgid "" "Return an :term:`asynchronous iterator` for an :term:`asynchronous " "iterable`. Equivalent to calling ``x.__aiter__()``." @@ -416,13 +416,13 @@ msgstr "" "Gibt einen :term:`asynchronous iterator` für ein :term:`asynchronous " "iterable` zurück. Entspricht dem Aufruf von ``x.__aiter__()``." -#: ../../library/functions.rst:70 +#: ../../builtins/functions.rst:70 msgid "Note: Unlike :func:`iter`, :func:`aiter` has no 2-argument variant." msgstr "" "Hinweis: Im Gegensatz zu :func:`iter` gibt es bei :func:`aiter` keine " "Variante mit zwei Argumenten" -#: ../../library/functions.rst:76 +#: ../../builtins/functions.rst:76 msgid "" "Return ``True`` if all elements of the *iterable* are true (or if the " "iterable is empty). Equivalent to::" @@ -430,7 +430,7 @@ msgstr "" "Gibt ``True`` zurück, wenn alle Elemente des *iterable* wahr sind (oder wenn " "das iterable leer ist). Entspricht::“" -#: ../../library/functions.rst:79 +#: ../../builtins/functions.rst:79 msgid "" "def all(iterable):\n" " for element in iterable:\n" @@ -444,23 +444,24 @@ msgstr "" " return False\n" " return True" -#: ../../library/functions.rst:89 +#: ../../builtins/functions.rst:89 +#, fuzzy msgid "" "When awaited, return the next item from the given :term:`asynchronous " -"iterator`, or *default* if given and the iterator is exhausted." +"iterator`, or *default* if given and the iterator is :term:`exhausted`." msgstr "" "Gibt, wenn erwartet, das nächste Element des angegebenen :term:`asynchronen " "Iterators ` zurück – oder *default*, falls angegeben " "und der Iterator erschöpft ist." -#: ../../library/functions.rst:92 +#: ../../builtins/functions.rst:92 msgid "" "This is the async variant of the :func:`next` builtin, and behaves similarly." msgstr "" "Dies ist die asynchrone Variante der eingebauten Funktion :func:`next` und " "verhält sich ähnlich." -#: ../../library/functions.rst:95 +#: ../../builtins/functions.rst:95 msgid "" "This calls the :meth:`~object.__anext__` method of *async_iterator*, " "returning an :term:`awaitable`. Awaiting this returns the next value of the " @@ -473,7 +474,7 @@ msgstr "" "dieser Wert zurückgegeben, falls der Iterator erschöpft ist; andernfalls " "wird :exc:`StopAsyncIteration` ausgelöst." -#: ../../library/functions.rst:104 +#: ../../builtins/functions.rst:104 msgid "" "Return ``True`` if any element of the *iterable* is true. If the iterable " "is empty, return ``False``. Equivalent to::" @@ -481,7 +482,7 @@ msgstr "" "Gibt ``True`` zurück, wenn mindestens ein Element des *iterable* wahr ist. " "Wenn das Iterable leer ist, wird ``False`` zurückgegeben. Entspricht::" -#: ../../library/functions.rst:107 +#: ../../builtins/functions.rst:107 msgid "" "def any(iterable):\n" " for element in iterable:\n" @@ -495,7 +496,7 @@ msgstr "" " return True\n" " return False" -#: ../../library/functions.rst:116 +#: ../../builtins/functions.rst:116 msgid "" "As :func:`repr`, return a string containing a printable representation of an " "object, but escape the non-ASCII characters in the string returned by :func:" @@ -508,7 +509,7 @@ msgstr "" "Escapes maskiert. Dies erzeugt einen String, der dem ähnelt, den :func:" "`repr` in Python 2 zurückgibt." -#: ../../library/functions.rst:124 +#: ../../builtins/functions.rst:124 msgid "" "Convert an integer number to a binary string prefixed with \"0b\". The " "result is a valid Python expression. If *integer* is not a Python :class:" @@ -520,7 +521,7 @@ msgstr "" "Objekt vom Typ :class:`int` ist, muss es eine :meth:`~object.__index__`-" "Methode definieren, die eine Ganzzahl zurückgibt. Einige Beispiele:" -#: ../../library/functions.rst:134 +#: ../../builtins/functions.rst:134 msgid "" "If the prefix \"0b\" is desired or not, you can use either of the following " "ways." @@ -528,19 +529,19 @@ msgstr "" "Je nachdem, ob das Präfix \"0b\" gewünscht ist oder nicht, können Sie eine " "der folgenden Methoden verwenden." -#: ../../library/functions.rst:141 +#: ../../builtins/functions.rst:141 msgid "" "See also :func:`enum.bin` to represent negative values as twos-complement." msgstr "" "Siehe auch :func:`enum.bin`, um negative Werte als Zweierkomplement " "darzustellen." -#: ../../library/functions.rst:143 ../../library/functions.rst:956 -#: ../../library/functions.rst:1340 +#: ../../builtins/functions.rst:143 ../../builtins/functions.rst:956 +#: ../../builtins/functions.rst:1340 msgid "See also :func:`format` for more information." msgstr "Weitere Informationen findest du unter :func:`format`." -#: ../../library/functions.rst:148 +#: ../../builtins/functions.rst:148 msgid "" "Return a Boolean value, i.e. one of ``True`` or ``False``. The argument is " "converted using the standard :ref:`truth testing procedure `. If the " @@ -557,11 +558,11 @@ msgstr "" "`int` (siehe :ref:`typesnumeric`). Sie kann nicht weiter unterteilt werden. " "Ihre einzigen Instanzen sind ``False`` und ``True`` (siehe :ref:`typebool`)." -#: ../../library/functions.rst:158 ../../library/functions.rst:821 +#: ../../builtins/functions.rst:158 ../../builtins/functions.rst:821 msgid "The parameter is now positional-only." msgstr "Der Parameter ist jetzt rein positionsgebunden." -#: ../../library/functions.rst:163 +#: ../../builtins/functions.rst:163 msgid "" "This function drops you into the debugger at the call site. Specifically, " "it calls :func:`sys.breakpointhook`, passing ``args`` and ``kws`` straight " @@ -585,7 +586,7 @@ msgstr "" "breakpointhook` nicht verfügbar, löst diese Funktion einen :exc:" "`RuntimeError` aus." -#: ../../library/functions.rst:175 +#: ../../builtins/functions.rst:175 msgid "" "By default, the behavior of :func:`breakpoint` can be changed with the :" "envvar:`PYTHONBREAKPOINT` environment variable. See :func:`sys." @@ -595,7 +596,7 @@ msgstr "" "Umgebungsvariable :envvar:`PYTHONBREAKPOINT` ändern. Einzelheiten zur " "Verwendung finden Sie unter :func:`sys.breakpointhook`." -#: ../../library/functions.rst:179 +#: ../../builtins/functions.rst:179 msgid "" "Note that this is not guaranteed if :func:`sys.breakpointhook` has been " "replaced." @@ -603,7 +604,7 @@ msgstr "" "Beachte, dass dies nicht garantiert ist, wenn :func:`sys.breakpointhook` " "ersetzt wurde." -#: ../../library/functions.rst:182 +#: ../../builtins/functions.rst:182 msgid "" "Raises an :ref:`auditing event ` ``builtins.breakpoint`` with " "argument ``breakpointhook``." @@ -611,7 +612,7 @@ msgstr "" "Löst ein :ref:`Audit-Ereignis ` ``builtins.breakpoint`` mit dem " "Argument ``breakpointhook`` aus." -#: ../../library/functions.rst:191 +#: ../../builtins/functions.rst:191 msgid "" "Return a new array of bytes. The :class:`bytearray` class is a mutable " "sequence of integers in the range 0 <= x < 256. It has most of the usual " @@ -624,7 +625,7 @@ msgstr "" "ref:`typesseq-mutable` beschrieben sind, sowie über die meisten Methoden des " "Typs :class:`bytes`, siehe :ref:`bytes-methods`." -#: ../../library/functions.rst:196 +#: ../../builtins/functions.rst:196 msgid "" "The optional *source* parameter can be used to initialize the array in a few " "different ways:" @@ -632,7 +633,7 @@ msgstr "" "Der optionale Parameter *source* kann verwendet werden, um das Array auf " "unterschiedlichen Wegen zu initialisieren:“" -#: ../../library/functions.rst:199 +#: ../../builtins/functions.rst:199 msgid "" "If it is a *string*, you must also give the *encoding* (and optionally, " "*errors*) parameters; :func:`bytearray` then converts the string to bytes " @@ -642,7 +643,7 @@ msgstr "" "*encoding* (und optional *errors*) angeben; :func:`bytearray` wandelt den " "String dann mithilfe von :meth:`str.encode` in Bytes um.“" -#: ../../library/functions.rst:203 +#: ../../builtins/functions.rst:203 msgid "" "If it is an *integer*, the array will have that size and will be initialized " "with null bytes." @@ -650,7 +651,7 @@ msgstr "" "Wenn es sich um eine Ganzzahl (*integer*) handelt, erhält das Array diese " "Größe und wird mit Null-Bytes initialisiert.“" -#: ../../library/functions.rst:206 +#: ../../builtins/functions.rst:206 msgid "" "If it is an object conforming to the :ref:`buffer interface " "`, a read-only buffer of the object will be used to " @@ -660,7 +661,7 @@ msgstr "" "` entspricht, so wird ein schreibgeschützter Puffer des " "Objekts verwendet, um das Bytes-Array zu initialisieren.“" -#: ../../library/functions.rst:209 +#: ../../builtins/functions.rst:209 msgid "" "If it is an *iterable*, it must be an iterable of integers in the range ``0 " "<= x < 256``, which are used as the initial contents of the array." @@ -669,15 +670,15 @@ msgstr "" "Bereich ``0 <= x < 256`` sein, die als anfänglicher Inhalt des Arrays " "verwendet werden.“" -#: ../../library/functions.rst:212 +#: ../../builtins/functions.rst:212 msgid "Without an argument, an array of size 0 is created." msgstr "Ohne Argument wird ein Array der Größe 0 erstellt." -#: ../../library/functions.rst:214 +#: ../../builtins/functions.rst:214 msgid "See also :ref:`binaryseq` and :ref:`typebytearray`." msgstr "Siehe auch :ref:`binaryseq` und :ref:`typebytearray`." -#: ../../library/functions.rst:222 +#: ../../builtins/functions.rst:222 msgid "" "Return a new \"bytes\" object which is an immutable sequence of integers in " "the range ``0 <= x < 256``. :class:`bytes` is an immutable version of :" @@ -690,25 +691,25 @@ msgstr "" "verfügt über dieselben nicht-modifizierenden Methoden sowie dasselbe " "Verhalten bei Indizierung und Slicing." -#: ../../library/functions.rst:227 +#: ../../builtins/functions.rst:227 msgid "" "Accordingly, constructor arguments are interpreted as for :func:`bytearray`." msgstr "" "Demzufolge werden die Konstruktorargumente wie bei :func:`bytearray` " "interpretiert." -#: ../../library/functions.rst:229 +#: ../../builtins/functions.rst:229 msgid "Bytes objects can also be created with literals, see :ref:`strings`." msgstr "" "Bytes-Objekte können auch mithilfe von Literalen erstellt werden; siehe :ref:" "`strings`." -#: ../../library/functions.rst:231 +#: ../../builtins/functions.rst:231 msgid "See also :ref:`binaryseq`, :ref:`typebytes`, and :ref:`bytes-methods`." msgstr "" "Siehe auch :ref:`binaryseq`, :ref:`typebytes` und :ref:`bytes-methods`." -#: ../../library/functions.rst:236 +#: ../../builtins/functions.rst:236 msgid "" "Return :const:`True` if the *object* argument appears callable, :const:" "`False` if not. If this returns ``True``, it is still possible that a call " @@ -724,7 +725,7 @@ msgstr "" "Instanzen sind aufrufbar, wenn ihre Klasse über eine Methode :meth:`~object." "__call__` verfügt." -#: ../../library/functions.rst:242 +#: ../../builtins/functions.rst:242 msgid "" "This function was first removed in Python 3.0 and then brought back in " "Python 3.2." @@ -732,7 +733,7 @@ msgstr "" "Diese Funktion wurde zunächst in Python 3.0 entfernt und dann in Python 3.2 " "wieder eingeführt." -#: ../../library/functions.rst:249 +#: ../../builtins/functions.rst:249 msgid "" "Return the string representing a character with the specified Unicode code " "point. For example, ``chr(97)`` returns the string ``'a'``, while " @@ -743,7 +744,7 @@ msgstr "" "während ``chr(8364)`` den String ``'€'`` liefert. Dies ist die " "Umkehrfunktion zu :func:`ord`." -#: ../../library/functions.rst:253 +#: ../../builtins/functions.rst:253 msgid "" "The valid range for the argument is from 0 through 1,114,111 (0x10FFFF in " "base 16). :exc:`ValueError` will be raised if it is outside that range." @@ -752,11 +753,11 @@ msgstr "" "(0x10FFFF im Hexadezimalsystem). Liegt der Wert außerhalb dieses Bereichs, " "wird eine :exc:`ValueError`-Ausnahme ausgelöst." -#: ../../library/functions.rst:259 +#: ../../builtins/functions.rst:259 msgid "Transform a method into a class method." msgstr "Wandeln Sie eine Methode in eine Klassenmethode um." -#: ../../library/functions.rst:261 +#: ../../builtins/functions.rst:261 msgid "" "A class method receives the class as an implicit first argument, just like " "an instance method receives the instance. To declare a class method, use " @@ -766,7 +767,7 @@ msgstr "" "wie eine Instanzmethode die Instanz erhält. Um eine Klassenmethode zu " "deklarieren, verwenden Sie dieses Idiom::" -#: ../../library/functions.rst:265 +#: ../../builtins/functions.rst:265 msgid "" "class C:\n" " @classmethod\n" @@ -776,7 +777,7 @@ msgstr "" " @classmethod\n" " def f(cls, arg1, arg2): ..." -#: ../../library/functions.rst:269 +#: ../../builtins/functions.rst:269 msgid "" "The ``@classmethod`` form is a function :term:`decorator` -- see :ref:" "`function` for details." @@ -784,7 +785,7 @@ msgstr "" "Die ``@classmethod``-Form ist eine Funktion :term:`decorator` – siehe :ref:" "`function` für Details.“" -#: ../../library/functions.rst:272 +#: ../../builtins/functions.rst:272 msgid "" "A class method can be called either on the class (such as ``C.f()``) or on " "an instance (such as ``C().f()``). The instance is ignored except for its " @@ -797,7 +798,7 @@ msgstr "" "abgeleitete Klasse aufgerufen, so wird das Objekt der abgeleiteten Klasse " "als implizites erstes Argument übergeben." -#: ../../library/functions.rst:277 +#: ../../builtins/functions.rst:277 msgid "" "Class methods are different than C++ or Java static methods. If you want " "those, see :func:`staticmethod` in this section. For more information on " @@ -807,7 +808,7 @@ msgstr "" "Wenn Sie solche benötigen, siehe :func:`staticmethod` in diesem Abschnitt. " "Weitere Informationen zu Klassenmethoden finden Sie unter :ref:`types`." -#: ../../library/functions.rst:281 +#: ../../builtins/functions.rst:281 msgid "" "Class methods can now wrap other :term:`descriptors ` such as :" "func:`property`." @@ -815,7 +816,7 @@ msgstr "" "Klassenmethoden können nun andere :term:`Deskriptoren ` wie :" "func:`property` umschließen." -#: ../../library/functions.rst:285 +#: ../../builtins/functions.rst:285 msgid "" "Class methods now inherit the method attributes (:attr:`~function." "__module__`, :attr:`~function.__name__`, :attr:`~function.__qualname__`, :" @@ -827,7 +828,7 @@ msgstr "" "attr:`~function.__doc__` und :attr:`~function.__annotations__`) und verfügen " "über ein neues ``__wrapped__``-Attribut." -#: ../../library/functions.rst:292 +#: ../../builtins/functions.rst:292 msgid "" "Class methods can no longer wrap other :term:`descriptors ` such " "as :func:`property`." @@ -835,7 +836,7 @@ msgstr "" "Klassenmethoden können keine anderen :term:`Deskriptoren ` mehr " "kapseln, wie etwa :func:`property`." -#: ../../library/functions.rst:299 +#: ../../builtins/functions.rst:299 msgid "" "Compile the *source* into a code or AST object. Code objects can be " "executed by :func:`exec` or :func:`eval`. *source* can either be a normal " @@ -847,7 +848,7 @@ msgstr "" "normaler String, ein Byte-String oder ein AST-Objekt sein. Informationen zur " "Arbeit mit AST-Objekten findest du in der Dokumentation zum Modul :mod:`ast`." -#: ../../library/functions.rst:304 +#: ../../builtins/functions.rst:304 msgid "" "The *filename* argument should give the file from which the code was read; " "pass some recognizable value if it wasn't read from a file (``''`` " @@ -857,7 +858,7 @@ msgstr "" "wurde; übergeben Sie einen erkennbaren Wert, falls er nicht aus einer Datei " "gelesen wurde (häufig wird ``''`` verwendet)." -#: ../../library/functions.rst:308 +#: ../../builtins/functions.rst:308 msgid "" "The *mode* argument specifies what kind of code must be compiled; it can be " "``'exec'`` if *source* consists of a sequence of statements, ``'eval'`` if " @@ -872,7 +873,7 @@ msgstr "" "letzteren Fall werden Ausdrucksanweisungen, die einen anderen Wert als " "``None`` ergeben, ausgegeben)." -#: ../../library/functions.rst:314 +#: ../../builtins/functions.rst:314 msgid "" "The optional arguments *flags* and *dont_inherit* control which :ref:" "`compiler options ` should be activated and which :ref:" @@ -897,7 +898,7 @@ msgstr "" "allein maßgeblich – die Flags (future-Funktionen und Compiler-Optionen) des " "umgebenden Codes werden ignoriert." -#: ../../library/functions.rst:325 +#: ../../builtins/functions.rst:325 msgid "" "Compiler options and future statements are specified by bits which can be " "bitwise ORed together to specify multiple options. The bitfield required to " @@ -914,7 +915,7 @@ msgstr "" "finden. :ref:`Compiler-Flags ` sind im Modul :mod:`ast` " "unter dem Präfix ``PyCF_`` zu finden." -#: ../../library/functions.rst:333 +#: ../../builtins/functions.rst:333 msgid "" "The argument *optimize* specifies the optimization level of the compiler; " "the default value of ``-1`` selects the optimization level of the " @@ -929,7 +930,7 @@ msgstr "" "entfernt, ``__debug__`` ist falsch) oder ``2`` (auch Docstrings werden " "entfernt)." -#: ../../library/functions.rst:339 +#: ../../builtins/functions.rst:339 msgid "" "This function raises :exc:`SyntaxError` or :exc:`ValueError` if the compiled " "source is invalid." @@ -937,7 +938,7 @@ msgstr "" "Diese Funktion löst :exc:`SyntaxError` oder :exc:`ValueError` aus, wenn die " "kompilierte Quelle ungültig ist." -#: ../../library/functions.rst:342 +#: ../../builtins/functions.rst:342 msgid "" "If you want to parse Python code into its AST representation, see :func:`ast." "parse`." @@ -945,7 +946,7 @@ msgstr "" "Wenn du Python-Code in seine AST-Darstellung parsen möchtest, siehe :func:" "`ast.parse`." -#: ../../library/functions.rst:345 ../../library/functions.rst:347 +#: ../../builtins/functions.rst:345 ../../builtins/functions.rst:347 msgid "" "Raises an :ref:`auditing event ` ``compile`` with arguments " "``source`` and ``filename``. This event may also be raised by implicit " @@ -955,7 +956,7 @@ msgstr "" "Argumenten ``source`` und ``filename`` aus. Dieses Ereignis kann auch durch " "implizite Kompilierung ausgelöst werden." -#: ../../library/functions.rst:353 +#: ../../builtins/functions.rst:353 msgid "" "When compiling a string with multi-line code in ``'single'`` or ``'eval'`` " "mode, input must be terminated by at least one newline character. This is " @@ -967,7 +968,7 @@ msgstr "" "Zeilenumbruchzeichen enden. Dies dient dazu, die Erkennung unvollständiger " "und vollständiger Anweisungen im Modul :mod:`code` zu ​​erleichtern." -#: ../../library/functions.rst:360 +#: ../../builtins/functions.rst:360 msgid "" "It is possible to crash the Python interpreter with a sufficiently large/" "complex string when compiling to an AST object due to stack depth " @@ -977,7 +978,7 @@ msgstr "" "mit einem hinreichend großen oder komplexen String zum Absturz zu bringen – " "bedingt durch die Beschränkungen der Stack-Tiefe im AST-Compiler von Python." -#: ../../library/functions.rst:364 +#: ../../builtins/functions.rst:364 msgid "" "Allowed use of Windows and Mac newlines. Also, input in ``'exec'`` mode " "does not have to end in a newline anymore. Added the *optimize* parameter." @@ -986,7 +987,7 @@ msgstr "" "muss die Eingabe im Modus ``'exec'`` nicht mehr mit einem Zeilenumbruch " "enden. Der Parameter *optimize* wurde hinzugefügt." -#: ../../library/functions.rst:368 +#: ../../builtins/functions.rst:368 msgid "" "Previously, :exc:`TypeError` was raised when null bytes were encountered in " "*source*." @@ -994,7 +995,7 @@ msgstr "" "Früher wurde ein :exc:`TypeError` ausgelöst, wenn in *source* Null-Bytes " "auftraten." -#: ../../library/functions.rst:372 +#: ../../builtins/functions.rst:372 msgid "" "``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` can now be passed in flags to enable " "support for top-level ``await``, ``async for``, and ``async with``." @@ -1003,7 +1004,7 @@ msgstr "" "um die Unterstützung für ``await``, ``async for`` und ``async with`` auf " "oberster Ebene zu aktivieren." -#: ../../library/functions.rst:381 +#: ../../builtins/functions.rst:381 msgid "" "Convert a single string or number to a complex number, or create a complex " "number from real and imaginary parts." @@ -1011,12 +1012,12 @@ msgstr "" "Wandeln Sie eine einzelne Zeichenkette oder Zahl in eine komplexe Zahl um " "oder erstellen Sie eine komplexe Zahl aus Real- und Imaginärteil." -#: ../../library/functions.rst:384 ../../library/functions.rst:764 -#: ../../library/functions.rst:1012 +#: ../../builtins/functions.rst:384 ../../builtins/functions.rst:764 +#: ../../builtins/functions.rst:1012 msgid "Examples:" msgstr "Beispiele:" -#: ../../library/functions.rst:386 +#: ../../builtins/functions.rst:386 msgid "" ">>> complex('+1.23')\n" "(1.23+0j)\n" @@ -1052,7 +1053,7 @@ msgstr "" ">>> complex(-1.23, 4.5)\n" "(-1.23+4.5j)" -#: ../../library/functions.rst:405 +#: ../../builtins/functions.rst:405 msgid "" "If the argument is a string, it must contain either a real part (in the same " "format as for :func:`float`) or an imaginary part (in the same format but " @@ -1080,7 +1081,7 @@ msgstr "" "nachgestellten Leerzeichen – der Produktionsregel :token:`~float:" "complexvalue` in der folgenden Grammatik entsprechen:" -#: ../../library/functions.rst:424 +#: ../../builtins/functions.rst:424 msgid "" "If the argument is a number, the constructor serves as a numeric conversion " "like :class:`int` and :class:`float`. For a general Python object ``x``, " @@ -1096,7 +1097,7 @@ msgstr "" "meth:`~object.__float__` zurückgegriffen. Ist :meth:`!__float__` nicht " "definiert, wird auf :meth:`~object.__index__` zurückgegriffen.“" -#: ../../library/functions.rst:433 +#: ../../builtins/functions.rst:433 msgid "" "If two arguments are provided or keyword arguments are used, each argument " "may be any numeric type (including complex). If both arguments are real " @@ -1115,7 +1116,7 @@ msgstr "" "imag+imag.real`` zurückgegeben. Ist eines der Argumente eine reelle Zahl, " "wird in den obigen Ausdrücken nur deren Realteil verwendet." -#: ../../library/functions.rst:443 +#: ../../builtins/functions.rst:443 msgid "" "See also :meth:`complex.from_number` which only accepts a single numeric " "argument." @@ -1123,22 +1124,22 @@ msgstr "" "Siehe auch :meth:`complex.from_number`, das nur ein einzelnes numerisches " "Argument akzeptiert." -#: ../../library/functions.rst:445 +#: ../../builtins/functions.rst:445 msgid "If all arguments are omitted, returns ``0j``." msgstr "Wenn keine Argumente angegeben werden, wird ``0j`` zurückgegeben." -#: ../../library/functions.rst:447 +#: ../../builtins/functions.rst:447 msgid "The complex type is described in :ref:`typesnumeric`." msgstr "Der komplexe Typ wird unter :ref:`typesnumeric` beschrieben." -#: ../../library/functions.rst:449 ../../library/functions.rst:818 -#: ../../library/functions.rst:1060 +#: ../../builtins/functions.rst:449 ../../builtins/functions.rst:818 +#: ../../builtins/functions.rst:1060 msgid "Grouping digits with underscores as in code literals is allowed." msgstr "" "Die Gruppierung von Ziffern mittels Unterstrichen, wie bei Code-Literalen, " "ist zulässig." -#: ../../library/functions.rst:452 +#: ../../builtins/functions.rst:452 msgid "" "Falls back to :meth:`~object.__index__` if :meth:`~object.__complex__` and :" "meth:`~object.__float__` are not defined." @@ -1146,7 +1147,7 @@ msgstr "" "Fällt auf :meth:`~object.__index__` zurück, wenn :meth:`~object.__complex__` " "und :meth:`~object.__float__` nicht definiert sind." -#: ../../library/functions.rst:456 +#: ../../builtins/functions.rst:456 msgid "" "Passing a complex number as the *real* or *imag* argument is now deprecated; " "it should only be passed as a single positional argument." @@ -1155,7 +1156,7 @@ msgstr "" "veraltet;sie sollte nur noch als einzelnes Positionsargument übergeben " "werden.“" -#: ../../library/functions.rst:463 +#: ../../builtins/functions.rst:463 msgid "" "This is a relative of :func:`setattr`. The arguments are an object and a " "string. The string must be the name of one of the object's attributes. The " @@ -1170,7 +1171,7 @@ msgstr "" "der Anweisung ``del x.foobar``. *name* muss kein Python-Bezeichner sein " "(siehe :func:`setattr`)." -#: ../../library/functions.rst:476 +#: ../../builtins/functions.rst:476 msgid "" "Create a new dictionary. The :class:`dict` object is the dictionary class. " "See also :ref:`typesmapping` for documentation about this class." @@ -1179,7 +1180,7 @@ msgstr "" "Klasse. Siehe auch :ref:`typesmapping` für die Dokumentation zu dieser " "Klasse." -#: ../../library/functions.rst:479 +#: ../../builtins/functions.rst:479 msgid "" "For other containers see the built-in :class:`list`, :class:`set`, and :" "class:`tuple` classes, as well as the :mod:`collections` module." @@ -1187,7 +1188,7 @@ msgstr "" "Für weitere Container siehe die eingebauten Klassen :class:`list`, :class:" "`set` und :class:`tuple` sowie das Modul :mod:`collections`." -#: ../../library/functions.rst:486 +#: ../../builtins/functions.rst:486 msgid "" "Without arguments, return the list of names in the current local scope. " "With an argument, attempt to return a list of valid attributes for that " @@ -1197,7 +1198,7 @@ msgstr "" "Gültigkeitsbereich zurückgegeben. Mit einem Argument wird versucht, eine " "Liste der gültigen Attribute für dieses Objekt zurückzugeben." -#: ../../library/functions.rst:489 +#: ../../builtins/functions.rst:489 msgid "" "If the object has a method named :meth:`~object.__dir__`, this method will " "be called and must return the list of attributes. This allows objects that " @@ -1211,7 +1212,7 @@ msgstr "" "__getattr__` oder :func:`~object.__getattribute__` implementieren, die Art " "und Weise anzupassen, wie :func:`dir` ihre Attribute auflistet.“" -#: ../../library/functions.rst:496 +#: ../../builtins/functions.rst:496 msgid "" "If the object does not provide :meth:`~object.__dir__`, the function tries " "its best to gather information from the object's :attr:`~object.__dict__` " @@ -1226,7 +1227,7 @@ msgstr "" "kann ungenau sein, wenn das Objekt über eine benutzerdefinierte :func:" "`~object.__getattr__`-Methode verfügt." -#: ../../library/functions.rst:502 +#: ../../builtins/functions.rst:502 msgid "" "The default :func:`dir` mechanism behaves differently with different types " "of objects, as it attempts to produce the most relevant, rather than " @@ -1236,7 +1237,7 @@ msgstr "" "Objekttypen unterschiedlich, da er versucht, die relevantesten – und nicht " "etwa die vollständigen – Informationen zu liefern:" -#: ../../library/functions.rst:506 +#: ../../builtins/functions.rst:506 msgid "" "If the object is a module object, the list contains the names of the " "module's attributes." @@ -1244,7 +1245,7 @@ msgstr "" "Wenn es sich bei dem Objekt um ein Modulobjekt handelt, enthält die Liste " "die Namen der Attribute des Moduls." -#: ../../library/functions.rst:509 +#: ../../builtins/functions.rst:509 msgid "" "If the object is a type or class object, the list contains the names of its " "attributes, and recursively of the attributes of its bases." @@ -1253,7 +1254,7 @@ msgstr "" "die Liste die Namen seiner Attribute sowie – rekursiv – die Namen der " "Attribute seiner Basisklassen." -#: ../../library/functions.rst:512 +#: ../../builtins/functions.rst:512 msgid "" "Otherwise, the list contains the object's attributes' names, the names of " "its class's attributes, and recursively of the attributes of its class's " @@ -1263,11 +1264,11 @@ msgstr "" "der Attribute seiner Klasse sowie – rekursiv – die Namen der Attribute der " "Basisklassen seiner Klasse." -#: ../../library/functions.rst:516 +#: ../../builtins/functions.rst:516 msgid "The resulting list is sorted alphabetically. For example:" msgstr "Die resultierende Liste ist alphabetisch sortiert. Zum Beispiel:" -#: ../../library/functions.rst:536 +#: ../../builtins/functions.rst:536 msgid "" "Because :func:`dir` is supplied primarily as a convenience for use at an " "interactive prompt, it tries to supply an interesting set of names more than " @@ -1283,7 +1284,7 @@ msgstr "" "Attribute nicht in der Ergebnisliste enthalten, wenn das Argument eine " "Klasse ist." -#: ../../library/functions.rst:546 +#: ../../builtins/functions.rst:546 msgid "" "Take two (non-complex) numbers as arguments and return a pair of numbers " "consisting of their quotient and remainder when using integer division. " @@ -1304,7 +1305,7 @@ msgstr "" "% b`` ungleich null, so hat es dasselbe Vorzeichen wie *b*, und es gilt ``0 " "<= abs(a % b) < abs(b)``." -#: ../../library/functions.rst:558 +#: ../../builtins/functions.rst:558 msgid "" "Return an enumerate object. *iterable* must be a sequence, an :term:" "`iterator`, or some other object which supports iteration. The :meth:" @@ -1319,11 +1320,11 @@ msgstr "" "(beginnend bei *start*, standardmäßig 0) und die durch Iteration über " "*iterable* erhaltenen Werte enthält." -#: ../../library/functions.rst:570 +#: ../../builtins/functions.rst:570 msgid "Equivalent to::" msgstr "Gleichbedeutend mit::" -#: ../../library/functions.rst:572 +#: ../../builtins/functions.rst:572 msgid "" "def enumerate(iterable, start=0):\n" " n = start\n" @@ -1337,39 +1338,39 @@ msgstr "" " yield n, elem\n" " n += 1" -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:0 msgid "Parameters" msgstr "Parameter" -#: ../../library/functions.rst:582 +#: ../../builtins/functions.rst:582 msgid "A Python expression." msgstr "Ein Python Ausdruck" -#: ../../library/functions.rst:586 +#: ../../builtins/functions.rst:586 msgid "The global namespace (default: ``None``)." msgstr "Der globale Namensraum (default: ``None``)." -#: ../../library/functions.rst:590 +#: ../../builtins/functions.rst:590 msgid "The local namespace (default: ``None``)." msgstr "Der lokale Namensraum (default: ``None``)." -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:0 msgid "Returns" msgstr "Rückgaben" -#: ../../library/functions.rst:594 +#: ../../builtins/functions.rst:594 msgid "The result of the evaluated expression." msgstr "Das Ergebnis des ausgewerteten Ausdrucks." -#: ../../library/functions.rst:0 +#: ../../builtins/functions.rst:0 msgid "raises" msgstr "Meldung" -#: ../../library/functions.rst:595 +#: ../../builtins/functions.rst:595 msgid "Syntax errors are reported as exceptions." msgstr "Syntaxfehler werden als Ausnahmen gemeldet." -#: ../../library/functions.rst:599 ../../library/functions.rst:665 +#: ../../builtins/functions.rst:599 ../../builtins/functions.rst:665 msgid "" "This function executes arbitrary code. Calling it with untrusted user-" "supplied input will lead to security vulnerabilities." @@ -1377,7 +1378,7 @@ msgstr "" "Diese Funktion führt beliebigen Code aus. Der Aufruf mit nicht " "vertrauenswürdigen, benutzerdefinierten Eingaben führt zu Sicherheitslücken." -#: ../../library/functions.rst:602 +#: ../../builtins/functions.rst:602 msgid "" "The *source* argument is parsed and evaluated as a Python expression " "(technically speaking, an :ref:`expression list `) using the " @@ -1413,11 +1414,11 @@ msgstr "" "bereits im Gültigkeitsbereich referenziert werden, der :func:`eval` aufruft " "(z. B. über eine :keyword:`nonlocal`-Anweisung)." -#: ../../library/functions.rst:620 +#: ../../builtins/functions.rst:620 msgid "Example:" msgstr "Beispiel:" -#: ../../library/functions.rst:629 +#: ../../builtins/functions.rst:629 msgid "" "This function can also be used to execute arbitrary code objects (such as " "those created by :func:`compile`). In this case, pass a code object instead " @@ -1430,7 +1431,7 @@ msgstr "" "Code-Objekt mit ``'exec'`` als *mode*-Argument kompiliert wurde, ist der " "Rückgabewert von :func:`eval` ``None``." -#: ../../library/functions.rst:634 +#: ../../builtins/functions.rst:634 msgid "" "Hints: dynamic execution of statements is supported by the :func:`exec` " "function. The :func:`globals` and :func:`locals` functions return the " @@ -1442,7 +1443,7 @@ msgstr "" "liefern das aktuelle globale beziehungsweise lokale Dictionary zurück; dies " "kann nützlich sein, um sie an :func:`eval` oder :func:`exec` weiterzugeben." -#: ../../library/functions.rst:639 +#: ../../builtins/functions.rst:639 msgid "" "If the given source is a string, then leading and trailing spaces and tabs " "are stripped." @@ -1450,7 +1451,7 @@ msgstr "" "Wenn die angegebene Quelle eine Zeichenkette ist, werden führende und " "nachstehende Leerzeichen sowie Tabulatoren entfernt." -#: ../../library/functions.rst:642 +#: ../../builtins/functions.rst:642 msgid "" "See :func:`ast.literal_eval` for a function to evaluate strings with " "expressions containing only literals." @@ -1458,8 +1459,8 @@ msgstr "" "Siehe :func:`ast.literal_eval` für eine Funktion, um Zeichenketten mit " "Ausdrücken auszuwerten, die nur Literale enthalten." -#: ../../library/functions.rst:645 ../../library/functions.rst:647 -#: ../../library/functions.rst:708 ../../library/functions.rst:710 +#: ../../builtins/functions.rst:645 ../../builtins/functions.rst:647 +#: ../../builtins/functions.rst:708 ../../builtins/functions.rst:710 msgid "" "Raises an :ref:`auditing event ` ``exec`` with the code object as " "the argument. Code compilation events may also be raised." @@ -1468,13 +1469,13 @@ msgstr "" "Argument aus. Es können auch Ereignisse zur Code-Kompilierung ausgelöst " "werden." -#: ../../library/functions.rst:652 ../../library/functions.rst:730 +#: ../../builtins/functions.rst:652 ../../builtins/functions.rst:730 msgid "The *globals* and *locals* arguments can now be passed as keywords." msgstr "" "Die Argumente *globals* und *locals* können nun als Schlüsselwortargumente " "übergeben werden." -#: ../../library/functions.rst:656 ../../library/functions.rst:734 +#: ../../builtins/functions.rst:656 ../../builtins/functions.rst:734 msgid "" "The semantics of the default *locals* namespace have been adjusted as " "described for the :func:`locals` builtin." @@ -1482,7 +1483,7 @@ msgstr "" "Die Semantik des Standard-Namensraums für lokale Variablen (*locals*) wurde " "wie für die eingebaute Funktion :func:`locals` beschrieben angepasst." -#: ../../library/functions.rst:668 +#: ../../builtins/functions.rst:668 msgid "" "This function supports dynamic execution of Python code. *source* must be " "either a string or a code object. If it is a string, the string is parsed " @@ -1506,7 +1507,7 @@ msgstr "" "nicht außerhalb von Funktionsdefinitionen verwendet werden dürfen. Der " "Rückgabewert ist ``None``." -#: ../../library/functions.rst:679 +#: ../../builtins/functions.rst:679 msgid "" "In all cases, if the optional parts are omitted, the code is executed in the " "current scope. If only *globals* is provided, it must be a dictionary (and " @@ -1526,7 +1527,7 @@ msgstr "" "sein. Beachten Sie, dass auf Modulebene globale und lokale Variablen " "dasselbe Dictionary darstellen." -#: ../../library/functions.rst:689 +#: ../../builtins/functions.rst:689 msgid "" "When ``exec`` gets two separate objects as *globals* and *locals*, the code " "will be executed as if it were embedded in a class definition. This means " @@ -1541,7 +1542,7 @@ msgstr "" "wurden (da diese Variablen der „obersten Ebene“ in einer Klassendefinition " "als Klassenvariablen behandelt werden)." -#: ../../library/functions.rst:695 +#: ../../builtins/functions.rst:695 msgid "" "If the *globals* dictionary does not contain a value for the key " "``__builtins__``, a reference to the dictionary of the built-in module :mod:" @@ -1557,7 +1558,7 @@ msgstr "" "Sicherheitsmechanismus: Der ausgeführte Code kann weiterhin auf alle " "Builtins zugreifen." -#: ../../library/functions.rst:702 +#: ../../builtins/functions.rst:702 msgid "" "The *closure* argument specifies a closure--a tuple of cellvars. It's only " "valid when the *object* is a code object containing :term:`free (closure) " @@ -1570,7 +1571,7 @@ msgstr "" "des Tupels muss exakt der Länge des Attributs :attr:`~codeobject." "co_freevars` des Code-Objekts entsprechen." -#: ../../library/functions.rst:715 +#: ../../builtins/functions.rst:715 msgid "" "The built-in functions :func:`globals` and :func:`locals` return the current " "global and local namespace, respectively, which may be useful to pass around " @@ -1581,7 +1582,7 @@ msgstr "" "nützlich sein, um sie als zweites und drittes Argument an :func:`exec` zu " "übergeben." -#: ../../library/functions.rst:721 +#: ../../builtins/functions.rst:721 msgid "" "The default *locals* act as described for function :func:`locals` below. " "Pass an explicit *locals* dictionary if you need to see effects of the code " @@ -1592,11 +1593,11 @@ msgstr "" "Sie die Auswirkungen des Codes auf die *locals* sehen möchten, nachdem die " "Funktion :func:`exec` zurückgekehrt ist." -#: ../../library/functions.rst:725 +#: ../../builtins/functions.rst:725 msgid "Added the *closure* parameter." msgstr "Der Parameter *closure* wurde hinzugefügt." -#: ../../library/functions.rst:740 +#: ../../builtins/functions.rst:740 msgid "" "Construct an iterator from those elements of *iterable* for which *function* " "is true. *iterable* may be either a sequence, a container which supports " @@ -1609,7 +1610,7 @@ msgstr "" "``None``, so wird die Identitätsfunktion angenommen; das heißt, alle " "Elemente von *iterable*, die „falsch“ sind, werden entfernt." -#: ../../library/functions.rst:746 +#: ../../builtins/functions.rst:746 msgid "" "Note that ``filter(function, iterable)`` is equivalent to the generator " "expression ``(item for item in iterable if function(item))`` if function is " @@ -1621,7 +1622,7 @@ msgstr "" "nicht ``None`` ist, und ``(item for item in iterable if item)``, wenn " "``function`` ``None`` ist." -#: ../../library/functions.rst:751 +#: ../../builtins/functions.rst:751 msgid "" "See :func:`itertools.filterfalse` for the complementary function that " "returns elements of *iterable* for which *function* is false." @@ -1629,13 +1630,13 @@ msgstr "" "Siehe :func:`itertools.filterfalse` für die komplementäre Funktion, die " "Elemente von *iterable* zurückgibt, für die *function* falsch ist." -#: ../../library/functions.rst:762 +#: ../../builtins/functions.rst:762 msgid "Return a floating-point number constructed from a number or a string." msgstr "" "Geben Sie eine Gleitkommazahl zurück, die aus einer Zahl oder einer " "Zeichenkette erstellt wurde." -#: ../../library/functions.rst:766 +#: ../../builtins/functions.rst:766 msgid "" ">>> float('+1.23')\n" "1.23\n" @@ -1659,7 +1660,7 @@ msgstr "" ">>> float('-Infinity')\n" "-inf" -#: ../../library/functions.rst:779 +#: ../../builtins/functions.rst:779 msgid "" "If the argument is a string, it should contain a decimal number, optionally " "preceded by a sign, and optionally embedded in whitespace. The optional " @@ -1679,7 +1680,7 @@ msgstr "" "Leerzeichen – der Produktionsregel :token:`~float:floatvalue` in der " "folgenden Grammatik entsprechen:“" -#: ../../library/functions.rst:800 +#: ../../builtins/functions.rst:800 msgid "" "Case is not significant, so, for example, \"inf\", \"Inf\", \"INFINITY\", " "and \"iNfINity\" are all acceptable spellings for positive infinity." @@ -1688,7 +1689,7 @@ msgstr "" "\"inf\", \"Inf\", \"INFINITY\" und \"iNfINity\" allesamt zulässige " "Schreibweisen für positive Unendlichkeit." -#: ../../library/functions.rst:803 +#: ../../builtins/functions.rst:803 msgid "" "Otherwise, if the argument is an integer or a floating-point number, a " "floating-point number with the same value (within Python's floating-point " @@ -1701,7 +1702,7 @@ msgstr "" "außerhalb des Wertebereichs eines Python-Floats, wird ein :exc:" "`OverflowError` ausgelöst." -#: ../../library/functions.rst:808 +#: ../../builtins/functions.rst:808 msgid "" "For a general Python object ``x``, ``float(x)`` delegates to ``x." "__float__()``. If :meth:`~object.__float__` is not defined then it falls " @@ -1711,22 +1712,22 @@ msgstr "" "__float__()``. Wenn :meth:`~object.__float__` nicht definiert ist, fällt es " "„zurück zu :meth:`~object.__index__`.“" -#: ../../library/functions.rst:812 +#: ../../builtins/functions.rst:812 msgid "" "See also :meth:`float.from_number` which only accepts a numeric argument." msgstr "" "Siehe auch :meth:`float.from_number`, das nur ein numerisches Argument " "akzeptiert." -#: ../../library/functions.rst:814 +#: ../../builtins/functions.rst:814 msgid "If no argument is given, ``0.0`` is returned." msgstr "Wenn kein Argument angegeben wird, wird ``0.0`` zurückgegeben." -#: ../../library/functions.rst:816 +#: ../../builtins/functions.rst:816 msgid "The float type is described in :ref:`typesnumeric`." msgstr "Der Typ „float“ wird in :ref:`typesnumeric` beschrieben." -#: ../../library/functions.rst:824 +#: ../../builtins/functions.rst:824 msgid "" "Falls back to :meth:`~object.__index__` if :meth:`~object.__float__` is not " "defined." @@ -1734,7 +1735,7 @@ msgstr "" "Fällt auf :meth:`~object.__index__` zurück, wenn :meth:`~object.__float__` " "nicht definiert ist." -#: ../../library/functions.rst:834 +#: ../../builtins/functions.rst:834 msgid "" "Convert a *value* to a \"formatted\" representation, as controlled by " "*format_spec*. The interpretation of *format_spec* will depend on the type " @@ -1746,7 +1747,7 @@ msgstr "" "des Arguments *Wert* ab; es gibt jedoch eine Standard-Formatierungssyntax, " "die von den meisten eingebauten Typen verwendet wird: :ref:`formatspec`." -#: ../../library/functions.rst:839 +#: ../../builtins/functions.rst:839 msgid "" "The default *format_spec* is an empty string which usually gives the same " "effect as calling :func:`str(value) `." @@ -1754,7 +1755,7 @@ msgstr "" "Die Standard *format_spec* ist eine leere Zeichenkette, was normalerweise " "denselben Effekt hat wie der Aufruf von :func:`str(value) `." -#: ../../library/functions.rst:842 +#: ../../builtins/functions.rst:842 msgid "" "A call to ``format(value, format_spec)`` is translated to ``type(value)." "__format__(value, format_spec)`` which bypasses the instance dictionary when " @@ -1770,7 +1771,7 @@ msgstr "" "mod:`object` erreicht und *format_spec* nicht leer ist, oder wenn entweder " "*format_spec* oder der Rückgabewert keine Zeichenkette ist." -#: ../../library/functions.rst:849 +#: ../../builtins/functions.rst:849 msgid "" "``object().__format__(format_spec)`` raises :exc:`TypeError` if " "*format_spec* is not an empty string." @@ -1778,7 +1779,7 @@ msgstr "" "``object().__format__(format_spec)`` löst :exc:`TypeError` aus, wenn " "*format_spec* keine leere Zeichenkette ist." -#: ../../library/functions.rst:858 +#: ../../builtins/functions.rst:858 msgid "" "Return a new :class:`frozenset` object, optionally with elements taken from " "*iterable*. :class:`frozenset` is a built-in class. See also :ref:`types-" @@ -1788,7 +1789,7 @@ msgstr "" "*iterable*. :class:`frozenset` ist eine eingebaute Klasse. Siehe auch :ref:" "`types-set` für die Dokumentation zu dieser Klasse." -#: ../../library/functions.rst:862 +#: ../../builtins/functions.rst:862 msgid "" "For other containers see the built-in :class:`set`, :class:`list`, :class:" "`tuple`, and :class:`dict` classes, as well as the :mod:`collections` module." @@ -1796,7 +1797,7 @@ msgstr "" "Für weitere Container siehe die eingebauten Klassen :class:`set`, :class:" "`list`, :class:`tuple` und :class:`dict` sowie das Modul :mod:`collections`." -#: ../../library/functions.rst:870 +#: ../../builtins/functions.rst:870 msgid "" "Return the value of the named attribute of *object*. *name* must be a " "string. If the string is the name of one of the object's attributes, the " @@ -1813,7 +1814,7 @@ msgstr "" "wird ein :exc:`AttributeError` ausgelöst. *name* muss kein Python-Bezeichner " "sein (siehe :func:`setattr`)." -#: ../../library/functions.rst:879 +#: ../../builtins/functions.rst:879 msgid "" "Since :ref:`private name mangling ` happens at " "compilation time, one must manually mangle a private attribute's (attributes " @@ -1825,7 +1826,7 @@ msgstr "" "führenden Unterstrichen) manuell umgewandelt werden, um es mittels :func:" "`getattr` abrufen zu können." -#: ../../library/functions.rst:887 +#: ../../builtins/functions.rst:887 msgid "" "Return the dictionary implementing the current module namespace. For code " "within functions, this is set when the function is defined and remains the " @@ -1836,7 +1837,7 @@ msgstr "" "Definition der Funktion festgelegt und bleibt unverändert, unabhängig davon, " "von wo aus die Funktion aufgerufen wird." -#: ../../library/functions.rst:894 +#: ../../builtins/functions.rst:894 msgid "" "The arguments are an object and a string. The result is ``True`` if the " "string is the name of one of the object's attributes, ``False`` if not. " @@ -1849,7 +1850,7 @@ msgstr "" "aufgerufen und geprüft wird, ob ein :exc:`AttributeError` ausgelöst wird " "oder nicht.)" -#: ../../library/functions.rst:902 +#: ../../builtins/functions.rst:902 msgid "" "Return the hash value of the object (if it has one). Hash values are " "integers. They are used to quickly compare dictionary keys during a " @@ -1862,7 +1863,7 @@ msgstr "" "haben denselben Hash-Wert (selbst wenn sie unterschiedlichen Typs sind, wie " "es bei 1 und 1.0 der Fall ist)." -#: ../../library/functions.rst:909 +#: ../../builtins/functions.rst:909 msgid "" "For objects with custom :meth:`~object.__hash__` methods, note that :func:" "`hash` truncates the return value based on the bit width of the host machine." @@ -1871,7 +1872,7 @@ msgstr "" "Methoden, dass :func:`hash` den Rückgabewert basierend auf der Bitbreite des " "Host-Rechners abschneidet." -#: ../../library/functions.rst:916 +#: ../../builtins/functions.rst:916 msgid "" "Invoke the built-in help system. (This function is intended for interactive " "use.) If no argument is given, the interactive help system starts on the " @@ -1889,7 +1890,7 @@ msgstr "" "ausgegeben. Wenn das Argument ein anderes Objekt ist, wird eine Hilfeseite " "zu diesem Objekt generiert." -#: ../../library/functions.rst:923 +#: ../../builtins/functions.rst:923 msgid "" "Note that if a slash(/) appears in the parameter list of a function when " "invoking :func:`help`, it means that the parameters prior to the slash are " @@ -1902,14 +1903,14 @@ msgstr "" "finden Sie unter :ref:`dem FAQ-Eintrag zu reinen Positionsparametern `." -#: ../../library/functions.rst:928 +#: ../../builtins/functions.rst:928 msgid "" "This function is added to the built-in namespace by the :mod:`site` module." msgstr "" "Diese Funktion wird vom Modul :mod:`site` dem eingebauten Namensraum " "hinzugefügt." -#: ../../library/functions.rst:930 +#: ../../builtins/functions.rst:930 msgid "" "Changes to :mod:`pydoc` and :mod:`inspect` mean that the reported signatures " "for callables are now more comprehensive and consistent." @@ -1918,7 +1919,7 @@ msgstr "" "aufrufbare Objekte (Callables) gemeldeten Signaturen nun umfassender und " "konsistenter sind." -#: ../../library/functions.rst:937 +#: ../../builtins/functions.rst:937 msgid "" "Convert an integer number to a lowercase hexadecimal string prefixed with " "\"0x\". If *integer* is not a Python :class:`int` object, it has to define " @@ -1929,7 +1930,7 @@ msgstr "" "`int` ist, muss es eine :meth:`~object.__index__`-Methode definieren, die " "eine Ganzzahl zurückgibt. Einige Beispiele:" -#: ../../library/functions.rst:946 +#: ../../builtins/functions.rst:946 msgid "" "If you want to convert an integer number to an uppercase or lower " "hexadecimal string with prefix or not, you can use either of the following " @@ -1939,7 +1940,7 @@ msgstr "" "Kleinbuchstaben umwandeln möchten – wahlweise mit oder ohne Präfix –, können " "Sie eine der folgenden Methoden verwenden:" -#: ../../library/functions.rst:958 +#: ../../builtins/functions.rst:958 msgid "" "See also :func:`int` for converting a hexadecimal string to an integer using " "a base of 16." @@ -1947,7 +1948,7 @@ msgstr "" "Siehe auch :func:`int` für die Umwandlung einer Hexadezimalzeichenkette in " "eine Ganzzahl unter Verwendung der Basis 16." -#: ../../library/functions.rst:963 +#: ../../builtins/functions.rst:963 msgid "" "To obtain a hexadecimal string representation for a float, use the :meth:" "`float.hex` method." @@ -1955,7 +1956,7 @@ msgstr "" "Um eine hexadezimale String-Darstellung für einen Float-Wert zu erhalten, " "verwenden Sie die Methode :meth:`float.hex`." -#: ../../library/functions.rst:969 +#: ../../builtins/functions.rst:969 msgid "" "Return the \"identity\" of an object. This is an integer which is " "guaranteed to be unique and constant for this object during its lifetime. " @@ -1967,11 +1968,11 @@ msgstr "" "bleibt. Zwei Objekte, deren Lebensdauern sich nicht überschneiden, können " "denselben :func:`id`-Wert haben." -#: ../../library/functions.rst:974 +#: ../../builtins/functions.rst:974 msgid "This is the address of the object in memory." msgstr "Dies ist die Adresse des Objekts im Speicher." -#: ../../library/functions.rst:976 +#: ../../builtins/functions.rst:976 msgid "" "Raises an :ref:`auditing event ` ``builtins.id`` with argument " "``id``." @@ -1979,7 +1980,7 @@ msgstr "" "Löst ein :ref:`Audit-Ereignis ` ``builtins.id`` mit dem Argument " "``id`` aus." -#: ../../library/functions.rst:982 +#: ../../builtins/functions.rst:982 msgid "" "If the *prompt* argument is present, it is written to standard output " "without a trailing newline. The function then reads a line from input, " @@ -1993,7 +1994,7 @@ msgstr "" "zurück. Beim Erreichen des Dateiendes (EOF) wird :exc:`EOFError` ausgelöst. " "Beispiel::“" -#: ../../library/functions.rst:987 +#: ../../builtins/functions.rst:987 msgid "" ">>> s = input('--> ')\n" "--> Monty Python's Flying Circus\n" @@ -2005,7 +2006,7 @@ msgstr "" ">>> s\n" "\"Monty Python's Flying Circus\"" -#: ../../library/functions.rst:992 +#: ../../builtins/functions.rst:992 msgid "" "If the :mod:`readline` module was loaded, then :func:`input` will use it to " "provide elaborate line editing and history features." @@ -2014,7 +2015,7 @@ msgstr "" "umfangreiche Funktionen zur Zeilenbearbeitung und Historienverwaltung " "bereitzustellen." -#: ../../library/functions.rst:995 ../../library/functions.rst:997 +#: ../../builtins/functions.rst:995 ../../builtins/functions.rst:997 msgid "" "Raises an :ref:`auditing event ` ``builtins.input`` with argument " "``prompt`` before reading input" @@ -2022,7 +2023,7 @@ msgstr "" "Löst ein :ref:`Audit-Ereignis ` ``builtins.input`` mit dem " "Argument ``prompt`` aus, bevor die Eingabe gelesen wird" -#: ../../library/functions.rst:1000 ../../library/functions.rst:1002 +#: ../../builtins/functions.rst:1000 ../../builtins/functions.rst:1002 msgid "" "Raises an :ref:`auditing event ` ``builtins.input/result`` with " "the result after successfully reading input." @@ -2030,7 +2031,7 @@ msgstr "" "Löst ein :ref:`Audit-Ereignis ` ``builtins.input/result`` mit dem " "Ergebnis nach erfolgreichem Einlesen der Eingabe aus." -#: ../../library/functions.rst:1009 +#: ../../builtins/functions.rst:1009 msgid "" "Return an integer object constructed from a number or a string, or return " "``0`` if no arguments are given." @@ -2038,7 +2039,7 @@ msgstr "" "Gibt ein Integer-Objekt zurück, das aus einer Zahl oder einer Zeichenkette " "erstellt wurde, oder gibt ``0`` zurück, wenn keine Argumente angegeben sind." -#: ../../library/functions.rst:1014 +#: ../../builtins/functions.rst:1014 msgid "" ">>> int(123.45)\n" "123\n" @@ -2066,7 +2067,7 @@ msgstr "" ">>> int('01110011', base=2)\n" "115" -#: ../../library/functions.rst:1029 +#: ../../builtins/functions.rst:1029 msgid "" "If the argument defines :meth:`~object.__int__`, ``int(x)`` returns ``x." "__int__()``. If the argument defines :meth:`~object.__index__`, it returns " @@ -2077,7 +2078,7 @@ msgstr "" "gibt es ``x.__index__()`` zurück. Bei Gleitkommazahlen erfolgt dabei eine " "Rundung in Richtung Null." -#: ../../library/functions.rst:1034 +#: ../../builtins/functions.rst:1034 msgid "" "If the argument is not a number or if *base* is given, then it must be a " "string, :class:`bytes`, or :class:`bytearray` instance representing an " @@ -2092,7 +2093,7 @@ msgstr "" "dazwischen); zudem kann sie führende Nullen aufweisen, von Leerzeichen " "umgeben sein und einzelne Unterstriche zwischen den Ziffern enthalten." -#: ../../library/functions.rst:1040 +#: ../../builtins/functions.rst:1040 msgid "" "A base-n integer string contains digits, each representing a value from 0 to " "n-1. The values 0--9 can be represented by any Unicode decimal digit. The " @@ -2119,11 +2120,11 @@ msgstr "" "führenden Nullen zulässig: ``int('010', 0)`` ist ungültig, während " "``int('010')`` und ``int('010', 8)`` zulässig sind." -#: ../../library/functions.rst:1051 +#: ../../builtins/functions.rst:1051 msgid "The integer type is described in :ref:`typesnumeric`." msgstr "Der Ganzzahltyp wird in :ref:`typesnumeric` beschrieben." -#: ../../library/functions.rst:1053 +#: ../../builtins/functions.rst:1053 msgid "" "If *base* is not an instance of :class:`int` and the *base* object has a :" "meth:`base.__index__ ` method, that method is called to " @@ -2136,11 +2137,11 @@ msgstr "" "Versionen wurde :meth:`base.__int__ ` anstelle von :meth:" "`base.__index__ ` verwendet." -#: ../../library/functions.rst:1063 +#: ../../builtins/functions.rst:1063 msgid "The first parameter is now positional-only." msgstr "Der erste Parameter ist nun rein positional." -#: ../../library/functions.rst:1066 +#: ../../builtins/functions.rst:1066 msgid "" "Falls back to :meth:`~object.__index__` if :meth:`~object.__int__` is not " "defined." @@ -2148,7 +2149,7 @@ msgstr "" "Greift auf :meth:`~object.__index__` zurück, wenn :meth:`~object.__int__` " "nicht definiert ist." -#: ../../library/functions.rst:1069 +#: ../../builtins/functions.rst:1069 msgid "" ":class:`int` string inputs and string representations can be limited to help " "avoid denial of service attacks. A :exc:`ValueError` is raised when the " @@ -2165,13 +2166,13 @@ msgstr "" "würde. Siehe die Dokumentation zur :ref:`Längenbegrenzung bei der Umwandlung " "von Ganzzahlen in Zeichenketten `." -#: ../../library/functions.rst:1077 +#: ../../builtins/functions.rst:1077 msgid "" ":func:`int` no longer delegates to the :meth:`~object.__trunc__` method." msgstr "" ":func:`int` delegiert nicht mehr an die Methode :meth:`~object.__trunc__`." -#: ../../library/functions.rst:1082 +#: ../../builtins/functions.rst:1082 msgid "" "Return ``True`` if the *object* argument is an instance of the *classinfo* " "argument, or of a (direct, indirect, or :term:`virtual `) of *classinfo*. A class is considered a " @@ -2216,7 +2217,7 @@ msgstr "" "irgendeines Eintrags in *classinfo* ist. In allen anderen Fällen wird eine :" "exc:`TypeError`-Ausnahme ausgelöst." -#: ../../library/functions.rst:1114 +#: ../../builtins/functions.rst:1114 msgid "" "Return an :term:`iterator` object. The first argument is interpreted very " "differently depending on the presence of the second argument. Without a " @@ -2245,11 +2246,11 @@ msgstr "" "Rückgabewert *sentinel*, so wird :exc:`StopIteration` ausgelöst, andernfalls " "wird der Wert zurückgegeben." -#: ../../library/functions.rst:1128 +#: ../../builtins/functions.rst:1128 msgid "See also :ref:`typeiter`." msgstr "Siehe auch :ref:`typeiter`." -#: ../../library/functions.rst:1130 +#: ../../builtins/functions.rst:1130 msgid "" "One useful application of the second form of :func:`iter` is to build a " "block-reader. For example, reading fixed-width blocks from a binary database " @@ -2259,7 +2260,7 @@ msgstr "" "Erstellung eines Block-Readers. Zum Beispiel das Lesen von Blöcken fester " "Größe aus einer binären Datenbankdatei bis zum Erreichen des Dateiende::" -#: ../../library/functions.rst:1134 +#: ../../builtins/functions.rst:1134 msgid "" "from functools import partial\n" "with open('mydata.db', 'rb') as f:\n" @@ -2271,7 +2272,7 @@ msgstr "" " for block in iter(partial(f.read, 64), b''):\n" " process_block(block)" -#: ../../library/functions.rst:1142 +#: ../../builtins/functions.rst:1142 msgid "" "Return the length (the number of items) of an object. The argument may be a " "sequence (such as a string, bytes, tuple, list, or range) or a collection " @@ -2282,7 +2283,7 @@ msgstr "" "ein Range-Objekt) oder eine Collection (wie etwa ein Dictionary, ein Set " "oder ein Frozen Set) sein." -#: ../../library/functions.rst:1148 +#: ../../builtins/functions.rst:1148 msgid "" "``len`` raises :exc:`OverflowError` on lengths larger than :data:`sys." "maxsize`, such as :class:`range(2 ** 100) `." @@ -2290,7 +2291,7 @@ msgstr "" "``len`` löst bei Längen größer als :data:`sys.maxsize` eine :exc:" "`OverflowError`-Ausnahme aus.Z. B. :class:`range(2 ** 100) `." -#: ../../library/functions.rst:1156 +#: ../../builtins/functions.rst:1156 msgid "" "Rather than being a function, :class:`list` is actually a mutable sequence " "type, as documented in :ref:`typesseq-list` and :ref:`typesseq`." @@ -2299,7 +2300,7 @@ msgstr "" "veränderbarer Sequenztyp, wie in :ref:`typesseq-list` und :ref:`typesseq` " "dokumentiert." -#: ../../library/functions.rst:1162 +#: ../../builtins/functions.rst:1162 msgid "" "Return a mapping object representing the current local symbol table, with " "variable names as the keys, and their currently bound references as the " @@ -2309,7 +2310,7 @@ msgstr "" "repräsentiert, wobei die Variablennamen als Schlüssel und die aktuell daran " "gebundenen Referenzen als Werte dienen." -#: ../../library/functions.rst:1166 +#: ../../builtins/functions.rst:1166 msgid "" "At module scope, as well as when using :func:`exec` or :func:`eval` with a " "single namespace, this function returns the same namespace as :func:" @@ -2319,7 +2320,7 @@ msgstr "" "mit einem einzigen Namensraum gibt diese Funktion denselben Namensraum " "zurück wie :func:`globals`." -#: ../../library/functions.rst:1170 +#: ../../builtins/functions.rst:1170 msgid "" "At class scope, it returns the namespace that will be passed to the " "metaclass constructor." @@ -2327,7 +2328,7 @@ msgstr "" "Auf Klassenebene gibt es den Namensraum zurück, der an den Metaklassen-" "Konstruktor übergeben wird." -#: ../../library/functions.rst:1173 +#: ../../builtins/functions.rst:1173 msgid "" "When using ``exec()`` or ``eval()`` with separate local and global " "arguments, it returns the local namespace passed in to the function call." @@ -2336,7 +2337,7 @@ msgstr "" "globalen Argumenten wird der lokale Namensraum zurückgegeben, der an den " "Funktionsaufruf übergeben wurde." -#: ../../library/functions.rst:1176 +#: ../../builtins/functions.rst:1176 msgid "" "In all of the above cases, each call to ``locals()`` in a given frame of " "execution will return the *same* mapping object. Changes made through the " @@ -2353,7 +2354,7 @@ msgstr "" "Löschen lokaler Variablen unmittelbar auf den Inhalt des zurückgegebenen " "Mapping-Objekts aus." -#: ../../library/functions.rst:1183 +#: ../../builtins/functions.rst:1183 msgid "" "In an :term:`optimized scope` (including functions, generators, and " "coroutines), each call to ``locals()`` instead returns a fresh dictionary " @@ -2375,7 +2376,7 @@ msgstr "" "Variablen und nonlocal-Zellreferenzen *keine* Auswirkungen auf den Inhalt " "zuvor zurückgegebener Dictionaries." -#: ../../library/functions.rst:1192 +#: ../../builtins/functions.rst:1192 msgid "" "Calling ``locals()`` as part of a comprehension in a function, generator, or " "coroutine is equivalent to calling it in the containing scope, except that " @@ -2391,7 +2392,7 @@ msgstr "" "Gültigkeitsbereichen verhält es sich so, als würde die Listen-Abstraktion " "(comprehension) als verschachtelte Funktion ausgeführt." -#: ../../library/functions.rst:1198 +#: ../../builtins/functions.rst:1198 msgid "" "Calling ``locals()`` as part of a generator expression is equivalent to " "calling it in a nested generator function." @@ -2400,7 +2401,7 @@ msgstr "" "gleichbedeutend mit dem Aufruf innerhalb einer verschachtelten " "Generatorfunktion." -#: ../../library/functions.rst:1201 +#: ../../builtins/functions.rst:1201 msgid "" "The behaviour of ``locals()`` in a comprehension has been updated as " "described in :pep:`709`." @@ -2408,7 +2409,7 @@ msgstr "" "Das Verhalten von ``locals()`` in einer Listen-Abstraktion (comprehension) " "wurde wie in :pep:`709` beschrieben aktualisiert." -#: ../../library/functions.rst:1205 +#: ../../builtins/functions.rst:1205 msgid "" "As part of :pep:`667`, the semantics of mutating the mapping objects " "returned from this function are now defined. The behavior in :term:" @@ -2422,16 +2423,17 @@ msgstr "" "obigen Beschreibung. Abgesehen von dieser Definition bleibt das Verhalten in " "anderen Gültigkeitsbereichen gegenüber früheren Versionen unverändert." -#: ../../library/functions.rst:1215 +#: ../../builtins/functions.rst:1215 +#, fuzzy msgid "" "Return an iterator that applies *function* to every item of *iterable*, " "yielding the results. If additional *iterables* arguments are passed, " "*function* must take that many arguments and is applied to the items from " "all iterables in parallel. With multiple iterables, the iterator stops when " -"the shortest iterable is exhausted. If *strict* is ``True`` and one of the " -"iterables is exhausted before the others, a :exc:`ValueError` is raised. For " -"cases where the function inputs are already arranged into argument tuples, " -"see :func:`itertools.starmap`." +"the shortest iterable is :term:`exhausted`. If *strict* is ``True`` and one " +"of the iterables is exhausted before the others, a :exc:`ValueError` is " +"raised. For cases where the function inputs are already arranged into " +"argument tuples, see :func:`itertools.starmap`." msgstr "" "Gibt einen Iterator zurück, der *function* auf jedes Element von *iterable* " "anwendet und die Ergebnisse liefert. Werden weitere *iterable*-Argumente " @@ -2443,11 +2445,11 @@ msgstr "" "Eingabewerte für die Funktion bereits als Argument-Tupel vorliegen, siehe :" "func:`itertools.starmap`.“" -#: ../../library/functions.rst:1224 +#: ../../builtins/functions.rst:1224 msgid "Added the *strict* parameter." msgstr "Den Parameter *strict* hinzugefügt." -#: ../../library/functions.rst:1232 +#: ../../builtins/functions.rst:1232 msgid "" "Return the largest item in an iterable or the largest of two or more " "arguments." @@ -2455,7 +2457,7 @@ msgstr "" "Gibt das größte Element eines iterierbaren Objekts oder das größte von zwei " "oder mehr Argumenten zurück." -#: ../../library/functions.rst:1235 +#: ../../builtins/functions.rst:1235 msgid "" "If one positional argument is provided, it should be an :term:`iterable`. " "The largest item in the iterable is returned. If two or more positional " @@ -2466,7 +2468,7 @@ msgstr "" "Werden zwei oder mehr Positionsargumente übergeben, so wird das größte der " "Positionsargumente zurückgegeben." -#: ../../library/functions.rst:1240 ../../library/functions.rst:1278 +#: ../../builtins/functions.rst:1240 ../../builtins/functions.rst:1278 msgid "" "There are two optional keyword-only arguments. The *key* argument specifies " "a one-argument ordering function like that used for :meth:`list.sort`. The " @@ -2481,7 +2483,7 @@ msgstr "" "übergebene Iterable leer ist. Ist das Iterable leer und wird kein *default*-" "Wert angegeben, so wird ein :exc:`ValueError` ausgelöst." -#: ../../library/functions.rst:1246 +#: ../../builtins/functions.rst:1246 msgid "" "If multiple items are maximal, the function returns the first one " "encountered. This is consistent with other sort-stability preserving tools " @@ -2493,17 +2495,17 @@ msgstr "" "Sortierstabilität bewahren, wie etwa ``sorted(iterable, key=keyfunc, " "reverse=True)[0]`` und ``heapq.nlargest(1, iterable, key=keyfunc)``.“" -#: ../../library/functions.rst:1251 ../../library/functions.rst:1289 +#: ../../builtins/functions.rst:1251 ../../builtins/functions.rst:1289 msgid "Added the *default* keyword-only parameter." msgstr "" "Der *default*-Parameter (nur als Keyword-Argument verwendbar) wurde " "hinzugefügt." -#: ../../library/functions.rst:1254 ../../library/functions.rst:1292 +#: ../../builtins/functions.rst:1254 ../../builtins/functions.rst:1292 msgid "The *key* can be ``None``." msgstr "Der *Schlüssel* kann ``None`` sein." -#: ../../library/functions.rst:1262 +#: ../../builtins/functions.rst:1262 msgid "" "Return a \"memory view\" object created from the given argument. See :ref:" "`typememoryview` for more information." @@ -2511,7 +2513,7 @@ msgstr "" "Gibt ein aus dem angegebenen Argument erstelltes \"memory-View\"-Objekt " "zurück. Siehe :ref:`typememoryview` für weitere Informationen." -#: ../../library/functions.rst:1270 +#: ../../builtins/functions.rst:1270 msgid "" "Return the smallest item in an iterable or the smallest of two or more " "arguments." @@ -2519,7 +2521,7 @@ msgstr "" "Geben Sie das kleinste Element eines iterierbaren Objekts oder das kleinste " "von zwei oder mehr Argumenten zurück." -#: ../../library/functions.rst:1273 +#: ../../builtins/functions.rst:1273 msgid "" "If one positional argument is provided, it should be an :term:`iterable`. " "The smallest item in the iterable is returned. If two or more positional " @@ -2530,7 +2532,7 @@ msgstr "" "zurückgegeben. Werden zwei oder mehr Positionsargumente übergeben, so wird " "das kleinste der Positionsargumente zurückgegeben." -#: ../../library/functions.rst:1284 +#: ../../builtins/functions.rst:1284 msgid "" "If multiple items are minimal, the function returns the first one " "encountered. This is consistent with other sort-stability preserving tools " @@ -2542,18 +2544,19 @@ msgstr "" "die die Sortierstabilität wahren, wie etwa ``sorted(iterable, key=keyfunc)" "[0]`` und ``heapq.nsmallest(1, iterable, key=keyfunc)``.“" -#: ../../library/functions.rst:1299 +#: ../../builtins/functions.rst:1299 +#, fuzzy msgid "" "Retrieve the next item from the :term:`iterator` by calling its :meth:" "`~iterator.__next__` method. If *default* is given, it is returned if the " -"iterator is exhausted, otherwise :exc:`StopIteration` is raised." +"iterator is :term:`exhausted`, otherwise :exc:`StopIteration` is raised." msgstr "" "Rufe das nächste Element aus dem :term:`Iterator ` ab, indem " "dessen :meth:`~iterator.__next__`-Methode aufgerufen wird. Wenn *default* " "angegeben ist, wird dieser Wert zurückgegeben, falls der Iterator erschöpft " "ist; andernfalls wird :exc:`StopIteration` ausgelöst." -#: ../../library/functions.rst:1306 +#: ../../builtins/functions.rst:1306 msgid "" "This is the ultimate base class of all other classes. It has methods that " "are common to all instances of Python classes. When the constructor is " @@ -2565,7 +2568,7 @@ msgstr "" "des Konstruktors wird ein neues, eigenschaftsloses Objekt zurückgegeben. Der " "Konstruktor akzeptiert keine Argumente." -#: ../../library/functions.rst:1313 +#: ../../builtins/functions.rst:1313 msgid "" ":class:`object` instances do *not* have :attr:`~object.__dict__` attributes, " "so you can't assign arbitrary attributes to an instance of :class:`object`." @@ -2574,7 +2577,7 @@ msgstr "" "Attribute; daher können Sie einer Instanz von :class:`object` keine " "beliebigen Attribute zuweisen." -#: ../../library/functions.rst:1320 +#: ../../builtins/functions.rst:1320 msgid "" "Convert an integer number to an octal string prefixed with \"0o\". The " "result is a valid Python expression. If *integer* is not a Python :class:" @@ -2586,7 +2589,7 @@ msgstr "" "`int` Objekt ist, muss es eine :meth:`~object.__index__`-Methode definieren, " "die eine Ganzzahl zurückgibt. Zum Beispiel:" -#: ../../library/functions.rst:1330 +#: ../../builtins/functions.rst:1330 msgid "" "If you want to convert an integer number to an octal string either with the " "prefix \"0o\" or not, you can use either of the following ways." @@ -2595,7 +2598,7 @@ msgstr "" "Oktalzeichenkette umwandeln möchtest, kannst du eine der folgenden " "Möglichkeiten nutzen." -#: ../../library/functions.rst:1347 +#: ../../builtins/functions.rst:1347 msgid "" "Open *file* and return a corresponding :term:`file object`. If the file " "cannot be opened, an :exc:`OSError` is raised. See :ref:`tut-files` for more " @@ -2606,7 +2609,7 @@ msgstr "" "ausgelöst. Weitere Beispiele für die Verwendung dieser Funktion finden Sie " "unter :ref:`tut-files`." -#: ../../library/functions.rst:1351 +#: ../../builtins/functions.rst:1351 msgid "" "*file* is a :term:`path-like object` giving the pathname (absolute or " "relative to the current working directory) of the file to be opened or an " @@ -2621,7 +2624,7 @@ msgstr "" "angegeben, so wird dieser geschlossen, wenn das zurückgegebene E/A-Objekt " "geschlossen wird, es sei denn, *closefd* ist auf ``False`` gesetzt.)" -#: ../../library/functions.rst:1357 +#: ../../builtins/functions.rst:1357 msgid "" "*mode* is an optional string that specifies the mode in which the file is " "opened. It defaults to ``'r'`` which means open for reading in text mode. " @@ -2647,75 +2650,75 @@ msgstr "" "ermitteln. (Verwenden Sie für das Lesen und Schreiben von Rohbytes den " "Binärmodus und lassen Sie *encoding* weg.) Die verfügbaren Modi sind:" -#: ../../library/functions.rst:1374 +#: ../../builtins/functions.rst:1374 msgid "Character" msgstr "Zeichen" -#: ../../library/functions.rst:1374 +#: ../../builtins/functions.rst:1374 msgid "Meaning" msgstr "` verwendet werden. Eine " "Liste der unterstützten Kodierungen finden Sie im Modul :mod:`codecs`." -#: ../../library/functions.rst:1428 +#: ../../builtins/functions.rst:1428 msgid "" "*errors* is an optional string that specifies how encoding and decoding " "errors are to be handled—this cannot be used in binary mode. A variety of " @@ -2831,7 +2834,7 @@ msgstr "" "ist, der mit :func:`codecs.register_error` registriert wurde. Zu den " "Standardnamen gehören:“" -#: ../../library/functions.rst:1436 +#: ../../builtins/functions.rst:1436 msgid "" "``'strict'`` to raise a :exc:`ValueError` exception if there is an encoding " "error. The default value of ``None`` has the same effect." @@ -2839,7 +2842,7 @@ msgstr "" "``'strict'``, um eine :exc:`ValueError`-Ausnahme auszulösen, wenn ein " "Kodierungsfehler auftritt. Der Standardwert ``None`` hat dieselbe Wirkung." -#: ../../library/functions.rst:1440 +#: ../../builtins/functions.rst:1440 msgid "" "``'ignore'`` ignores errors. Note that ignoring encoding errors can lead to " "data loss." @@ -2847,7 +2850,7 @@ msgstr "" "``'ignore'`` ignoriert Fehler. Beachten Sie, dass das Ignorieren von " "Kodierungsfehlern zu Datenverlust führen kann.“" -#: ../../library/functions.rst:1443 +#: ../../builtins/functions.rst:1443 msgid "" "``'replace'`` causes a replacement marker (such as ``'?'``) to be inserted " "where there is malformed data." @@ -2855,7 +2858,7 @@ msgstr "" "``'replace'`` bewirkt, dass an Stellen mit fehlerhaften Daten ein " "Ersetzungszeichen (wie etwa ``'?'``) eingefügt wird.“" -#: ../../library/functions.rst:1446 +#: ../../builtins/functions.rst:1446 msgid "" "``'surrogateescape'`` will represent any incorrect bytes as low surrogate " "code units ranging from U+DC80 to U+DCFF. These surrogate code units will " @@ -2870,7 +2873,7 @@ msgstr "" "ursprünglichen Bytes zurückgewandelt. Dies ist nützlich für die Verarbeitung " "von Dateien mit unbekannter Zeichenkodierung." -#: ../../library/functions.rst:1453 +#: ../../builtins/functions.rst:1453 msgid "" "``'xmlcharrefreplace'`` is only supported when writing to a file. Characters " "not supported by the encoding are replaced with the appropriate XML " @@ -2880,7 +2883,7 @@ msgstr "" "Zeichen, die von der Zeichenkodierung nicht unterstützt werden, werden durch " "die entsprechende XML-Zeichenreferenz :samp:`&#{nnn};` ersetzt.“" -#: ../../library/functions.rst:1457 +#: ../../builtins/functions.rst:1457 msgid "" "``'backslashreplace'`` replaces malformed data by Python's backslashed " "escape sequences." @@ -2888,7 +2891,7 @@ msgstr "" "``'backslashreplace'`` ersetzt fehlerhafte Daten durch Pythons Escape-" "Sequenzen mit Backslash.“" -#: ../../library/functions.rst:1460 +#: ../../builtins/functions.rst:1460 msgid "" "``'namereplace'`` (also only supported when writing) replaces unsupported " "characters with ``\\N{...}`` escape sequences." @@ -2896,7 +2899,7 @@ msgstr "" "``'namereplace'`` (wird ebenfalls nur beim Schreiben unterstützt) ersetzt " "nicht unterstützte Zeichen durch ``\\N{...}``-Escape-Sequenzen.“" -#: ../../library/functions.rst:1468 +#: ../../builtins/functions.rst:1468 msgid "" "*newline* determines how to parse newline characters from the stream. It can " "be ``None``, ``''``, ``'\\n'``, ``'\\r'``, and ``'\\r\\n'``. It works as " @@ -2906,7 +2909,7 @@ msgstr "" "werden. Es kann die Werte ``None``, ``''``, ``'\\n'``, ``'\\r'`` oder " "``'\\r\\n'`` annehmen. Die Funktionsweise ist wie folgt:" -#: ../../library/functions.rst:1472 +#: ../../builtins/functions.rst:1472 msgid "" "When reading input from the stream, if *newline* is ``None``, universal " "newlines mode is enabled. Lines in the input can end in ``'\\n'``, " @@ -2926,7 +2929,7 @@ msgstr "" "Werten werden Eingabezeilen ausschließlich durch die angegebene Zeichenkette " "begrenzt, und das Zeilenende wird unverändert an den Aufrufer zurückgegeben." -#: ../../library/functions.rst:1480 +#: ../../builtins/functions.rst:1480 msgid "" "When writing output to the stream, if *newline* is ``None``, any ``'\\n'`` " "characters written are translated to the system default line separator, :" @@ -2941,7 +2944,7 @@ msgstr "" "der anderen zulässigen Werte an, werden alle geschriebenen ``'\\n'``-Zeichen " "in die angegebene Zeichenkette umgewandelt." -#: ../../library/functions.rst:1486 +#: ../../builtins/functions.rst:1486 msgid "" "If *closefd* is ``False`` and a file descriptor rather than a filename was " "given, the underlying file descriptor will be kept open when the file is " @@ -2954,7 +2957,7 @@ msgstr "" "*closefd* auf ``True`` (dem Standardwert) stehen; andernfalls wird ein " "Fehler ausgelöst." -#: ../../library/functions.rst:1491 +#: ../../builtins/functions.rst:1491 msgid "" "A custom opener can be used by passing a callable as *opener*. The " "underlying file descriptor for the file object is then obtained by calling " @@ -2969,11 +2972,11 @@ msgstr "" "(die Übergabe von :mod:`os.open` als *opener* führt zu einer Funktionalität, " "die der Übergabe von ``None`` ähnelt)." -#: ../../library/functions.rst:1497 +#: ../../builtins/functions.rst:1497 msgid "The newly created file is :ref:`non-inheritable `." msgstr "Die neu erstellte Datei ist :ref:`nicht vererbbar `." -#: ../../library/functions.rst:1499 +#: ../../builtins/functions.rst:1499 msgid "" "The following example uses the :ref:`dir_fd ` parameter of the :func:" "`os.open` function to open a file relative to a given directory::" @@ -2982,7 +2985,7 @@ msgstr "" "Funktion :func:`os.open`, um eine Datei relativ zu einem bestimmten " "Verzeichnis zu öffnen::" -#: ../../library/functions.rst:1502 +#: ../../builtins/functions.rst:1502 msgid "" ">>> import os\n" ">>> dir_fd = os.open('somedir', os.O_RDONLY)\n" @@ -3004,7 +3007,7 @@ msgstr "" "...\n" ">>> os.close(dir_fd) # don't leak a file descriptor" -#: ../../library/functions.rst:1512 +#: ../../builtins/functions.rst:1512 msgid "" "The type of :term:`file object` returned by the :func:`open` function " "depends on the mode. When :func:`open` is used to open a file in a text " @@ -3031,7 +3034,7 @@ msgstr "" "deaktiviert, wird der Rohdatenstrom (Raw Stream) zurückgegeben – eine " "Unterklasse von :class:`io.RawIOBase`, nämlich :class:`io.FileIO`." -#: ../../library/functions.rst:1533 +#: ../../builtins/functions.rst:1533 msgid "" "See also the file handling modules, such as :mod:`fileinput`, :mod:`io` " "(where :func:`open` is declared), :mod:`os`, :mod:`os.path`, :mod:" @@ -3041,7 +3044,7 @@ msgstr "" "(wo :func:`open` definiert ist), :mod:`os`, :mod:`os.path`, :mod:`tempfile` " "und :mod:`shutil`." -#: ../../library/functions.rst:1537 +#: ../../builtins/functions.rst:1537 msgid "" "Raises an :ref:`auditing event ` ``open`` with arguments ``path``, " "``mode``, ``flags``." @@ -3049,7 +3052,7 @@ msgstr "" "Löst ein :ref:`Audit-Ereignis ` ``open`` mit den Argumenten " "``path``, ``mode`` und ``flags`` aus." -#: ../../library/functions.rst:1539 +#: ../../builtins/functions.rst:1539 msgid "" "The ``mode`` and ``flags`` arguments may have been modified or inferred from " "the original call." @@ -3057,21 +3060,21 @@ msgstr "" "Die Argumente „mode“ und „flags“ wurden möglicherweise modifiziert oder aus " "dem ursprünglichen Aufruf abgeleitet." -#: ../../library/functions.rst:1544 +#: ../../builtins/functions.rst:1544 msgid "The *opener* parameter was added." msgstr "Der Parameter *opener* wurde hinzugefügt." -#: ../../library/functions.rst:1545 +#: ../../builtins/functions.rst:1545 msgid "The ``'x'`` mode was added." msgstr "Der Modus ``'x'`` wurde hinzugefügt." -#: ../../library/functions.rst:1546 +#: ../../builtins/functions.rst:1546 msgid ":exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`." msgstr "" "Früher wurde :exc:`IOError` ausgelöst; mittlerweile ist es ein Alias ​​für :" "exc:`OSError`." -#: ../../library/functions.rst:1547 +#: ../../builtins/functions.rst:1547 msgid "" ":exc:`FileExistsError` is now raised if the file opened in exclusive " "creation mode (``'x'``) already exists." @@ -3079,11 +3082,11 @@ msgstr "" "Ein :exc:`FileExistsError` wird nun ausgelöst, wenn die im exklusiven " "Erstellungsmodus (``'x'``) geöffnete Datei bereits existiert." -#: ../../library/functions.rst:1552 +#: ../../builtins/functions.rst:1552 msgid "The file is now non-inheritable." msgstr "Die Datei ist nun nicht mehr vererbbar." -#: ../../library/functions.rst:1556 +#: ../../builtins/functions.rst:1556 msgid "" "If the system call is interrupted and the signal handler does not raise an " "exception, the function now retries the system call instead of raising an :" @@ -3094,17 +3097,17 @@ msgstr "" "eine :exc:`InterruptedError`-Ausnahme auszulösen (siehe :pep:`475` für die " "Begründung)." -#: ../../library/functions.rst:1559 +#: ../../builtins/functions.rst:1559 msgid "The ``'namereplace'`` error handler was added." msgstr "Der Fehlerbehandlungsmechanismus „namereplace“ wurde hinzugefügt." -#: ../../library/functions.rst:1563 +#: ../../builtins/functions.rst:1563 msgid "Support added to accept objects implementing :class:`os.PathLike`." msgstr "" "Unterstützung für Objekte hinzugefügt, die :class:`os.PathLike` " "implementieren." -#: ../../library/functions.rst:1564 +#: ../../builtins/functions.rst:1564 msgid "" "On Windows, opening a console buffer may return a subclass of :class:`io." "RawIOBase` other than :class:`io.FileIO`." @@ -3113,15 +3116,15 @@ msgstr "" "class:`io.RawIOBase` zurückgeben, bei der es sich nicht um :class:`io." "FileIO` handelt." -#: ../../library/functions.rst:1567 +#: ../../builtins/functions.rst:1567 msgid "The ``'U'`` mode has been removed." msgstr "Der Modus „U“ wurde entfernt." -#: ../../library/functions.rst:1572 +#: ../../builtins/functions.rst:1572 msgid "Return the ordinal value of a character." msgstr "Gibt den Ordinalwert eines Zeichens zurück." -#: ../../library/functions.rst:1574 +#: ../../builtins/functions.rst:1574 msgid "" "If the argument is a one-character string, return the Unicode code point of " "that character. For example, ``ord('a')`` returns the integer ``97`` and " @@ -3133,7 +3136,7 @@ msgstr "" "die Ganzzahl ``97`` und ``ord('€')`` (Euro-Zeichen) liefert ``8364``. Dies " "ist die Umkehrfunktion zu :func:`chr`." -#: ../../library/functions.rst:1579 +#: ../../builtins/functions.rst:1579 msgid "" "If the argument is a :class:`bytes` or :class:`bytearray` object of length " "1, return its single byte value. For example, ``ord(b'a')`` returns the " @@ -3143,7 +3146,7 @@ msgstr "" "Länge 1 ist, wird dessen einzelner Bytewert zurückgegeben. Beispielsweise " "gibt ``ord(b'a')`` die Ganzzahl ``97`` zurück.“" -#: ../../library/functions.rst:1586 +#: ../../builtins/functions.rst:1586 msgid "" "Return *base* to the power *exp*; if *mod* is present, return *base* to the " "power *exp*, modulo *mod* (computed more efficiently than ``pow(base, exp) % " @@ -3155,7 +3158,7 @@ msgstr "" "mod``). Die Form mit zwei Argumenten ``pow(base, exp)`` entspricht der " "Verwendung des Potenzoperators: ``base**exp``." -#: ../../library/functions.rst:1591 +#: ../../builtins/functions.rst:1591 msgid "" "When arguments are builtin numeric types with mixed operand types, the " "coercion rules for binary arithmetic operators apply. For :class:`int` " @@ -3183,7 +3186,7 @@ msgstr "" "`float`) und der Exponent ganzzahlig, so wird ein float-Ergebnis geliefert. " "So ergibt ``pow(-9, 2.0)`` beispielsweise ``81.0``." -#: ../../library/functions.rst:1603 +#: ../../builtins/functions.rst:1603 msgid "" "For :class:`int` operands *base* and *exp*, if *mod* is present, *mod* must " "also be of integer type and *mod* must be nonzero. If *mod* is present and " @@ -3197,13 +3200,13 @@ msgstr "" "sein. In diesem Fall wird ``pow(inv_base, -exp, mod)`` zurückgegeben, wobei " "*inv_base* das Inverse von *base* modulo *mod* ist." -#: ../../library/functions.rst:1609 +#: ../../builtins/functions.rst:1609 msgid "Here's an example of computing an inverse for ``38`` modulo ``97``::" msgstr "" "Hier ist ein Beispiel für die Berechnung des Inversen von ``38`` modulo " "``97``::" -#: ../../library/functions.rst:1611 +#: ../../builtins/functions.rst:1611 msgid "" ">>> pow(38, -1, mod=97)\n" "23\n" @@ -3215,7 +3218,7 @@ msgstr "" ">>> 23 * 38 % 97 == 1\n" "True" -#: ../../library/functions.rst:1616 +#: ../../builtins/functions.rst:1616 msgid "" "For :class:`int` operands, the three-argument form of ``pow`` now allows the " "second argument to be negative, permitting computation of modular inverses." @@ -3224,14 +3227,14 @@ msgstr "" "nun ein negatives zweites Argument, was die Berechnung modularer Inverser " "ermöglicht." -#: ../../library/functions.rst:1621 +#: ../../builtins/functions.rst:1621 msgid "" "Allow keyword arguments. Formerly, only positional arguments were supported." msgstr "" "Erlaube Schlüsselwortargumente. Zuvor wurden nur Positionsargumente " "unterstützt." -#: ../../library/functions.rst:1628 +#: ../../builtins/functions.rst:1628 msgid "" "Print *objects* to the text stream *file*, separated by *sep* and followed " "by *end*. *sep*, *end*, *file*, and *flush*, if present, must be given as " @@ -3241,7 +3244,7 @@ msgstr "" "und gefolgt von *end*. *sep*, *end*, *file* und *flush* müssen, sofern " "angegeben, als Schlüsselwortargumente übergeben werden." -#: ../../library/functions.rst:1632 +#: ../../builtins/functions.rst:1632 msgid "" "All non-keyword arguments are converted to strings like :func:`str` does and " "written to the stream, separated by *sep* and followed by *end*. Both *sep* " @@ -3256,7 +3259,7 @@ msgstr "" "bedeutet, dass die Standardwerte verwendet werden. Werden keine *objects* " "angegeben, schreibt :func:`print` lediglich *end*." -#: ../../library/functions.rst:1638 +#: ../../builtins/functions.rst:1638 msgid "" "The *file* argument must be an object with a ``write(string)`` method; if it " "is not present or ``None``, :data:`sys.stdout` will be used. Since printed " @@ -3269,7 +3272,7 @@ msgstr "" "werden, kann :func:`print` nicht mit Dateiobjekten im Binärmodus verwendet " "werden. Verwenden Sie für diese stattdessen ``file.write(...)``." -#: ../../library/functions.rst:1643 +#: ../../builtins/functions.rst:1643 msgid "" "Output buffering is usually determined by *file*. However, if *flush* is " "true, the stream is forcibly flushed." @@ -3277,15 +3280,15 @@ msgstr "" "Die Ausgabepufferung wird normalerweise durch *file* bestimmt. Wenn *flush* " "jedoch auf „true“ gesetzt ist, wird der Stream zwangsweise geleert." -#: ../../library/functions.rst:1647 +#: ../../builtins/functions.rst:1647 msgid "Added the *flush* keyword argument." msgstr "Das Keyword-Argument *flush* wurde hinzugefügt." -#: ../../library/functions.rst:1653 +#: ../../builtins/functions.rst:1653 msgid "Return a property attribute." msgstr "Gibt ein Eigenschaftsattribut zurück." -#: ../../library/functions.rst:1655 +#: ../../builtins/functions.rst:1655 msgid "" "*fget* is a function for getting an attribute value. *fset* is a function " "for setting an attribute value. *fdel* is a function for deleting an " @@ -3296,13 +3299,13 @@ msgstr "" "Löschen eines Attributwerts. Und *doc* erstellt einen Docstring für das " "Attribut." -#: ../../library/functions.rst:1659 +#: ../../builtins/functions.rst:1659 msgid "A typical use is to define a managed attribute ``x``::" msgstr "" "Eine typische Verwendung ist die Definition eines verwalteten Attributs " "``x``::" -#: ../../library/functions.rst:1661 +#: ../../builtins/functions.rst:1661 msgid "" "class C:\n" " def __init__(self):\n" @@ -3334,7 +3337,7 @@ msgstr "" "\n" " x = property(getx, setx, delx, \"Ich bin die 'x' Eigenschaft.\")" -#: ../../library/functions.rst:1676 +#: ../../builtins/functions.rst:1676 msgid "" "If *c* is an instance of *C*, ``c.x`` will invoke the getter, ``c.x = " "value`` will invoke the setter, and ``del c.x`` the deleter." @@ -3342,7 +3345,7 @@ msgstr "" "Wenn *c* eine Instanz von *C* ist, ruft ``c.x`` den Empfänger (getter) auf, " "``c.x = value`` den Einsetzer (setter) und ``del c.x`` den Löscher (deleter)." -#: ../../library/functions.rst:1679 +#: ../../builtins/functions.rst:1679 msgid "" "If given, *doc* will be the docstring of the property attribute. Otherwise, " "the property will copy *fget*'s docstring (if it exists). This makes it " @@ -3354,7 +3357,7 @@ msgstr "" "vorhanden). Dies ermöglicht es, mit :deco:`property` als :term:`Decorator " "` auf einfache Weise Nur-Lese-Properties zu erstellen::" -#: ../../library/functions.rst:1683 +#: ../../builtins/functions.rst:1683 msgid "" "class Parrot:\n" " def __init__(self):\n" @@ -3374,7 +3377,7 @@ msgstr "" " \"\"\"Hole die aktuelle Spannung.\"\"\"\n" " return self._voltage" -#: ../../library/functions.rst:1692 +#: ../../builtins/functions.rst:1692 msgid "" "The ``@property`` decorator turns the :meth:`!voltage` method into a " "\"getter\" for a read-only attribute with the same name, and it sets the " @@ -3384,7 +3387,7 @@ msgstr "" "\"Empfänger\" für ein gleichnamiges Attribut mit Lesezugriff um und setzt " "den Docstring für *voltage* auf „Hole die aktuelle Spannung.“" -#: ../../library/functions.rst:1700 +#: ../../builtins/functions.rst:1700 msgid "" "A property object has ``getter``, ``setter``, and ``deleter`` methods usable " "as decorators that create a copy of the property with the corresponding " @@ -3397,7 +3400,7 @@ msgstr "" "dekorierte Funktion gesetzt ist. Dies lässt sich am besten anhand eines " "Beispiels erläutern:" -#: ../../library/functions.rst:1705 +#: ../../builtins/functions.rst:1705 msgid "" "class C:\n" " def __init__(self):\n" @@ -3433,7 +3436,7 @@ msgstr "" " def x(self):\n" " del self._x" -#: ../../library/functions.rst:1724 +#: ../../builtins/functions.rst:1724 msgid "" "This code is exactly equivalent to the first example. Be sure to give the " "additional functions the same name as the original property (``x`` in this " @@ -3443,7 +3446,7 @@ msgstr "" "den zusätzlichen Funktionen denselben Namen zu geben wie der ursprünglichen " "Eigenschaft (in diesem Fall ``x``)." -#: ../../library/functions.rst:1728 +#: ../../builtins/functions.rst:1728 msgid "" "The returned property object also has the attributes ``fget``, ``fset``, and " "``fdel`` corresponding to the constructor arguments." @@ -3451,11 +3454,11 @@ msgstr "" "Das zurückgegebene Property-Objekt verfügt zudem über die Attribute " "``fget``, ``fset`` und ``fdel``, die den Konstruktorargumenten entsprechen." -#: ../../library/functions.rst:1731 +#: ../../builtins/functions.rst:1731 msgid "The docstrings of property objects are now writeable." msgstr "Die Docstrings von Property-Objekten sind jetzt beschreibbar." -#: ../../library/functions.rst:1736 +#: ../../builtins/functions.rst:1736 msgid "" "Attribute holding the name of the property. The name of the property can be " "changed at runtime." @@ -3463,7 +3466,7 @@ msgstr "" "Attribut, das den Namen der Eigenschaft enthält. Der Name der Eigenschaft " "kann zur Laufzeit geändert werden." -#: ../../library/functions.rst:1747 +#: ../../builtins/functions.rst:1747 msgid "" "Rather than being a function, :class:`range` is actually an immutable " "sequence type, as documented in :ref:`typesseq-range` and :ref:`typesseq`." @@ -3472,7 +3475,7 @@ msgstr "" "unveränderlicher Sequenztyp, wie in :ref:`typesseq-range` und :ref:" "`typesseq` dokumentiert." -#: ../../library/functions.rst:1753 +#: ../../builtins/functions.rst:1753 msgid "" "Return a string containing a printable representation of an object. For " "many types, this function makes an attempt to return a string that would " @@ -3495,13 +3498,13 @@ msgstr "" "definiert. Ist :func:`sys.displayhook` nicht verfügbar, löst diese Funktion " "einen :exc:`RuntimeError` aus." -#: ../../library/functions.rst:1764 +#: ../../builtins/functions.rst:1764 msgid "This class has a custom representation that can be evaluated::" msgstr "" "Diese Klasse verfügt über eine benutzerdefinierte Darstellung, die " "ausgewertet werden kann::" -#: ../../library/functions.rst:1766 +#: ../../builtins/functions.rst:1766 msgid "" "class Person:\n" " def __init__(self, name, age):\n" @@ -3519,7 +3522,7 @@ msgstr "" " def __repr__(self):\n" " return f\"Person('{self.name}', {self.age})\"" -#: ../../library/functions.rst:1777 +#: ../../builtins/functions.rst:1777 msgid "" "Return a reverse :term:`iterator`. The argument must be an object which has " "a :meth:`~object.__reversed__` method or supports the sequence protocol " @@ -3532,7 +3535,7 @@ msgstr "" "und die :meth:`~object.__getitem__`-Methode mit ganzzahligen Argumenten " "beginnend bei ``0``)." -#: ../../library/functions.rst:1785 +#: ../../builtins/functions.rst:1785 msgid "" "Return *number* rounded to *ndigits* precision after the decimal point. If " "*ndigits* is omitted or is ``None``, it returns the nearest integer to its " @@ -3542,7 +3545,7 @@ msgstr "" "weggelassen wird oder ``None`` ist, wird die dem Eingabewert nächstgelegene " "Ganzzahl zurückgegeben." -#: ../../library/functions.rst:1789 +#: ../../builtins/functions.rst:1789 msgid "" "For the built-in types supporting :func:`round`, values are rounded to the " "closest multiple of 10 to the power minus *ndigits*; if two multiples are " @@ -3561,7 +3564,7 @@ msgstr "" "eine Ganzzahl, wenn *ndigits* weggelassen wird oder ``None`` ist. " "Andernfalls hat der Rückgabewert denselben Typ wie *number*." -#: ../../library/functions.rst:1798 +#: ../../builtins/functions.rst:1798 msgid "" "For a general Python object ``number``, ``round`` delegates to ``number." "__round__``." @@ -3569,7 +3572,7 @@ msgstr "" "Bei einem allgemeinen Python-Objekt ``number`` delegiert ``round`` an " "``number.__round__``." -#: ../../library/functions.rst:1803 +#: ../../builtins/functions.rst:1803 msgid "" "The behavior of :func:`round` for floats can be surprising: for example, " "``round(2.675, 2)`` gives ``2.67`` instead of the expected ``2.68``. This is " @@ -3583,7 +3586,7 @@ msgstr "" "meisten Dezimalbrüche nicht exakt als Gleitkommazahl dargestellt werden " "können. Weitere Informationen finden Sie unter :ref:`tut-fp-issues`." -#: ../../library/functions.rst:1814 +#: ../../builtins/functions.rst:1814 msgid "" "Return a new :class:`set` object, optionally with elements taken from " "*iterable*. :class:`set` is a built-in class. See also :ref:`types-set` " @@ -3593,7 +3596,7 @@ msgstr "" "*iterable*. :class:`set` ist eine eingebaute Klasse. Siehe auch :ref:`types-" "set` für die Dokumentation zu dieser Klasse." -#: ../../library/functions.rst:1818 +#: ../../builtins/functions.rst:1818 msgid "" "For other containers see the built-in :class:`frozenset`, :class:`list`, :" "class:`tuple`, and :class:`dict` classes, as well as the :mod:`collections` " @@ -3603,7 +3606,7 @@ msgstr "" "class:`list`, :class:`tuple` und :class:`dict` sowie das Modul :mod:" "`collections`." -#: ../../library/functions.rst:1825 +#: ../../builtins/functions.rst:1825 msgid "" "This is the counterpart of :func:`getattr`. The arguments are an object, a " "string, and an arbitrary value. The string may name an existing attribute " @@ -3618,7 +3621,7 @@ msgstr "" "beispielsweise ``setattr(x, 'foobar', 123)`` der Anweisung ``x.foobar = " "123``." -#: ../../library/functions.rst:1831 +#: ../../builtins/functions.rst:1831 msgid "" "*name* need not be a Python identifier as defined in :ref:`identifiers` " "unless the object chooses to enforce that, for example in a custom :meth:" @@ -3633,7 +3636,7 @@ msgstr "" "nicht über die Punktnotation angesprochen werden, ist jedoch über :func:" "`getattr` usw. zugänglich.“" -#: ../../library/functions.rst:1839 +#: ../../builtins/functions.rst:1839 msgid "" "Since :ref:`private name mangling ` happens at " "compilation time, one must manually mangle a private attribute's (attributes " @@ -3644,7 +3647,7 @@ msgstr "" "führenden Unterstrichen) manuell umgewandelt werden, um es mittels :func:" "`setattr` zu setzen." -#: ../../library/functions.rst:1848 +#: ../../builtins/functions.rst:1848 msgid "" "Return a :term:`slice` object representing the set of indices specified by " "``range(start, stop, step)``. The *start* and *step* arguments default to " @@ -3654,7 +3657,7 @@ msgstr "" "step)`` festgelegte Menge an Indizes repräsentiert. Die Argumente *start* " "und *step* haben standardmäßig den Wert ``None``." -#: ../../library/functions.rst:1852 +#: ../../builtins/functions.rst:1852 msgid "" "Slice objects are also generated when :ref:`slicing syntax ` is " "used. For example: ``a[start:stop:step]`` or ``a[start:stop, i]``." @@ -3663,7 +3666,7 @@ msgstr "" "verwendet wird. Zum Beispiel: ``a[start:stop:step]`` oder ``a[start:stop, " "i]``." -#: ../../library/functions.rst:1855 +#: ../../builtins/functions.rst:1855 msgid "" "See :func:`itertools.islice` for an alternate version that returns an :term:" "`iterator`." @@ -3671,7 +3674,7 @@ msgstr "" "Siehe :func:`itertools.islice` für eine alternative Version, die einen :term:" "`Iterator ` zurückgibt." -#: ../../library/functions.rst:1862 +#: ../../builtins/functions.rst:1862 msgid "" "These read-only attributes are set to the argument values (or their " "default). They have no other explicit functionality; however, they are used " @@ -3681,7 +3684,7 @@ msgstr "" "Standardwerte) gesetzt. Sie haben keine weitere explizite Funktionalität, " "werden jedoch von NumPy und anderen Drittanbieter-Paketen verwendet." -#: ../../library/functions.rst:1866 +#: ../../builtins/functions.rst:1866 msgid "" "Slice objects are now :term:`hashable` (provided :attr:`~slice.start`, :attr:" "`~slice.stop`, and :attr:`~slice.step` are hashable)." @@ -3689,18 +3692,18 @@ msgstr "" "Slice-Objekte sind jetzt :term:`hashbar ` (sofern :attr:`~slice." "start`, :attr:`~slice.stop` und :attr:`~slice.step` hashbar sind)." -#: ../../library/functions.rst:1872 +#: ../../builtins/functions.rst:1872 msgid "Return a new sorted list from the items in *iterable*." msgstr "Gibt eine neue sortierte Liste der Elemente aus *iterable* zurück." -#: ../../library/functions.rst:1874 +#: ../../builtins/functions.rst:1874 msgid "" "Has two optional arguments which must be specified as keyword arguments." msgstr "" "Verfügt über zwei optionale Argumente, die als Schlüsselwortargumente " "angegeben werden müssen." -#: ../../library/functions.rst:1876 +#: ../../builtins/functions.rst:1876 msgid "" "*key* specifies a function of one argument that is used to extract a " "comparison key from each element in *iterable* (for example, ``key=str." @@ -3711,7 +3714,7 @@ msgstr "" "Beispiel ``key=str.lower``). Der Standardwert ist ``None`` (die Elemente " "werden direkt verglichen)." -#: ../../library/functions.rst:1880 +#: ../../builtins/functions.rst:1880 msgid "" "*reverse* is a boolean value. If set to ``True``, then the list elements " "are sorted as if each comparison were reversed." @@ -3719,7 +3722,7 @@ msgstr "" "*reverse* ist ein boolescher Wert. Wenn er auf ``True`` gesetzt ist, werden " "die Listenelemente so sortiert, als ob jeder Vergleich umgekehrt würde." -#: ../../library/functions.rst:1883 +#: ../../builtins/functions.rst:1883 msgid "" "Use :func:`functools.cmp_to_key` to convert an old-style *cmp* function to a " "*key* function." @@ -3727,7 +3730,7 @@ msgstr "" "Verwende :func:`functools.cmp_to_key`, um eine veraltete *cmp*-Funktion in " "eine *key*-Funktion umzuwandeln." -#: ../../library/functions.rst:1886 +#: ../../builtins/functions.rst:1886 msgid "" "The built-in :func:`sorted` function is guaranteed to be stable. A sort is " "stable if it guarantees not to change the relative order of elements that " @@ -3740,7 +3743,7 @@ msgstr "" "in mehreren Durchläufen (zum Beispiel Sortierung nach Abteilung und " "anschließend nach Gehaltsgruppe)." -#: ../../library/functions.rst:1891 +#: ../../builtins/functions.rst:1891 msgid "" "The sort algorithm uses only ``<`` comparisons between items. While " "defining an :meth:`~object.__lt__` method will suffice for sorting, :PEP:`8` " @@ -3761,18 +3764,18 @@ msgstr "" "Verwirrung bei gemischten Typvergleichen zu vermeiden, die die gespiegelte " "Methode :meth:`~object.__gt__` aufrufen können." -#: ../../library/functions.rst:1900 +#: ../../builtins/functions.rst:1900 msgid "" "For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." msgstr "" "Beispiele und eine kurze Anleitung zum Sortieren finden Sie unter :ref:" "`sortinghowto`." -#: ../../library/functions.rst:1904 +#: ../../builtins/functions.rst:1904 msgid "Transform a method into a static method." msgstr "Wandelt eine Methode in eine statische Methode um." -#: ../../library/functions.rst:1906 +#: ../../builtins/functions.rst:1906 msgid "" "A static method does not receive an implicit first argument. To declare a " "static method, use this idiom::" @@ -3780,7 +3783,7 @@ msgstr "" "Eine statische Methode erhält kein implizites erstes Argument. Um eine " "statische Methode zu deklarieren, verwenden Sie dieses Idiom::" -#: ../../library/functions.rst:1909 +#: ../../builtins/functions.rst:1909 msgid "" "class C:\n" " @staticmethod\n" @@ -3790,7 +3793,7 @@ msgstr "" " @staticmethod\n" " def f(arg1, arg2, argN): ..." -#: ../../library/functions.rst:1913 +#: ../../builtins/functions.rst:1913 msgid "" "The ``@staticmethod`` form is a function :term:`decorator` -- see :ref:" "`function` for details." @@ -3798,7 +3801,7 @@ msgstr "" "Die Form ``@staticmethod`` ist ein Funktions-:term:`Dekorateur ` " "– siehe :ref:`function` für Einzelheiten." -#: ../../library/functions.rst:1916 +#: ../../builtins/functions.rst:1916 msgid "" "A static method can be called either on the class (such as ``C.f()``) or on " "an instance (such as ``C().f()``). Moreover, the static method :term:" @@ -3810,7 +3813,7 @@ msgstr "" "der statische Methoden-:term:`Deskriptor ` selbst aufrufbar, " "sodass er in der Klassendefinition verwendet werden kann (z. B. ``f()``)." -#: ../../library/functions.rst:1921 +#: ../../builtins/functions.rst:1921 msgid "" "Static methods in Python are similar to those found in Java or C++. Also, " "see :deco:`classmethod` for a variant that is useful for creating alternate " @@ -3820,7 +3823,7 @@ msgstr "" "deco:`classmethod`, eine Variante, die sich zum Erstellen alternativer " "Klassenkonstruktoren eignet." -#: ../../library/functions.rst:1925 +#: ../../builtins/functions.rst:1925 msgid "" "Like all decorators, it is also possible to call ``staticmethod`` as a " "regular function and do something with its result. This is needed in some " @@ -3835,7 +3838,7 @@ msgstr "" "Instanzmethode vermeiden möchte. Für solche Fälle verwendet man folgendes " "Idiom::" -#: ../../library/functions.rst:1931 +#: ../../builtins/functions.rst:1931 msgid "" "def regular_function():\n" " ...\n" @@ -3849,12 +3852,12 @@ msgstr "" "class C:\n" " method = staticmethod(regular_function)" -#: ../../library/functions.rst:1937 +#: ../../builtins/functions.rst:1937 msgid "For more information on static methods, see :ref:`types`." msgstr "" "Weitere Informationen zu statischen Methoden finden Sie unter :ref:`types`." -#: ../../library/functions.rst:1939 +#: ../../builtins/functions.rst:1939 msgid "" "Static methods now inherit the method attributes (:attr:`~function." "__module__`, :attr:`~function.__name__`, :attr:`~function.__qualname__`, :" @@ -3867,14 +3870,14 @@ msgstr "" "über ein neues ``__wrapped__``-Attribut und sind nun wie reguläre Funktionen " "aufrufbar." -#: ../../library/functions.rst:1957 +#: ../../builtins/functions.rst:1957 msgid "" "Return a :class:`str` version of *object*. See :func:`str` for details." msgstr "" "Gibt eine :class:`str`-Version von *object* zurück. Siehe :func:`str` für " "Details." -#: ../../library/functions.rst:1959 +#: ../../builtins/functions.rst:1959 msgid "" "``str`` is the built-in string :term:`class`. For general information about " "strings, see :ref:`textseq`." @@ -3882,7 +3885,7 @@ msgstr "" "``str`` ist die integrierte Zeichenketten-:term:`Klasse `. Allgemeine " "Informationen zu Zeichenketten finden Sie unter :ref:`textseq`.“" -#: ../../library/functions.rst:1965 +#: ../../builtins/functions.rst:1965 msgid "" "Sums *start* and the items of an *iterable* from left to right and returns " "the total. The *iterable*'s items are normally numbers, and the start value " @@ -3892,7 +3895,7 @@ msgstr "" "auf und gibt die Gesamtsumme zurück. Die Elemente des *Iterables* sind " "normalerweise Zahlen, und der Startwert darf kein String sein.“" -#: ../../library/functions.rst:1969 +#: ../../builtins/functions.rst:1969 msgid "" "For some use cases, there are good alternatives to :func:`sum`. The " "preferred, fast way to concatenate a sequence of strings is by calling ``''." @@ -3907,11 +3910,11 @@ msgstr "" "Verketten einer Reihe von Iterables empfiehlt sich die Verwendung von :func:" "`itertools.chain`." -#: ../../library/functions.rst:1975 +#: ../../builtins/functions.rst:1975 msgid "The *start* parameter can be specified as a keyword argument." msgstr "Der Parameter *start* kann als Schlüsselwortargument angegeben werden." -#: ../../library/functions.rst:1978 +#: ../../builtins/functions.rst:1978 msgid "" "Summation of floats switched to an algorithm that gives higher accuracy and " "better commutativity on most builds." @@ -3920,7 +3923,7 @@ msgstr "" "der bei den meisten Builds eine höhere Genauigkeit und eine bessere " "Kommutativität bietet." -#: ../../library/functions.rst:1981 +#: ../../builtins/functions.rst:1981 msgid "" "Added specialization for summation of complexes, using same algorithm as for " "summation of floats." @@ -3928,7 +3931,7 @@ msgstr "" "Spezialisierung für die Summation komplexer Zahlen hinzugefügt; dabei wird " "derselbe Algorithmus wie für die Summation von Gleitkommazahlen verwendet." -#: ../../library/functions.rst:1989 +#: ../../builtins/functions.rst:1989 msgid "" "Return a proxy object that delegates method calls to a parent or sibling " "class of *type*. This is useful for accessing inherited methods that have " @@ -3938,7 +3941,7 @@ msgstr "" "Geschwisterklasse von *type* delegiert. Dies ist nützlich für den Zugriff " "auf geerbte Methoden, die in einer Klasse überschrieben wurden." -#: ../../library/functions.rst:1993 +#: ../../builtins/functions.rst:1993 msgid "" "The *object_or_type* determines the :term:`method resolution order` to be " "searched. The search starts from the class right after the *type*." @@ -3947,7 +3950,7 @@ msgstr "" "` (method resolution order), die durchsucht werden " "soll. Die Suche beginnt bei der Klasse, die direkt auf den *type* folgt." -#: ../../library/functions.rst:1997 +#: ../../builtins/functions.rst:1997 msgid "" "For example, if :attr:`~type.__mro__` of *object_or_type* is ``D -> B -> C -" "> A -> object`` and the value of *type* is ``B``, then :func:`super` " @@ -3957,7 +3960,7 @@ msgstr "" "> A -> object`` lautet und der Wert von *type* ``B`` ist, dann durchsucht :" "func:`super` ``C -> A -> object``." -#: ../../library/functions.rst:2001 +#: ../../builtins/functions.rst:2001 msgid "" "The :attr:`~type.__mro__` attribute of the class corresponding to " "*object_or_type* lists the method resolution search order used by both :func:" @@ -3970,7 +3973,7 @@ msgstr "" "Attribut ist dynamisch und kann sich ändern, wann immer die " "Vererbungshierarchie aktualisiert wird." -#: ../../library/functions.rst:2006 +#: ../../builtins/functions.rst:2006 msgid "" "If the second argument is omitted, the super object returned is unbound. If " "the second argument is an object, ``isinstance(obj, type)`` must be true. " @@ -3982,7 +3985,7 @@ msgstr "" "type)`` wahr sein. Ist das zweite Argument ein Typ, muss ``issubclass(type2, " "type)`` wahr sein (dies ist nützlich für Klassenmethoden).“" -#: ../../library/functions.rst:2011 +#: ../../builtins/functions.rst:2011 msgid "" "When called directly within an ordinary method of a class, both arguments " "may be omitted (\"zero-argument :func:`!super`\"). In this case, *type* will " @@ -4000,7 +4003,7 @@ msgstr "" "implizit verschachtelte Funktionen erzeugen – nicht wie erwartet " "funktioniert.)" -#: ../../library/functions.rst:2018 +#: ../../builtins/functions.rst:2018 msgid "" "There are two typical use cases for *super*. In a class hierarchy with " "single inheritance, *super* can be used to refer to parent classes without " @@ -4013,7 +4016,7 @@ msgstr "" "Code wartungsfreundlicher wird. Diese Verwendung entspricht weitgehend der " "Verwendung von *super* in anderen Programmiersprachen." -#: ../../library/functions.rst:2023 +#: ../../builtins/functions.rst:2023 msgid "" "The second use case is to support cooperative multiple inheritance in a " "dynamic execution environment. This use case is unique to Python and is not " @@ -4037,13 +4040,13 @@ msgstr "" "Geschwisterklassen einbeziehen kann, die vor der Laufzeit noch unbekannt " "sind)." -#: ../../library/functions.rst:2033 +#: ../../builtins/functions.rst:2033 msgid "For both use cases, a typical superclass call looks like this::" msgstr "" "Für beide Anwendungsfälle sieht ein typischer Aufruf der Superklasse " "folgendermaßen aus:" -#: ../../library/functions.rst:2035 +#: ../../builtins/functions.rst:2035 msgid "" "class C(B):\n" " def method(self, arg):\n" @@ -4055,7 +4058,7 @@ msgstr "" " super().method(arg) # Dies bewirkt dasselbe wie:\n" " # super(C, self).method(arg)" -#: ../../library/functions.rst:2040 +#: ../../builtins/functions.rst:2040 msgid "" "In addition to method lookups, :func:`super` also works for attribute " "lookups. One possible use case for this is calling :term:`descriptors " @@ -4065,7 +4068,7 @@ msgstr "" "Attributsuche. Ein möglicher Anwendungsfall hierfür ist der Aufruf von :term:" "`Deskriptoren ` in einer Eltern- oder Geschwisterklasse." -#: ../../library/functions.rst:2044 +#: ../../builtins/functions.rst:2044 msgid "" "Note that :func:`super` is implemented as part of the binding process for " "explicit dotted attribute lookups such as ``super().__getitem__(name)``. It " @@ -4082,7 +4085,7 @@ msgstr "" "Folglich ist :func:`super` für implizite Zugriffe mittels Anweisungen oder " "Operatoren, wie beispielsweise ``super()[name]``, nicht definiert." -#: ../../library/functions.rst:2052 +#: ../../builtins/functions.rst:2052 msgid "" "Also note that, aside from the zero argument form, :func:`super` is not " "limited to use inside methods. The two argument form specifies the " @@ -4099,7 +4102,7 @@ msgstr "" "erforderlichen Details ergänzt, um die gerade definierte Klasse korrekt zu " "ermitteln und bei gewöhnlichen Methoden auf die aktuelle Instanz zuzugreifen." -#: ../../library/functions.rst:2059 +#: ../../builtins/functions.rst:2059 msgid "" "For practical suggestions on how to design cooperative classes using :func:" "`super`, see `guide to using super() `_." -#: ../../library/functions.rst:2063 +#: ../../builtins/functions.rst:2063 msgid "" ":class:`super` objects are now :mod:`pickleable ` and :mod:" "`copyable `." @@ -4117,7 +4120,7 @@ msgstr "" ":class:`super`-Objekte sind jetzt :mod:`picklebar ` und :mod:" "`kopierbar `." -#: ../../library/functions.rst:2072 +#: ../../builtins/functions.rst:2072 msgid "" "Rather than being a function, :class:`tuple` is actually an immutable " "sequence type, as documented in :ref:`typesseq-tuple` and :ref:`typesseq`." @@ -4126,7 +4129,7 @@ msgstr "" "unveränderlicher Sequenztyp, wie in :ref:`typesseq-tuple` und :ref:" "`typesseq` dokumentiert." -#: ../../library/functions.rst:2081 +#: ../../builtins/functions.rst:2081 msgid "" "With one argument, return the type of an *object*. The return value is a " "type object and generally the same object as returned by :attr:`object." @@ -4136,7 +4139,7 @@ msgstr "" "Rückgabewert ist ein Typobjekt und im Allgemeinen dasselbe Objekt, das von :" "attr:`object.__class__` zurückgegeben wird." -#: ../../library/functions.rst:2085 +#: ../../builtins/functions.rst:2085 msgid "" "The :func:`isinstance` built-in function is recommended for testing the type " "of an object, because it takes subclasses into account." @@ -4144,7 +4147,7 @@ msgstr "" "Die eingebaute Funktion :func:`isinstance` wird empfohlen, um den Typ eines " "Objekts zu überprüfen, da sie Unterklassen berücksichtigt." -#: ../../library/functions.rst:2088 +#: ../../builtins/functions.rst:2088 msgid "" "With three arguments, return a new type object. This is essentially a " "dynamic form of the :keyword:`class` statement. The *name* string is the " @@ -4166,11 +4169,11 @@ msgstr "" "oder gekapselt werden, bevor es zum Attribut :attr:`~type.__dict__` wird. " "Die folgenden beiden Anweisungen erzeugen identische :class:`!type`-Objekte:" -#: ../../library/functions.rst:2103 +#: ../../builtins/functions.rst:2103 msgid "See also:" msgstr "Siehe auch:" -#: ../../library/functions.rst:2105 +#: ../../builtins/functions.rst:2105 msgid "" ":ref:`Documentation on attributes and methods on classes `." @@ -4178,11 +4181,11 @@ msgstr "" ":ref:`Dokumentation zu Attributen und Methoden von Klassen `." -#: ../../library/functions.rst:2106 +#: ../../builtins/functions.rst:2106 msgid ":ref:`bltin-type-objects`" msgstr ":ref:`bltin-type-objects`" -#: ../../library/functions.rst:2108 +#: ../../builtins/functions.rst:2108 msgid "" "Keyword arguments provided to the three argument form are passed to the " "appropriate metaclass machinery (usually :meth:`~object.__init_subclass__`) " @@ -4195,7 +4198,7 @@ msgstr "" "bei Schlüsselwörtern in einer Klassendefinition (abgesehen von *metaclass*) " "der Fall wäre." -#: ../../library/functions.rst:2113 +#: ../../builtins/functions.rst:2113 msgid "" "Unlike a :keyword:`class` statement, the three argument form does not call " "the metaclass ``__prepare__`` method (see :ref:`prepare`). Use :func:`types." @@ -4206,11 +4209,11 @@ msgstr "" "`prepare`). Verwende :func:`types.new_class`, um eine Klasse dynamisch unter " "Verwendung der passenden Metaklasse zu erstellen." -#: ../../library/functions.rst:2118 +#: ../../builtins/functions.rst:2118 msgid "See also :ref:`class-customization`." msgstr "Siehe auch :ref:`class-customization`." -#: ../../library/functions.rst:2120 +#: ../../builtins/functions.rst:2120 msgid "" "Subclasses of :class:`!type` which don't override ``type.__new__`` may no " "longer use the one-argument form to get the type of an object." @@ -4219,7 +4222,7 @@ msgstr "" "dürfen nicht mehr die Form mit einem Argument verwenden, um den Typ eines " "Objekts zu ermitteln." -#: ../../library/functions.rst:2127 +#: ../../builtins/functions.rst:2127 msgid "" "Return the :attr:`~object.__dict__` attribute for a module, class, instance, " "or any other object with a :attr:`!__dict__` attribute." @@ -4228,7 +4231,7 @@ msgstr "" "eine Instanz oder ein beliebiges anderes Objekt mit einem :attr:`!__dict__`-" "Attribut zurück." -#: ../../library/functions.rst:2130 +#: ../../builtins/functions.rst:2130 msgid "" "Objects such as modules and instances have an updateable :attr:`~object." "__dict__` attribute; however, other objects may have write restrictions on " @@ -4241,11 +4244,11 @@ msgstr "" "(Klassen verwenden beispielsweise ein :class:`types.MappingProxyType`, um " "direkte Aktualisierungen des Dictionarys zu verhindern)." -#: ../../library/functions.rst:2135 +#: ../../builtins/functions.rst:2135 msgid "Without an argument, :func:`vars` acts like :func:`locals`." msgstr "Ohne Argument verhält sich :func:`vars` wie :func:`locals`." -#: ../../library/functions.rst:2137 +#: ../../builtins/functions.rst:2137 msgid "" "A :exc:`TypeError` exception is raised if an object is specified but it " "doesn't have a :attr:`~object.__dict__` attribute (for example, if its class " @@ -4255,7 +4258,7 @@ msgstr "" "wird, das kein :attr:`~object.__dict__`-Attribut besitzt (zum Beispiel, wenn " "seine Klasse das :attr:`~object.__slots__`-Attribut definiert)." -#: ../../library/functions.rst:2143 +#: ../../builtins/functions.rst:2143 msgid "" "The result of calling this function without an argument has been updated as " "described for the :func:`locals` builtin." @@ -4263,7 +4266,7 @@ msgstr "" "Das Ergebnis des Aufrufs dieser Funktion ohne Argument wurde wie für die " "eingebaute Funktion :func:`locals` beschrieben aktualisiert." -#: ../../library/functions.rst:2149 +#: ../../builtins/functions.rst:2149 msgid "" "Iterate over several iterables in parallel, producing tuples with an item " "from each one." @@ -4271,11 +4274,11 @@ msgstr "" "Über mehrere Iterables parallel iterieren und dabei Tupel mit je einem " "Element aus jedem Iterable erzeugen.“" -#: ../../library/functions.rst:2152 +#: ../../builtins/functions.rst:2152 msgid "Example::" msgstr "Beispiel::" -#: ../../library/functions.rst:2154 +#: ../../builtins/functions.rst:2154 msgid "" ">>> for item in zip([1, 2, 3], ['sugar', 'spice', 'everything nice']):\n" "... print(item)\n" @@ -4291,7 +4294,7 @@ msgstr "" "(2, 'spice')\n" "(3, 'everything nice')" -#: ../../library/functions.rst:2161 +#: ../../builtins/functions.rst:2161 msgid "" "More formally: :func:`zip` returns an iterator of tuples, where the *i*-th " "tuple contains the *i*-th element from each of the argument iterables." @@ -4300,7 +4303,7 @@ msgstr "" "zurück, wobei das *i*-te Tupel das *i*-te Element aus jedem der als Argument " "übergebenen Iterables enthält." -#: ../../library/functions.rst:2164 +#: ../../builtins/functions.rst:2164 msgid "" "Another way to think of :func:`zip` is that it turns rows into columns, and " "columns into rows. This is similar to `transposing a matrix `_." -#: ../../library/functions.rst:2168 +#: ../../builtins/functions.rst:2168 msgid "" ":func:`zip` is lazy: The elements won't be processed until the iterable is " "iterated on, e.g. by a :keyword:`!for` loop or by wrapping in a :class:" @@ -4320,7 +4323,7 @@ msgstr "" "wenn über das Iterable iteriert wird, z. B. mittels einer :keyword:`!for`-" "Schleife oder durch Umwandlung in eine :class:`list`." -#: ../../library/functions.rst:2172 +#: ../../builtins/functions.rst:2172 msgid "" "One thing to consider is that the iterables passed to :func:`zip` could have " "different lengths; sometimes by design, and sometimes because of a bug in " @@ -4332,17 +4335,18 @@ msgstr "" "aufgrund eines Fehlers in dem Code, der diese Iterables erstellt hat. Python " "bietet drei verschiedene Ansätze für den Umgang mit diesem Problem:" -#: ../../library/functions.rst:2177 +#: ../../builtins/functions.rst:2177 +#, fuzzy msgid "" -"By default, :func:`zip` stops when the shortest iterable is exhausted. It " -"will ignore the remaining items in the longer iterables, cutting off the " -"result to the length of the shortest iterable::" +"By default, :func:`zip` stops when the shortest iterable is :term:" +"`exhausted`. It will ignore the remaining items in the longer iterables, " +"cutting off the result to the length of the shortest iterable::" msgstr "" "Standardmäßig hält :func:`zip` an, sobald das kürzeste Iterable erschöpft " "ist. Es ignoriert die verbleibenden Elemente in den längeren Iterables und " "begrenzt das Ergebnis auf die Länge des kürzesten Iterables::" -#: ../../library/functions.rst:2181 +#: ../../builtins/functions.rst:2181 msgid "" ">>> list(zip(range(3), ['fee', 'fi', 'fo', 'fum']))\n" "[(0, 'fee'), (1, 'fi'), (2, 'fo')]" @@ -4350,7 +4354,7 @@ msgstr "" ">>> list(zip(range(3), ['fee', 'fi', 'fo', 'fum']))\n" "[(0, 'fee'), (1, 'fi'), (2, 'fo')]" -#: ../../library/functions.rst:2184 +#: ../../builtins/functions.rst:2184 msgid "" ":func:`zip` is often used in cases where the iterables are assumed to be of " "equal length. In such cases, it's recommended to use the ``strict=True`` " @@ -4361,7 +4365,7 @@ msgstr "" "die Verwendung der Option ``strict=True``. Die Ausgabe entspricht der von " "regulärem :func:`zip`::" -#: ../../library/functions.rst:2188 +#: ../../builtins/functions.rst:2188 msgid "" ">>> list(zip(('a', 'b', 'c'), (1, 2, 3), strict=True))\n" "[('a', 1), ('b', 2), ('c', 3)]" @@ -4369,15 +4373,16 @@ msgstr "" ">>> list(zip(('a', 'b', 'c'), (1, 2, 3), strict=True))\n" "[('a', 1), ('b', 2), ('c', 3)]" -#: ../../library/functions.rst:2191 +#: ../../builtins/functions.rst:2191 +#, fuzzy msgid "" "Unlike the default behavior, it raises a :exc:`ValueError` if one iterable " -"is exhausted before the others:" +"is :term:`exhausted` before the others:" msgstr "" "Im Gegensatz zum Standardverhalten löst es einen :exc:`ValueError` aus, wenn " "ein Iterable vor den anderen vollständig durchlaufen ist:" -#: ../../library/functions.rst:2209 +#: ../../builtins/functions.rst:2209 msgid "" "Without the ``strict=True`` argument, any bug that results in iterables of " "different lengths will be silenced, possibly manifesting as a hard-to-find " @@ -4387,7 +4392,7 @@ msgstr "" "unterschiedlicher Länge führen, unterdrückt; dies kann sich möglicherweise " "als schwer zu findender Fehler an einer anderen Stelle des Programms äußern." -#: ../../library/functions.rst:2213 +#: ../../builtins/functions.rst:2213 msgid "" "Shorter iterables can be padded with a constant value to make all the " "iterables have the same length. This is done by :func:`itertools." @@ -4397,7 +4402,7 @@ msgstr "" "alle Iterables dieselbe Länge haben. Dies geschieht mit :func:`itertools." "zip_longest`." -#: ../../library/functions.rst:2217 +#: ../../builtins/functions.rst:2217 msgid "" "Edge cases: With a single iterable argument, :func:`zip` returns an iterator " "of 1-tuples. With no arguments, it returns an empty iterator." @@ -4406,11 +4411,11 @@ msgstr "" "Iterator von 1-Tupeln zurück. Ohne Argumente gibt es einen leeren Iterator " "zurück." -#: ../../library/functions.rst:2220 +#: ../../builtins/functions.rst:2220 msgid "Tips and tricks:" msgstr "Tipps und Tricks:" -#: ../../library/functions.rst:2222 +#: ../../builtins/functions.rst:2222 msgid "" "The left-to-right evaluation order of the iterables is guaranteed. This " "makes possible an idiom for clustering a data series into n-length groups " @@ -4425,7 +4430,7 @@ msgstr "" "jedes Ergebnis-Tupel die Resultate von ``n`` Aufrufen des Iterators enthält. " "Dies bewirkt eine Aufteilung der Eingabe in Abschnitte der Länge ``n``." -#: ../../library/functions.rst:2228 +#: ../../builtins/functions.rst:2228 msgid "" ":func:`zip` in conjunction with the ``*`` operator can be used to unzip a " "list::" @@ -4433,7 +4438,7 @@ msgstr "" ":func:`zip` kann in Verbindung mit dem ``*``-Operator verwendet werden, um " "eine Liste zu entpacken::" -#: ../../library/functions.rst:2231 +#: ../../builtins/functions.rst:2231 msgid "" ">>> x = [1, 2, 3]\n" ">>> y = [4, 5, 6]\n" @@ -4451,11 +4456,11 @@ msgstr "" ">>> x == list(x2) and y == list(y2)\n" "True" -#: ../../library/functions.rst:2239 +#: ../../builtins/functions.rst:2239 msgid "Added the ``strict`` argument." msgstr "Das Argument ``strict`` wurde hinzugefügt." -#: ../../library/functions.rst:2251 +#: ../../builtins/functions.rst:2251 msgid "" "This is an advanced function that is not needed in everyday Python " "programming, unlike :func:`importlib.import_module`." @@ -4464,7 +4469,7 @@ msgstr "" "`importlib.import_module` in der alltäglichen Python-Programmierung nicht " "benötigt wird." -#: ../../library/functions.rst:2254 +#: ../../builtins/functions.rst:2254 msgid "" "This function is invoked by the :keyword:`import` statement. It can be " "replaced (by importing the :mod:`builtins` module and assigning to " @@ -4485,7 +4490,7 @@ msgstr "" "von :func:`__import__` wird zugunsten von :func:`importlib.import_module` " "abgeraten." -#: ../../library/functions.rst:2263 +#: ../../builtins/functions.rst:2263 msgid "" "The function imports the module *name*, potentially using the given " "*globals* and *locals* to determine how to interpret the name in a package " @@ -4503,7 +4508,7 @@ msgstr "" "lediglich dazu, den Paketkontext der :keyword:`import`-Anweisung zu " "bestimmen." -#: ../../library/functions.rst:2270 +#: ../../builtins/functions.rst:2270 msgid "" "*level* specifies whether to use absolute or relative imports. ``0`` (the " "default) means only perform absolute imports. Positive values for *level* " @@ -4518,7 +4523,7 @@ msgstr "" "`__import__` aufruft, durchsucht werden sollen. (siehe :pep:`328` für mehr " "Details)." -#: ../../library/functions.rst:2276 +#: ../../builtins/functions.rst:2276 msgid "" "When the *name* variable is of the form ``package.module``, normally, the " "top-level package (the name up till the first dot) is returned, *not* the " @@ -4531,7 +4536,7 @@ msgstr "" "*fromlist*-Argument angegeben, so wird das durch *name* bezeichnete Modul " "zurückgegeben." -#: ../../library/functions.rst:2281 +#: ../../builtins/functions.rst:2281 msgid "" "For example, the statement ``import spam`` results in bytecode resembling " "the following code::" @@ -4539,19 +4544,19 @@ msgstr "" "Die Anweisung „import spam“ führt beispielsweise zu Bytecode, der dem " "folgenden Code ähnelt::" -#: ../../library/functions.rst:2284 +#: ../../builtins/functions.rst:2284 msgid "spam = __import__('spam', globals(), locals(), [], 0)" msgstr "spam = __import__('spam', globals(), locals(), [], 0)" -#: ../../library/functions.rst:2286 +#: ../../builtins/functions.rst:2286 msgid "The statement ``import spam.ham`` results in this call::" msgstr "Die Anweisung ``import spam.ham`` führt zu diesem Aufruf::" -#: ../../library/functions.rst:2288 +#: ../../builtins/functions.rst:2288 msgid "spam = __import__('spam.ham', globals(), locals(), [], 0)" msgstr "spam = __import__('spam.ham', globals(), locals(), [], 0)" -#: ../../library/functions.rst:2290 +#: ../../builtins/functions.rst:2290 msgid "" "Note how :func:`__import__` returns the toplevel module here because this is " "the object that is bound to a name by the :keyword:`import` statement." @@ -4560,7 +4565,7 @@ msgstr "" "zurückgibt, da dies das Objekt ist, das durch die :keyword:`import`-" "Anweisung an einen Namen gebunden wird." -#: ../../library/functions.rst:2293 +#: ../../builtins/functions.rst:2293 msgid "" "On the other hand, the statement ``from spam.ham import eggs, sausage as " "saus`` results in ::" @@ -4568,7 +4573,7 @@ msgstr "" "Andererseits führt die Anweisung ``from spam.ham import eggs, sausage as " "saus`` zu ::" -#: ../../library/functions.rst:2296 +#: ../../builtins/functions.rst:2296 msgid "" "_temp = __import__('spam.ham', globals(), locals(), ['eggs', 'sausage'], 0)\n" "eggs = _temp.eggs\n" @@ -4578,7 +4583,7 @@ msgstr "" "eggs = _temp.eggs\n" "saus = _temp.sausage" -#: ../../library/functions.rst:2300 +#: ../../builtins/functions.rst:2300 msgid "" "Here, the ``spam.ham`` module is returned from :func:`__import__`. From " "this object, the names to import are retrieved and assigned to their " @@ -4588,7 +4593,7 @@ msgstr "" "diesem Objekt werden die zu importierenden Namen abgerufen und den " "entsprechenden Namen zugewiesen." -#: ../../library/functions.rst:2304 +#: ../../builtins/functions.rst:2304 msgid "" "If you simply want to import a module (potentially within a package) by " "name, use :func:`importlib.import_module`." @@ -4597,7 +4602,7 @@ msgstr "" "seines Namens importieren möchten, verwenden Sie :func:`importlib." "import_module`." -#: ../../library/functions.rst:2307 +#: ../../builtins/functions.rst:2307 msgid "" "Negative values for *level* are no longer supported (which also changes the " "default value to 0)." @@ -4605,7 +4610,7 @@ msgstr "" "Negative Werte für *level* werden nicht mehr unterstützt (wodurch sich auch " "der Standardwert auf 0 ändert)." -#: ../../library/functions.rst:2311 +#: ../../builtins/functions.rst:2311 msgid "" "When the command line options :option:`-E` or :option:`-I` are being used, " "the environment variable :envvar:`PYTHONCASEOK` is now ignored." @@ -4613,11 +4618,11 @@ msgstr "" "Wenn die Befehlszeilenoptionen :option:`-E` oder :option:`-I` verwendet " "werden, wird die Umgebungsvariable :envvar:`PYTHONCASEOK` nun ignoriert." -#: ../../library/functions.rst:2316 +#: ../../builtins/functions.rst:2316 msgid "Footnotes" msgstr "Fußnoten" -#: ../../library/functions.rst:2317 +#: ../../builtins/functions.rst:2317 msgid "" "Note that the parser only accepts the Unix-style end of line convention. If " "you are reading the code from a file, make sure to use newline conversion " @@ -4628,111 +4633,111 @@ msgstr "" "Umwandlung von Zeilenumbrüchen verwendest, um Zeilenumbrüche im Windows- " "oder Mac-Format zu konvertieren." -#: ../../library/functions.rst:156 +#: ../../builtins/functions.rst:156 msgid "Boolean" msgstr "Boolescher Wert" -#: ../../library/functions.rst:156 ../../library/functions.rst:2079 +#: ../../builtins/functions.rst:156 ../../builtins/functions.rst:2079 msgid "type" msgstr "Typ" -#: ../../library/functions.rst:659 +#: ../../builtins/functions.rst:659 msgid "built-in function" msgstr "Eingebaute Funktion" -#: ../../library/functions.rst:659 +#: ../../builtins/functions.rst:659 msgid "exec" msgstr "Ausführen" -#: ../../library/functions.rst:758 +#: ../../builtins/functions.rst:758 msgid "NaN" msgstr "Keine Nummer (NaN, Not a Number)" -#: ../../library/functions.rst:758 +#: ../../builtins/functions.rst:758 msgid "Infinity" msgstr "Unendlichkeit" -#: ../../library/functions.rst:828 +#: ../../builtins/functions.rst:828 msgid "__format__" msgstr "__format__" -#: ../../library/functions.rst:828 ../../library/functions.rst:1947 +#: ../../builtins/functions.rst:828 ../../builtins/functions.rst:1947 msgid "string" msgstr "Zeichenkette" -#: ../../library/functions.rst:828 +#: ../../builtins/functions.rst:828 msgid "format() (built-in function)" msgstr "format() (Eingebaute Funktion)" -#: ../../library/functions.rst:1342 +#: ../../builtins/functions.rst:1342 msgid "file object" msgstr "Datei Objekt" -#: ../../library/functions.rst:1342 ../../library/functions.rst:1463 +#: ../../builtins/functions.rst:1342 ../../builtins/functions.rst:1463 msgid "open() built-in function" msgstr "open() Eingebaute Funktion" -#: ../../library/functions.rst:1370 +#: ../../builtins/functions.rst:1370 msgid "file" msgstr "Datei" -#: ../../library/functions.rst:1370 +#: ../../builtins/functions.rst:1370 msgid "modes" msgstr "Modus / Modi" -#: ../../library/functions.rst:1463 +#: ../../builtins/functions.rst:1463 msgid "universal newlines" msgstr "Universal Neue Zeile" -#: ../../library/functions.rst:1524 +#: ../../builtins/functions.rst:1524 msgid "line-buffered I/O" msgstr "Zeilen gepufferte I/O" -#: ../../library/functions.rst:1524 +#: ../../builtins/functions.rst:1524 msgid "unbuffered I/O" msgstr "Ungepufferte I/O" -#: ../../library/functions.rst:1524 +#: ../../builtins/functions.rst:1524 msgid "buffer size, I/O" msgstr "Puffer Größe, I/O" -#: ../../library/functions.rst:1524 +#: ../../builtins/functions.rst:1524 msgid "I/O control" msgstr "I/O Kontrolle" -#: ../../library/functions.rst:1524 +#: ../../builtins/functions.rst:1524 msgid "buffering" msgstr "Puffern" -#: ../../library/functions.rst:1524 +#: ../../builtins/functions.rst:1524 msgid "text mode" msgstr "Text Modus" -#: ../../library/functions.rst:1524 ../../library/functions.rst:2245 +#: ../../builtins/functions.rst:1524 ../../builtins/functions.rst:2245 msgid "module" msgstr "Modul" -#: ../../library/functions.rst:1524 +#: ../../builtins/functions.rst:1524 msgid "sys" msgstr "sys" -#: ../../library/functions.rst:1947 +#: ../../builtins/functions.rst:1947 msgid "str() (built-in function)" msgstr "str() (Eingebaute Funktion)" -#: ../../library/functions.rst:2079 +#: ../../builtins/functions.rst:2079 msgid "object" msgstr "Objekt" -#: ../../library/functions.rst:2245 +#: ../../builtins/functions.rst:2245 msgid "statement" msgstr "Ausdruck" -#: ../../library/functions.rst:2245 +#: ../../builtins/functions.rst:2245 msgid "import" msgstr "Import" -#: ../../library/functions.rst:2245 +#: ../../builtins/functions.rst:2245 msgid "builtins" msgstr "Eingebaute Funktionen" diff --git a/builtins/index.po b/builtins/index.po new file mode 100644 index 00000000..049e1ce1 --- /dev/null +++ b/builtins/index.po @@ -0,0 +1,48 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../builtins/index.rst:5 +msgid "Python built-ins reference" +msgstr "" + +#: ../../builtins/index.rst:7 +msgid "Python comes with a number of built-in functions and classes." +msgstr "" + +#: ../../builtins/index.rst:9 +msgid "" +"The built-in classes include data types that would normally be considered " +"part of the \"core\" of a language, such as numbers and lists. For these " +"types, the Python language core defines the form of literals and places some " +"constraints on their semantics, but does not fully define the semantics." +msgstr "" + +#: ../../builtins/index.rst:14 +msgid "" +"The built-ins also include functions and exceptions --- objects that can be " +"used by all Python code without the need of an :keyword:`import` statement. " +"Some of these are defined by the core language, but many are not essential " +"for the core semantics and are only described here." +msgstr "" + +#: ../../builtins/index.rst:21 +msgid "" +"In addition to the built-ins, Python provides an extensive importable " +"standard library, see :ref:`library-index`." +msgstr "" diff --git a/builtins/stdtypes.po b/builtins/stdtypes.po index b828a9f4..ae0052ff 100644 --- a/builtins/stdtypes.po +++ b/builtins/stdtypes.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-05 16:53+0200\n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -20,11 +20,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../../library/stdtypes.rst:8 +#: ../../builtins/stdtypes.rst:8 msgid "Built-in Types" msgstr "Eingebaute Typen" -#: ../../library/stdtypes.rst:10 +#: ../../builtins/stdtypes.rst:10 msgid "" "The following sections describe the standard types that are built into the " "interpreter." @@ -32,7 +32,7 @@ msgstr "" "Die folgenden Abschnitte beschreiben die Standardtypen, die in den " "Interpreter eingebaut sind." -#: ../../library/stdtypes.rst:15 +#: ../../builtins/stdtypes.rst:15 msgid "" "The principal built-in types are numerics, sequences, mappings, classes, " "instances and exceptions." @@ -40,7 +40,7 @@ msgstr "" "Die wichtigsten eingebauten Typen sind numerische Typen, Sequenzen, " "Mappings, Klassen, Instanzen und Exceptions." -#: ../../library/stdtypes.rst:18 +#: ../../builtins/stdtypes.rst:18 msgid "" "Some collection classes are mutable. The methods that add, subtract, or " "rearrange their members in place, and don't return a specific item, never " @@ -51,7 +51,7 @@ msgstr "" "bestimmtes Element zurückgeben, geben niemals die Collection-Instanz selbst " "zurück, sondern ``None``." -#: ../../library/stdtypes.rst:22 +#: ../../builtins/stdtypes.rst:22 msgid "" "Some operations are supported by several object types; in particular, " "practically all objects can be compared for equality, tested for truth " @@ -66,11 +66,11 @@ msgstr "" "`str`). Letztere Funktion wird implizit verwendet, wenn ein Objekt durch die " "Funktion :func:`print` ausgegeben wird." -#: ../../library/stdtypes.rst:32 +#: ../../builtins/stdtypes.rst:32 msgid "Truth Value Testing" msgstr "Wahrheitswert-Prüfung" -#: ../../library/stdtypes.rst:41 +#: ../../builtins/stdtypes.rst:41 msgid "" "Any object can be tested for truth value, for use in an :keyword:`if` or :" "keyword:`while` condition or as operand of the Boolean operations below." @@ -79,7 +79,7 @@ msgstr "" "keyword:`if`- oder :keyword:`while`-Bedingung oder als Operand der folgenden " "booleschen Operationen verwendet zu werden." -#: ../../library/stdtypes.rst:46 +#: ../../builtins/stdtypes.rst:46 msgid "" "By default, an object is considered true unless its class defines either a :" "meth:`~object.__bool__` method that returns ``False`` or a :meth:`~object." @@ -96,11 +96,11 @@ msgstr "" "Beispiel :data:`NotImplemented`). Hier sind die meisten der eingebauten " "Objekte aufgeführt, die als falsch gelten:" -#: ../../library/stdtypes.rst:58 +#: ../../builtins/stdtypes.rst:58 msgid "constants defined to be false: ``None`` and ``False``" msgstr "Konstanten, die als falsch definiert sind: ``None`` und ``False``" -#: ../../library/stdtypes.rst:60 +#: ../../builtins/stdtypes.rst:60 msgid "" "zero of any numeric type: ``0``, ``0.0``, ``0j``, ``Decimal(0)``, " "``Fraction(0, 1)``" @@ -108,7 +108,7 @@ msgstr "" "Null eines beliebigen numerischen Typs: ``0``, ``0.0``, ``0j``, " "``Decimal(0)``, ``Fraction(0, 1)``" -#: ../../library/stdtypes.rst:63 +#: ../../builtins/stdtypes.rst:63 msgid "" "empty sequences and collections: ``''``, ``()``, ``[]``, ``{}``, ``set()``, " "``range(0)``" @@ -116,7 +116,7 @@ msgstr "" "leere Sequenzen und Collections: ``''``, ``()``, ``[]``, ``{}``, ``set()``, " "``range(0)``" -#: ../../library/stdtypes.rst:72 +#: ../../builtins/stdtypes.rst:72 msgid "" "Operations and built-in functions that have a Boolean result always return " "``0`` or ``False`` for false and ``1`` or ``True`` for true, unless " @@ -128,89 +128,89 @@ msgstr "" "zurück, sofern nicht anders angegeben. (Wichtige Ausnahme: Die booleschen " "Operationen ``or`` und ``and`` geben immer einen ihrer Operanden zurück.)" -#: ../../library/stdtypes.rst:81 +#: ../../builtins/stdtypes.rst:81 msgid "Boolean Operations --- :keyword:`!and`, :keyword:`!or`, :keyword:`!not`" msgstr "" "Boolesche Operationen --- :keyword:`!and`, :keyword:`!or`, :keyword:`!not`" -#: ../../library/stdtypes.rst:85 +#: ../../builtins/stdtypes.rst:85 msgid "These are the Boolean operations, ordered by ascending priority:" msgstr "" "Dies sind die booleschen Operationen, geordnet nach aufsteigender Priorität:" -#: ../../library/stdtypes.rst:88 ../../library/stdtypes.rst:146 -#: ../../library/stdtypes.rst:292 ../../library/stdtypes.rst:382 -#: ../../library/stdtypes.rst:432 ../../library/stdtypes.rst:1018 -#: ../../library/stdtypes.rst:1242 +#: ../../builtins/stdtypes.rst:88 ../../builtins/stdtypes.rst:146 +#: ../../builtins/stdtypes.rst:292 ../../builtins/stdtypes.rst:382 +#: ../../builtins/stdtypes.rst:432 ../../builtins/stdtypes.rst:1018 +#: ../../builtins/stdtypes.rst:1242 msgid "Operation" msgstr "Operation" -#: ../../library/stdtypes.rst:88 ../../library/stdtypes.rst:292 -#: ../../library/stdtypes.rst:382 ../../library/stdtypes.rst:432 -#: ../../library/stdtypes.rst:1018 ../../library/stdtypes.rst:1242 +#: ../../builtins/stdtypes.rst:88 ../../builtins/stdtypes.rst:292 +#: ../../builtins/stdtypes.rst:382 ../../builtins/stdtypes.rst:432 +#: ../../builtins/stdtypes.rst:1018 ../../builtins/stdtypes.rst:1242 msgid "Result" msgstr "Ergebnis" -#: ../../library/stdtypes.rst:88 ../../library/stdtypes.rst:292 -#: ../../library/stdtypes.rst:432 ../../library/stdtypes.rst:1018 -#: ../../library/stdtypes.rst:1242 ../../library/stdtypes.rst:3201 -#: ../../library/stdtypes.rst:4475 +#: ../../builtins/stdtypes.rst:88 ../../builtins/stdtypes.rst:292 +#: ../../builtins/stdtypes.rst:432 ../../builtins/stdtypes.rst:1018 +#: ../../builtins/stdtypes.rst:1242 ../../builtins/stdtypes.rst:3201 +#: ../../builtins/stdtypes.rst:4475 msgid "Notes" msgstr "Hinweise" -#: ../../library/stdtypes.rst:90 +#: ../../builtins/stdtypes.rst:90 msgid "``x or y``" msgstr "``x or y``" -#: ../../library/stdtypes.rst:90 +#: ../../builtins/stdtypes.rst:90 msgid "if *x* is true, then *x*, else *y*" msgstr "wenn *x* wahr ist, dann *x*, sonst *y*" -#: ../../library/stdtypes.rst:90 ../../library/stdtypes.rst:1020 -#: ../../library/stdtypes.rst:1023 ../../library/stdtypes.rst:1257 -#: ../../library/stdtypes.rst:3207 ../../library/stdtypes.rst:4481 +#: ../../builtins/stdtypes.rst:90 ../../builtins/stdtypes.rst:1020 +#: ../../builtins/stdtypes.rst:1023 ../../builtins/stdtypes.rst:1257 +#: ../../builtins/stdtypes.rst:3207 ../../builtins/stdtypes.rst:4481 msgid "\\(1)" msgstr "\\(1)" -#: ../../library/stdtypes.rst:93 +#: ../../builtins/stdtypes.rst:93 msgid "``x and y``" msgstr "``x und y``" -#: ../../library/stdtypes.rst:93 +#: ../../builtins/stdtypes.rst:93 msgid "if *x* is false, then *x*, else *y*" msgstr "wenn *x* falsch ist, dann *x*, sonst *y*" -#: ../../library/stdtypes.rst:93 ../../library/stdtypes.rst:305 -#: ../../library/stdtypes.rst:325 ../../library/stdtypes.rst:1268 -#: ../../library/stdtypes.rst:3211 ../../library/stdtypes.rst:3213 -#: ../../library/stdtypes.rst:4485 ../../library/stdtypes.rst:4487 +#: ../../builtins/stdtypes.rst:93 ../../builtins/stdtypes.rst:305 +#: ../../builtins/stdtypes.rst:325 ../../builtins/stdtypes.rst:1268 +#: ../../builtins/stdtypes.rst:3211 ../../builtins/stdtypes.rst:3213 +#: ../../builtins/stdtypes.rst:4485 ../../builtins/stdtypes.rst:4487 msgid "\\(2)" msgstr "\\(2)" -#: ../../library/stdtypes.rst:96 +#: ../../builtins/stdtypes.rst:96 msgid "``not x``" msgstr "``not x``" -#: ../../library/stdtypes.rst:96 +#: ../../builtins/stdtypes.rst:96 msgid "if *x* is false, then ``True``, else ``False``" msgstr "wenn *x* falsch ist, dann ``True``, sonst ``False``" -#: ../../library/stdtypes.rst:96 ../../library/stdtypes.rst:3215 -#: ../../library/stdtypes.rst:3217 ../../library/stdtypes.rst:3219 -#: ../../library/stdtypes.rst:3221 ../../library/stdtypes.rst:4489 -#: ../../library/stdtypes.rst:4491 ../../library/stdtypes.rst:4493 -#: ../../library/stdtypes.rst:4495 +#: ../../builtins/stdtypes.rst:96 ../../builtins/stdtypes.rst:3215 +#: ../../builtins/stdtypes.rst:3217 ../../builtins/stdtypes.rst:3219 +#: ../../builtins/stdtypes.rst:3221 ../../builtins/stdtypes.rst:4489 +#: ../../builtins/stdtypes.rst:4491 ../../builtins/stdtypes.rst:4493 +#: ../../builtins/stdtypes.rst:4495 msgid "\\(3)" msgstr "\\(3)" -#: ../../library/stdtypes.rst:105 ../../library/stdtypes.rst:336 -#: ../../library/stdtypes.rst:450 ../../library/stdtypes.rst:1062 -#: ../../library/stdtypes.rst:1272 ../../library/stdtypes.rst:3251 -#: ../../library/stdtypes.rst:4525 +#: ../../builtins/stdtypes.rst:105 ../../builtins/stdtypes.rst:336 +#: ../../builtins/stdtypes.rst:450 ../../builtins/stdtypes.rst:1062 +#: ../../builtins/stdtypes.rst:1272 ../../builtins/stdtypes.rst:3251 +#: ../../builtins/stdtypes.rst:4525 msgid "Notes:" msgstr "Hinweise:" -#: ../../library/stdtypes.rst:108 +#: ../../builtins/stdtypes.rst:108 msgid "" "This is a short-circuit operator, so it only evaluates the second argument " "if the first one is false." @@ -218,7 +218,7 @@ msgstr "" "Dies ist ein Kurzschlussoperator, daher wird das zweite Argument nur " "ausgewertet, wenn das erste falsch ist." -#: ../../library/stdtypes.rst:112 +#: ../../builtins/stdtypes.rst:112 msgid "" "This is a short-circuit operator, so it only evaluates the second argument " "if the first one is true." @@ -226,7 +226,7 @@ msgstr "" "Dies ist ein Kurzschlussoperator, daher wird das zweite Argument nur " "ausgewertet, wenn das erste wahr ist." -#: ../../library/stdtypes.rst:116 +#: ../../builtins/stdtypes.rst:116 msgid "" "``not`` has a lower priority than non-Boolean operators, so ``not a == b`` " "is interpreted as ``not (a == b)``, and ``a == not b`` is a syntax error." @@ -235,11 +235,11 @@ msgstr "" "wird ``not a == b`` als ``not (a == b)`` interpretiert, und ``a == not b`` " "ist ein Syntaxfehler." -#: ../../library/stdtypes.rst:123 +#: ../../builtins/stdtypes.rst:123 msgid "Comparisons" msgstr "Vergleiche" -#: ../../library/stdtypes.rst:137 +#: ../../builtins/stdtypes.rst:137 msgid "" "There are eight comparison operations in Python. They all have the same " "priority (which is higher than that of the Boolean operations). Comparisons " @@ -254,81 +254,81 @@ msgstr "" "wird (aber in beiden Fällen wird *z* überhaupt nicht ausgewertet, wenn ``x < " "y`` als falsch befunden wird)." -#: ../../library/stdtypes.rst:143 +#: ../../builtins/stdtypes.rst:143 msgid "This table summarizes the comparison operations:" msgstr "Diese Tabelle fasst die Vergleichsoperationen zusammen:" -#: ../../library/stdtypes.rst:146 ../../library/stdtypes.rst:3178 -#: ../../library/stdtypes.rst:3201 ../../library/stdtypes.rst:4452 -#: ../../library/stdtypes.rst:4475 +#: ../../builtins/stdtypes.rst:146 ../../builtins/stdtypes.rst:3178 +#: ../../builtins/stdtypes.rst:3201 ../../builtins/stdtypes.rst:4452 +#: ../../builtins/stdtypes.rst:4475 msgid "Meaning" msgstr "Bedeutung" -#: ../../library/stdtypes.rst:148 +#: ../../builtins/stdtypes.rst:148 msgid "``<``" msgstr "``<``" -#: ../../library/stdtypes.rst:148 +#: ../../builtins/stdtypes.rst:148 msgid "strictly less than" msgstr "echt kleiner als" -#: ../../library/stdtypes.rst:150 +#: ../../builtins/stdtypes.rst:150 msgid "``<=``" msgstr "``<=``" -#: ../../library/stdtypes.rst:150 +#: ../../builtins/stdtypes.rst:150 msgid "less than or equal" msgstr "kleiner oder gleich" -#: ../../library/stdtypes.rst:152 +#: ../../builtins/stdtypes.rst:152 msgid "``>``" msgstr "``>``" -#: ../../library/stdtypes.rst:152 +#: ../../builtins/stdtypes.rst:152 msgid "strictly greater than" msgstr "echt größer als" -#: ../../library/stdtypes.rst:154 +#: ../../builtins/stdtypes.rst:154 msgid "``>=``" msgstr "``>=``" -#: ../../library/stdtypes.rst:154 +#: ../../builtins/stdtypes.rst:154 msgid "greater than or equal" msgstr "größer oder gleich" -#: ../../library/stdtypes.rst:156 +#: ../../builtins/stdtypes.rst:156 msgid "``==``" msgstr "``==``" -#: ../../library/stdtypes.rst:156 +#: ../../builtins/stdtypes.rst:156 msgid "equal" msgstr "gleich" -#: ../../library/stdtypes.rst:158 +#: ../../builtins/stdtypes.rst:158 msgid "``!=``" msgstr "``!=``" -#: ../../library/stdtypes.rst:158 +#: ../../builtins/stdtypes.rst:158 msgid "not equal" msgstr "ungleich" -#: ../../library/stdtypes.rst:160 +#: ../../builtins/stdtypes.rst:160 msgid "``is``" msgstr "``is``" -#: ../../library/stdtypes.rst:160 +#: ../../builtins/stdtypes.rst:160 msgid "object identity" msgstr "Objektidentität" -#: ../../library/stdtypes.rst:162 +#: ../../builtins/stdtypes.rst:162 msgid "``is not``" msgstr "``is not``" -#: ../../library/stdtypes.rst:162 +#: ../../builtins/stdtypes.rst:162 msgid "negated object identity" msgstr "negierte Objektidentität" -#: ../../library/stdtypes.rst:169 +#: ../../builtins/stdtypes.rst:169 msgid "" "Unless stated otherwise, objects of different types never compare equal. The " "``==`` operator is always defined but for some object types (for example, " @@ -344,7 +344,7 @@ msgstr "" "nur dort definiert, wo sie sinnvoll sind.Beispielsweise lösen sie eine :exc:" "`TypeError`-Ausnahme aus, wenn eines der Argumente eine komplexe Zahl ist." -#: ../../library/stdtypes.rst:183 +#: ../../builtins/stdtypes.rst:183 msgid "" "Non-identical instances of a class normally compare as non-equal unless the " "class defines the :meth:`~object.__eq__` method." @@ -353,7 +353,7 @@ msgstr "" "angesehen, es sei denn, die Klasse definiert die Methode :meth:`~object." "__eq__`." -#: ../../library/stdtypes.rst:186 +#: ../../builtins/stdtypes.rst:186 msgid "" "Instances of a class cannot be ordered with respect to other instances of " "the same class, or other types of object, unless the class defines enough of " @@ -369,7 +369,7 @@ msgstr "" "Allgemeinen genügen :meth:`~object.__lt__` und :meth:`~object.__eq__`, wenn " "man die herkömmlichen Bedeutungen der Vergleichsoperatoren wünscht)." -#: ../../library/stdtypes.rst:193 +#: ../../builtins/stdtypes.rst:193 msgid "" "The behavior of the :keyword:`is` and :keyword:`is not` operators cannot be " "customized; also they can be applied to any two objects and never raise an " @@ -379,7 +379,7 @@ msgstr "" "angepasst werden. Zudem können sie auf beliebige zwei Objekte angewendet " "werden und lösen niemals eine Ausnahme aus." -#: ../../library/stdtypes.rst:201 +#: ../../builtins/stdtypes.rst:201 msgid "" "Two more operations with the same syntactic priority, :keyword:`in` and :" "keyword:`not in`, are supported by types that are :term:`iterable` or " @@ -389,11 +389,11 @@ msgstr "" "`in` und :keyword:`not in`, werden von Typen unterstützt, die :term:" "`iterable` sind oder die Methode :meth:`~object.__contains__` implementieren." -#: ../../library/stdtypes.rst:208 +#: ../../builtins/stdtypes.rst:208 msgid "Numeric Types --- :class:`int`, :class:`float`, :class:`complex`" msgstr "Numerische Typen --- :class:`int`, :class:`float`, :class:`complex`" -#: ../../library/stdtypes.rst:218 +#: ../../builtins/stdtypes.rst:218 msgid "" "There are three distinct numeric types: :dfn:`integers`, :dfn:`floating-" "point numbers`, and :dfn:`complex numbers`. In addition, Booleans are a " @@ -421,7 +421,7 @@ msgstr "" "`fractions.Fraction` für rationale Zahlen und :mod:`decimal.Decimal` für " "Gleitkommazahlen mit benutzerdefinierbarer Genauigkeit.)" -#: ../../library/stdtypes.rst:240 +#: ../../builtins/stdtypes.rst:240 msgid "" "Numbers are created by numeric literals or as the result of built-in " "functions and operators. Unadorned integer literals (including hex, octal " @@ -440,7 +440,7 @@ msgstr "" "Realteil von null), die man zu einer Ganzzahl oder einem Float addieren " "kann, um eine komplexe Zahl mit Real- und Imaginärteil zu erhalten." -#: ../../library/stdtypes.rst:248 +#: ../../builtins/stdtypes.rst:248 msgid "" "The constructors :func:`int`, :func:`float`, and :func:`complex` can be used " "to produce numbers of a specific type." @@ -448,7 +448,7 @@ msgstr "" "Die Konstruktoren :func:`int`, :func:`float` und :func:`complex` können " "verwendet werden, um Zahlen eines bestimmten Typs zu erzeugen." -#: ../../library/stdtypes.rst:270 +#: ../../builtins/stdtypes.rst:270 msgid "" "Python fully supports mixed arithmetic: when a binary arithmetic operator " "has operands of different built-in numeric types, the operand with the " @@ -459,12 +459,12 @@ msgstr "" "Typen hat, wird der Operand mit dem „schmaleren\" Typ auf den Typ des " "anderen erweitert:" -#: ../../library/stdtypes.rst:274 +#: ../../builtins/stdtypes.rst:274 msgid "If both arguments are complex numbers, no conversion is performed;" msgstr "" "Sind beide Argumente komplexe Zahlen, wird keine Umwandlung durchgeführt;" -#: ../../library/stdtypes.rst:275 +#: ../../builtins/stdtypes.rst:275 msgid "" "if either argument is a complex or a floating-point number, the other is " "converted to a floating-point number;" @@ -472,12 +472,12 @@ msgstr "" "ist eines der Argumente eine komplexe Zahl oder eine Gleitkommazahl, wird " "das andere in eine Gleitkommazahl umgewandelt;" -#: ../../library/stdtypes.rst:277 +#: ../../builtins/stdtypes.rst:277 msgid "otherwise, both must be integers and no conversion is necessary." msgstr "" "andernfalls müssen beide Ganzzahlen sein, und es ist keine Umwandlung nötig." -#: ../../library/stdtypes.rst:279 +#: ../../builtins/stdtypes.rst:279 msgid "" "Arithmetic with complex and real operands is defined by the usual " "mathematical formula, for example::" @@ -485,7 +485,7 @@ msgstr "" "Arithmetik mit komplexen und reellen Operanden ist durch die üblichen " "mathematischen Formeln definiert, zum Beispiel::" -#: ../../library/stdtypes.rst:282 +#: ../../builtins/stdtypes.rst:282 msgid "" "x + complex(u, v) = complex(x + u, v)\n" "x * complex(u, v) = complex(x * u, x * v)" @@ -493,7 +493,7 @@ msgstr "" "x + complex(u, v) = complex(x + u, v)\n" "x * complex(u, v) = complex(x * u, x * v)" -#: ../../library/stdtypes.rst:285 +#: ../../builtins/stdtypes.rst:285 msgid "" "A comparison between numbers of different types behaves as though the exact " "values of those numbers were being compared. [2]_" @@ -501,7 +501,7 @@ msgstr "" "Ein Vergleich zwischen Zahlen verschiedener Typen verhält sich so, als " "würden die exakten Werte dieser Zahlen verglichen. [2]_" -#: ../../library/stdtypes.rst:288 +#: ../../builtins/stdtypes.rst:288 msgid "" "All numeric types (except complex) support the following operations (for " "priorities of the operations, see :ref:`operator-summary`):" @@ -509,127 +509,127 @@ msgstr "" "Alle numerischen Typen (außer komplexe Zahlen) unterstützen die folgenden " "Operationen (zur Priorität der Operationen siehe :ref:`operator-summary`):" -#: ../../library/stdtypes.rst:292 +#: ../../builtins/stdtypes.rst:292 msgid "Full documentation" msgstr "Vollständige Dokumentation" -#: ../../library/stdtypes.rst:294 +#: ../../builtins/stdtypes.rst:294 msgid "``x + y``" msgstr "``x + y``" -#: ../../library/stdtypes.rst:294 +#: ../../builtins/stdtypes.rst:294 msgid "sum of *x* and *y*" msgstr "Summe von *x* und *y*" -#: ../../library/stdtypes.rst:296 +#: ../../builtins/stdtypes.rst:296 msgid "``x - y``" msgstr "``x - y``" -#: ../../library/stdtypes.rst:296 +#: ../../builtins/stdtypes.rst:296 msgid "difference of *x* and *y*" msgstr "Differenz von *x* und *y*" -#: ../../library/stdtypes.rst:298 +#: ../../builtins/stdtypes.rst:298 msgid "``x * y``" msgstr "``x * y``" -#: ../../library/stdtypes.rst:298 +#: ../../builtins/stdtypes.rst:298 msgid "product of *x* and *y*" msgstr "Produkt von *x* und *y*" -#: ../../library/stdtypes.rst:300 +#: ../../builtins/stdtypes.rst:300 msgid "``x / y``" msgstr "``x / y``" -#: ../../library/stdtypes.rst:300 +#: ../../builtins/stdtypes.rst:300 msgid "quotient of *x* and *y*" msgstr "Quotient von *x* und *y*" -#: ../../library/stdtypes.rst:302 +#: ../../builtins/stdtypes.rst:302 msgid "``x // y``" msgstr "``x // y``" -#: ../../library/stdtypes.rst:302 +#: ../../builtins/stdtypes.rst:302 msgid "floored quotient of *x* and *y*" msgstr "abgerundeter Quotient von *x* und *y*" -#: ../../library/stdtypes.rst:302 +#: ../../builtins/stdtypes.rst:302 msgid "\\(1)\\(2)" msgstr "\\(1)\\(2)" -#: ../../library/stdtypes.rst:305 +#: ../../builtins/stdtypes.rst:305 msgid "``x % y``" msgstr "``x % y``" -#: ../../library/stdtypes.rst:305 +#: ../../builtins/stdtypes.rst:305 msgid "remainder of ``x / y``" msgstr "Rest von ``x / y``" -#: ../../library/stdtypes.rst:307 +#: ../../builtins/stdtypes.rst:307 msgid "``-x``" msgstr "``-x``" -#: ../../library/stdtypes.rst:307 +#: ../../builtins/stdtypes.rst:307 msgid "*x* negated" msgstr "*x* negiert" -#: ../../library/stdtypes.rst:309 +#: ../../builtins/stdtypes.rst:309 msgid "``+x``" msgstr "``+x``" -#: ../../library/stdtypes.rst:309 +#: ../../builtins/stdtypes.rst:309 msgid "*x* unchanged" msgstr "*x* unverändert" -#: ../../library/stdtypes.rst:311 +#: ../../builtins/stdtypes.rst:311 msgid "``abs(x)``" msgstr "``abs(x)``" -#: ../../library/stdtypes.rst:311 +#: ../../builtins/stdtypes.rst:311 msgid "absolute value or magnitude of *x*" msgstr "Absolutwert oder Betrag von *x*" -#: ../../library/stdtypes.rst:311 +#: ../../builtins/stdtypes.rst:311 msgid ":func:`abs`" msgstr ":func:`abs`" -#: ../../library/stdtypes.rst:314 +#: ../../builtins/stdtypes.rst:314 msgid "``int(x)``" msgstr "``int(x)``" -#: ../../library/stdtypes.rst:314 +#: ../../builtins/stdtypes.rst:314 msgid "*x* converted to integer" msgstr "*x* umgewandelt in eine Ganzzahl" -#: ../../library/stdtypes.rst:314 +#: ../../builtins/stdtypes.rst:314 msgid "\\(3)\\(6)" msgstr "\\(3)\\(6)" -#: ../../library/stdtypes.rst:314 +#: ../../builtins/stdtypes.rst:314 msgid ":func:`int`" msgstr ":func:`int`" -#: ../../library/stdtypes.rst:316 +#: ../../builtins/stdtypes.rst:316 msgid "``float(x)``" msgstr "``float(x)``" -#: ../../library/stdtypes.rst:316 +#: ../../builtins/stdtypes.rst:316 msgid "*x* converted to floating point" msgstr "*x* umgewandelt in eine Gleitkommazahl" -#: ../../library/stdtypes.rst:316 +#: ../../builtins/stdtypes.rst:316 msgid "\\(4)\\(6)" msgstr "\\(4)\\(6)" -#: ../../library/stdtypes.rst:316 +#: ../../builtins/stdtypes.rst:316 msgid ":func:`float`" msgstr ":func:`float`" -#: ../../library/stdtypes.rst:318 +#: ../../builtins/stdtypes.rst:318 msgid "``complex(re, im)``" msgstr "``complex(re, im)``" -#: ../../library/stdtypes.rst:318 +#: ../../builtins/stdtypes.rst:318 msgid "" "a complex number with real part *re*, imaginary part *im*. *im* defaults to " "zero." @@ -637,59 +637,59 @@ msgstr "" "Eine komplexe Zahl mit Realteil *re* und Imaginärteil *im*. *im* ist " "standardmäßig null." -#: ../../library/stdtypes.rst:318 ../../library/stdtypes.rst:3209 -#: ../../library/stdtypes.rst:4512 +#: ../../builtins/stdtypes.rst:318 ../../builtins/stdtypes.rst:3209 +#: ../../builtins/stdtypes.rst:4512 msgid "\\(6)" msgstr "\\(6)" -#: ../../library/stdtypes.rst:318 +#: ../../builtins/stdtypes.rst:318 msgid ":func:`complex`" msgstr ":func:`complex`" -#: ../../library/stdtypes.rst:322 +#: ../../builtins/stdtypes.rst:322 msgid "``c.conjugate()``" msgstr "``c.conjugate()``" -#: ../../library/stdtypes.rst:322 +#: ../../builtins/stdtypes.rst:322 msgid "conjugate of the complex number *c*" msgstr "Konjugiert komplexe Zahl zu *c*" -#: ../../library/stdtypes.rst:325 +#: ../../builtins/stdtypes.rst:325 msgid "``divmod(x, y)``" msgstr "``divmod(x, y)``" -#: ../../library/stdtypes.rst:325 +#: ../../builtins/stdtypes.rst:325 msgid "the pair ``(x // y, x % y)``" msgstr "Das Paar ``(x // y, x % y)``" -#: ../../library/stdtypes.rst:325 +#: ../../builtins/stdtypes.rst:325 msgid ":func:`divmod`" msgstr ":func:`divmod`" -#: ../../library/stdtypes.rst:327 +#: ../../builtins/stdtypes.rst:327 msgid "``pow(x, y)``" msgstr "``pow(x, y)``" -#: ../../library/stdtypes.rst:327 ../../library/stdtypes.rst:329 +#: ../../builtins/stdtypes.rst:327 ../../builtins/stdtypes.rst:329 msgid "*x* to the power *y*" msgstr "*x* hoch *y*" -#: ../../library/stdtypes.rst:327 ../../library/stdtypes.rst:329 -#: ../../library/stdtypes.rst:3234 ../../library/stdtypes.rst:3237 -#: ../../library/stdtypes.rst:3240 ../../library/stdtypes.rst:4508 -#: ../../library/stdtypes.rst:4515 +#: ../../builtins/stdtypes.rst:327 ../../builtins/stdtypes.rst:329 +#: ../../builtins/stdtypes.rst:3234 ../../builtins/stdtypes.rst:3237 +#: ../../builtins/stdtypes.rst:3240 ../../builtins/stdtypes.rst:4508 +#: ../../builtins/stdtypes.rst:4515 msgid "\\(5)" msgstr "\\(5)" -#: ../../library/stdtypes.rst:327 +#: ../../builtins/stdtypes.rst:327 msgid ":func:`pow`" msgstr ":func:`pow`" -#: ../../library/stdtypes.rst:329 +#: ../../builtins/stdtypes.rst:329 msgid "``x ** y``" msgstr "``x ** y``" -#: ../../library/stdtypes.rst:339 +#: ../../builtins/stdtypes.rst:339 msgid "" "Also referred to as integer division. For operands of type :class:`int`, " "the result has type :class:`int`. For operands of type :class:`float`, the " @@ -706,7 +706,7 @@ msgstr "" "gerundet: ``1//2`` ist ``0``, ``(-1)//2`` ist ``-1``, ``1//(-2)`` ist ``-1`` " "und ``(-1)//(-2)`` ist ``0``." -#: ../../library/stdtypes.rst:347 +#: ../../builtins/stdtypes.rst:347 msgid "" "Not for complex numbers. Instead convert to floats using :func:`abs` if " "appropriate." @@ -714,7 +714,7 @@ msgstr "" "Nicht für komplexe Zahlen. Verwende stattdessen gegebenenfalls :func:`abs` " "zur Umwandlung in Fließkommazahlen." -#: ../../library/stdtypes.rst:358 +#: ../../builtins/stdtypes.rst:358 msgid "" "Conversion from :class:`float` to :class:`int` truncates, discarding the " "fractional part. See functions :func:`math.floor` and :func:`math.ceil` for " @@ -724,7 +724,7 @@ msgstr "" "Nachkommateil ab. Siehe die Funktionen :func:`math.floor` und :func:`math." "ceil` für alternative Umwandlungen." -#: ../../library/stdtypes.rst:363 +#: ../../builtins/stdtypes.rst:363 msgid "" "float also accepts the strings \"nan\" and \"inf\" with an optional prefix " "\"+\" or \"-\" for Not a Number (NaN) and positive or negative infinity." @@ -733,7 +733,7 @@ msgstr "" "Präfix „+“ oder „-“ für Not a Number (NaN) sowie positive oder negative " "Unendlichkeit." -#: ../../library/stdtypes.rst:367 +#: ../../builtins/stdtypes.rst:367 msgid "" "Python defines ``pow(0, 0)`` and ``0 ** 0`` to be ``1``, as is common for " "programming languages." @@ -741,7 +741,7 @@ msgstr "" "Python definiert ``pow(0, 0)`` und ``0 ** 0`` als ``1``, wie es für " "Programmiersprachen üblich ist." -#: ../../library/stdtypes.rst:371 +#: ../../builtins/stdtypes.rst:371 msgid "" "The numeric literals accepted include the digits ``0`` to ``9`` or any " "Unicode equivalent (code points with the ``Nd`` property)." @@ -749,7 +749,7 @@ msgstr "" "Zu den akzeptierten numerischen Literalen gehören die Ziffern ``0`` bis " "``9`` oder jedes Unicode-Äquivalent (Codepunkte mit der Eigenschaft ``Nd``)." -#: ../../library/stdtypes.rst:374 +#: ../../builtins/stdtypes.rst:374 msgid "" "See `the Unicode Standard `_ for a complete list of code points with the ``Nd`` " @@ -759,7 +759,7 @@ msgstr "" "DerivedNumericType.txt>`_ für eine vollständige Liste der Codepunkte mit der " "Eigenschaft ``Nd``." -#: ../../library/stdtypes.rst:378 +#: ../../builtins/stdtypes.rst:378 msgid "" "All :class:`numbers.Real` types (:class:`int` and :class:`float`) also " "include the following operations:" @@ -767,19 +767,20 @@ msgstr "" "Alle :class:`numbers.Real`-Typen (:class:`int` und :class:`float`) enthalten " "außerdem die folgenden Operationen:" -#: ../../library/stdtypes.rst:384 -msgid ":func:`math.trunc(\\ x) `" +#: ../../builtins/stdtypes.rst:384 +#, fuzzy +msgid ":func:`math.trunc( x) `" msgstr ":func:`math.trunc(\\ x) `" -#: ../../library/stdtypes.rst:384 +#: ../../builtins/stdtypes.rst:384 msgid "*x* truncated to :class:`~numbers.Integral`" msgstr "*x* abgeschnitten zu :class:`~numbers.Integral`" -#: ../../library/stdtypes.rst:387 +#: ../../builtins/stdtypes.rst:387 msgid ":func:`round(x[, n]) `" msgstr ":func:`round(x[, n]) `" -#: ../../library/stdtypes.rst:387 +#: ../../builtins/stdtypes.rst:387 msgid "" "*x* rounded to *n* digits, rounding half to even. If *n* is omitted, it " "defaults to 0." @@ -788,23 +789,24 @@ msgstr "" "gerundet wird (Round half to even). Wird *n* weggelassen, ist der " "Standardwert 0." -#: ../../library/stdtypes.rst:391 -msgid ":func:`math.floor(\\ x) `" +#: ../../builtins/stdtypes.rst:391 +#, fuzzy +msgid ":func:`math.floor( x) `" msgstr ":func:`math.floor(\\ x) `" -#: ../../library/stdtypes.rst:391 +#: ../../builtins/stdtypes.rst:391 msgid "the greatest :class:`~numbers.Integral` <= *x*" msgstr "das größte :class:`~numbers.Integral` <= *x*" -#: ../../library/stdtypes.rst:394 +#: ../../builtins/stdtypes.rst:394 msgid ":func:`math.ceil(x) `" msgstr ":func:`math.ceil(x) `" -#: ../../library/stdtypes.rst:394 +#: ../../builtins/stdtypes.rst:394 msgid "the least :class:`~numbers.Integral` >= *x*" msgstr "das kleinste :class:`~numbers.Integral` >= *x*" -#: ../../library/stdtypes.rst:398 +#: ../../builtins/stdtypes.rst:398 msgid "" "For additional numeric operations see the :mod:`math` and :mod:`cmath` " "modules." @@ -812,11 +814,11 @@ msgstr "" "Weitere numerische Operationen finden sich in den Modulen :mod:`math` und :" "mod:`cmath`." -#: ../../library/stdtypes.rst:407 +#: ../../builtins/stdtypes.rst:407 msgid "Bitwise Operations on Integer Types" msgstr "Bitweise Operationen auf Ganzzahl-Typen" -#: ../../library/stdtypes.rst:421 +#: ../../builtins/stdtypes.rst:421 msgid "" "Bitwise operations only make sense for integers. The result of bitwise " "operations is calculated as though carried out in two's complement with an " @@ -826,7 +828,7 @@ msgstr "" "bitweiser Operationen wird so berechnet, als würde es im Zweierkomplement " "mit einer unendlichen Anzahl von Vorzeichenbits ausgeführt." -#: ../../library/stdtypes.rst:425 +#: ../../builtins/stdtypes.rst:425 msgid "" "The priorities of the binary bitwise operations are all lower than the " "numeric operations and higher than the comparisons; the unary operation " @@ -838,97 +840,97 @@ msgstr "" "Operation ``~`` hat die gleiche Priorität wie die anderen unären numerischen " "Operationen (``+`` und ``-``)." -#: ../../library/stdtypes.rst:429 +#: ../../builtins/stdtypes.rst:429 msgid "This table lists the bitwise operations sorted in ascending priority:" msgstr "" "Diese Tabelle listet die bitweisen Operationen auf, sortiert nach " "aufsteigender Priorität:" -#: ../../library/stdtypes.rst:434 +#: ../../builtins/stdtypes.rst:434 msgid "``x | y``" msgstr "``x | y``" -#: ../../library/stdtypes.rst:434 +#: ../../builtins/stdtypes.rst:434 msgid "bitwise :dfn:`or` of *x* and *y*" msgstr "bitweises :dfn:`oder` von *x* und *y*" -#: ../../library/stdtypes.rst:434 ../../library/stdtypes.rst:437 -#: ../../library/stdtypes.rst:440 ../../library/stdtypes.rst:3223 -#: ../../library/stdtypes.rst:3227 ../../library/stdtypes.rst:4497 -#: ../../library/stdtypes.rst:4501 +#: ../../builtins/stdtypes.rst:434 ../../builtins/stdtypes.rst:437 +#: ../../builtins/stdtypes.rst:440 ../../builtins/stdtypes.rst:3223 +#: ../../builtins/stdtypes.rst:3227 ../../builtins/stdtypes.rst:4497 +#: ../../builtins/stdtypes.rst:4501 msgid "\\(4)" msgstr "\\(4)" -#: ../../library/stdtypes.rst:437 +#: ../../builtins/stdtypes.rst:437 msgid "``x ^ y``" msgstr "``x ^ y``" -#: ../../library/stdtypes.rst:437 +#: ../../builtins/stdtypes.rst:437 msgid "bitwise :dfn:`exclusive or` of *x* and *y*" msgstr "bitweises :dfn:`exklusives oder` von *x* und *y*" -#: ../../library/stdtypes.rst:440 +#: ../../builtins/stdtypes.rst:440 msgid "``x & y``" msgstr "``x & y``" -#: ../../library/stdtypes.rst:440 +#: ../../builtins/stdtypes.rst:440 msgid "bitwise :dfn:`and` of *x* and *y*" msgstr "bitweises :dfn:`und` von *x* und *y*" -#: ../../library/stdtypes.rst:443 +#: ../../builtins/stdtypes.rst:443 msgid "``x << n``" msgstr "``x << n``" -#: ../../library/stdtypes.rst:443 +#: ../../builtins/stdtypes.rst:443 msgid "*x* shifted left by *n* bits" msgstr "*x* um *n* Bits nach links verschoben" -#: ../../library/stdtypes.rst:443 +#: ../../builtins/stdtypes.rst:443 msgid "(1)(2)" msgstr "(1)(2)" -#: ../../library/stdtypes.rst:445 +#: ../../builtins/stdtypes.rst:445 msgid "``x >> n``" msgstr "``x >> n``" -#: ../../library/stdtypes.rst:445 +#: ../../builtins/stdtypes.rst:445 msgid "*x* shifted right by *n* bits" msgstr "*x* um *n* Bits nach rechts verschoben" -#: ../../library/stdtypes.rst:445 +#: ../../builtins/stdtypes.rst:445 msgid "(1)(3)" msgstr "(1)(3)" -#: ../../library/stdtypes.rst:447 +#: ../../builtins/stdtypes.rst:447 msgid "``~x``" msgstr "``~x``" -#: ../../library/stdtypes.rst:447 +#: ../../builtins/stdtypes.rst:447 msgid "the bits of *x* inverted" msgstr "die Bits von *x* invertiert" -#: ../../library/stdtypes.rst:453 +#: ../../builtins/stdtypes.rst:453 msgid "" "Negative shift counts are illegal and cause a :exc:`ValueError` to be raised." msgstr "" "Negative Shift-Werte sind unzulässig und führen dazu, dass ein :exc:" "`ValueError` ausgelöst wird." -#: ../../library/stdtypes.rst:456 +#: ../../builtins/stdtypes.rst:456 msgid "" "A left shift by *n* bits is equivalent to multiplication by ``pow(2, n)``." msgstr "" "Ein Linksshift um *n* Bits ist äquivalent zur Multiplikation mit ``pow(2, " "n)``." -#: ../../library/stdtypes.rst:459 +#: ../../builtins/stdtypes.rst:459 msgid "" "A right shift by *n* bits is equivalent to floor division by ``pow(2, n)``." msgstr "" "Ein Rechtsshift um *n* Bits ist äquivalent zur Abrundungsdivision (Floor " "Division) durch ``pow(2, n)``." -#: ../../library/stdtypes.rst:462 +#: ../../builtins/stdtypes.rst:462 msgid "" "Performing these calculations with at least one extra sign extension bit in " "a finite two's complement representation (a working bit-width of ``1 + max(x." @@ -941,11 +943,11 @@ msgstr "" "mehr) reicht aus, um das gleiche Ergebnis zu erhalten, als gäbe es eine " "unendliche Anzahl von Vorzeichenbits." -#: ../../library/stdtypes.rst:469 +#: ../../builtins/stdtypes.rst:469 msgid "Additional Methods on Integer Types" msgstr "Zusätzliche Methoden zu Ganzzahl-Typen" -#: ../../library/stdtypes.rst:471 +#: ../../builtins/stdtypes.rst:471 msgid "" "The int type implements the :class:`numbers.Integral` :term:`abstract base " "class`. In addition, it provides a few more methods:" @@ -954,7 +956,7 @@ msgstr "" "Basisklasse `. Darüber hinaus stellt er einige weitere " "Methoden zur Verfügung:" -#: ../../library/stdtypes.rst:476 +#: ../../builtins/stdtypes.rst:476 msgid "" "Return the number of bits necessary to represent an integer in binary, " "excluding the sign and leading zeros::" @@ -962,7 +964,7 @@ msgstr "" "Gibt die Anzahl der Bits zurück, die erforderlich sind, um eine Ganzzahl " "binär darzustellen, ausschließlich des Vorzeichens und führender Nullen::" -#: ../../library/stdtypes.rst:479 +#: ../../builtins/stdtypes.rst:479 msgid "" ">>> n = -37\n" ">>> bin(n)\n" @@ -976,7 +978,7 @@ msgstr "" ">>> n.bit_length()\n" "6" -#: ../../library/stdtypes.rst:485 +#: ../../builtins/stdtypes.rst:485 msgid "" "More precisely, if ``x`` is nonzero, then ``x.bit_length()`` is the unique " "positive integer ``k`` such that ``2**(k-1) <= abs(x) < 2**k``. " @@ -990,12 +992,12 @@ msgstr "" "gerundeten Logarithmus zu haben, dann ist ``k = 1 + int(log(abs(x), 2))``. " "Wenn ``x`` null ist, gibt ``x.bit_length()`` den Wert ``0`` zurück." -#: ../../library/stdtypes.rst:491 ../../library/stdtypes.rst:514 -#: ../../library/stdtypes.rst:559 ../../library/stdtypes.rst:603 +#: ../../builtins/stdtypes.rst:491 ../../builtins/stdtypes.rst:514 +#: ../../builtins/stdtypes.rst:559 ../../builtins/stdtypes.rst:603 msgid "Equivalent to::" msgstr "Äquivalent zu::" -#: ../../library/stdtypes.rst:493 +#: ../../builtins/stdtypes.rst:493 msgid "" "def bit_length(self):\n" " s = bin(self) # binary representation: bin(-37) --> '-0b100101'\n" @@ -1007,7 +1009,7 @@ msgstr "" " s = s.lstrip('-0b') # remove leading zeros and minus sign\n" " return len(s) # len('100101') --> 6" -#: ../../library/stdtypes.rst:502 +#: ../../builtins/stdtypes.rst:502 msgid "" "Return the number of ones in the binary representation of the absolute value " "of the integer. This is also known as the population count. Example::" @@ -1016,7 +1018,7 @@ msgstr "" "Ganzzahl zurück. Dies ist auch als Popcount (Population Count) bekannt. " "Beispiel::" -#: ../../library/stdtypes.rst:506 +#: ../../builtins/stdtypes.rst:506 msgid "" ">>> n = 19\n" ">>> bin(n)\n" @@ -1034,7 +1036,7 @@ msgstr "" ">>> (-n).bit_count()\n" "3" -#: ../../library/stdtypes.rst:516 +#: ../../builtins/stdtypes.rst:516 msgid "" "def bit_count(self):\n" " return bin(self).count(\"1\")" @@ -1042,11 +1044,11 @@ msgstr "" "def bit_count(self):\n" " return bin(self).count(\"1\")" -#: ../../library/stdtypes.rst:523 +#: ../../builtins/stdtypes.rst:523 msgid "Return an array of bytes representing an integer." msgstr "Gibt ein Byte-Array zurück, das eine Ganzzahl darstellt." -#: ../../library/stdtypes.rst:535 +#: ../../builtins/stdtypes.rst:535 msgid "" "The integer is represented using *length* bytes, and defaults to 1. An :exc:" "`OverflowError` is raised if the integer is not representable with the given " @@ -1056,7 +1058,7 @@ msgstr "" "`OverflowError` wird ausgelöst, wenn die Ganzzahl mit der angegebenen Anzahl " "von Bytes nicht darstellbar ist." -#: ../../library/stdtypes.rst:539 +#: ../../builtins/stdtypes.rst:539 msgid "" "The *byteorder* argument determines the byte order used to represent the " "integer, and defaults to ``\"big\"``. If *byteorder* is ``\"big\"``, the " @@ -1069,7 +1071,7 @@ msgstr "" "des Byte-Arrays. Wenn *byteorder* ``\"little\"`` ist, befindet sich das " "höchstwertige Byte am Ende des Byte-Arrays." -#: ../../library/stdtypes.rst:545 +#: ../../builtins/stdtypes.rst:545 msgid "" "The *signed* argument determines whether two's complement is used to " "represent the integer. If *signed* is ``False`` and a negative integer is " @@ -1081,7 +1083,7 @@ msgstr "" "negative Ganzzahl übergeben wird, wird ein :exc:`OverflowError` ausgelöst. " "Der Standardwert für *signed* ist ``False``." -#: ../../library/stdtypes.rst:550 +#: ../../builtins/stdtypes.rst:550 msgid "" "The default values can be used to conveniently turn an integer into a single " "byte object::" @@ -1089,7 +1091,7 @@ msgstr "" "Die Standardwerte können verwendet werden, um eine Ganzzahl bequem in ein " "einzelnes Byte-Objekt umzuwandeln::" -#: ../../library/stdtypes.rst:553 +#: ../../builtins/stdtypes.rst:553 msgid "" ">>> (65).to_bytes()\n" "b'A'" @@ -1097,7 +1099,7 @@ msgstr "" ">>> (65).to_bytes()\n" "b'A'" -#: ../../library/stdtypes.rst:556 +#: ../../builtins/stdtypes.rst:556 msgid "" "However, when using the default arguments, don't try to convert a value " "greater than 255 or you'll get an :exc:`OverflowError`." @@ -1106,7 +1108,7 @@ msgstr "" "werden, einen Wert größer als 255 zu konvertieren, da sonst ein :exc:" "`OverflowError` auftritt." -#: ../../library/stdtypes.rst:561 +#: ../../builtins/stdtypes.rst:561 msgid "" "def to_bytes(n, length=1, byteorder='big', signed=False):\n" " if byteorder == 'little':\n" @@ -1128,17 +1130,17 @@ msgstr "" "\n" " return bytes((n >> i*8) & 0xff for i in order)" -#: ../../library/stdtypes.rst:572 +#: ../../builtins/stdtypes.rst:572 msgid "Added default argument values for ``length`` and ``byteorder``." msgstr "Standard-Argumentwerte für ``length`` und ``byteorder`` hinzugefügt." -#: ../../library/stdtypes.rst:577 +#: ../../builtins/stdtypes.rst:577 msgid "Return the integer represented by the given array of bytes." msgstr "" "Gibt die Ganzzahl zurück, die durch das angegebene Byte-Array dargestellt " "wird." -#: ../../library/stdtypes.rst:590 +#: ../../builtins/stdtypes.rst:590 msgid "" "The argument *bytes* must either be a :term:`bytes-like object` or an " "iterable producing bytes." @@ -1146,7 +1148,7 @@ msgstr "" "Das Argument *bytes* muss entweder ein :term:`Byte-ähnliches Objekt ` oder ein Iterable sein, das Bytes erzeugt." -#: ../../library/stdtypes.rst:593 +#: ../../builtins/stdtypes.rst:593 msgid "" "The *byteorder* argument determines the byte order used to represent the " "integer, and defaults to ``\"big\"``. If *byteorder* is ``\"big\"``, the " @@ -1163,7 +1165,7 @@ msgstr "" "des Host-Systems abzufragen, verwende :data:`sys.byteorder` als Wert für die " "Bytereihenfolge." -#: ../../library/stdtypes.rst:600 +#: ../../builtins/stdtypes.rst:600 msgid "" "The *signed* argument indicates whether two's complement is used to " "represent the integer." @@ -1171,7 +1173,7 @@ msgstr "" "Das Argument *signed* gibt an, ob das Zweierkomplement zur Darstellung der " "Ganzzahl verwendet wird." -#: ../../library/stdtypes.rst:605 +#: ../../builtins/stdtypes.rst:605 msgid "" "def from_bytes(bytes, byteorder='big', signed=False):\n" " if byteorder == 'little':\n" @@ -1201,11 +1203,11 @@ msgstr "" "\n" " return n" -#: ../../library/stdtypes.rst:620 +#: ../../builtins/stdtypes.rst:620 msgid "Added default argument value for ``byteorder``." msgstr "Standard-Argumentwert für ``byteorder`` hinzugefügt." -#: ../../library/stdtypes.rst:625 +#: ../../builtins/stdtypes.rst:625 msgid "" "Return a pair of integers whose ratio is equal to the original integer and " "has a positive denominator. The integer ratio of integers (whole numbers) " @@ -1216,7 +1218,7 @@ msgstr "" "Ganzzahlverhältnis von ganzen Zahlen ist immer die Ganzzahl als Zähler und " "``1`` als Nenner." -#: ../../library/stdtypes.rst:634 +#: ../../builtins/stdtypes.rst:634 msgid "" "Returns ``True``. Exists for duck type compatibility with :meth:`float." "is_integer`." @@ -1224,11 +1226,11 @@ msgstr "" "Gibt ``True`` zurück. Existiert für Duck-Typing-Kompatibilität mit :meth:" "`float.is_integer`." -#: ../../library/stdtypes.rst:639 +#: ../../builtins/stdtypes.rst:639 msgid "Additional Methods on Float" msgstr "Zusätzliche Methoden zu Float" -#: ../../library/stdtypes.rst:641 +#: ../../builtins/stdtypes.rst:641 msgid "" "The float type implements the :class:`numbers.Real` :term:`abstract base " "class`. float also has the following additional methods." @@ -1237,14 +1239,14 @@ msgstr "" "Basisklasse `. float verfügt außerdem über die " "folgenden zusätzlichen Methoden." -#: ../../library/stdtypes.rst:646 +#: ../../builtins/stdtypes.rst:646 msgid "" "Class method to return a floating-point number constructed from a number *x*." msgstr "" "Klassenmethode, die eine aus einer Zahl *x* konstruierte Gleitkommazahl " "zurückgibt." -#: ../../library/stdtypes.rst:648 +#: ../../builtins/stdtypes.rst:648 msgid "" "If the argument is an integer or a floating-point number, a floating-point " "number with the same value (within Python's floating-point precision) is " @@ -1257,7 +1259,7 @@ msgstr "" "Wertebereichs eines Python-Floats liegt, wird ein :exc:`OverflowError` " "ausgelöst." -#: ../../library/stdtypes.rst:653 +#: ../../builtins/stdtypes.rst:653 msgid "" "For a general Python object ``x``, ``float.from_number(x)`` delegates to ``x." "__float__()``. If :meth:`~object.__float__` is not defined then it falls " @@ -1267,7 +1269,7 @@ msgstr "" "an ``x.__float__()``. Wenn :meth:`~object.__float__` nicht definiert ist, " "fällt es auf :meth:`~object.__index__` zurück." -#: ../../library/stdtypes.rst:663 +#: ../../builtins/stdtypes.rst:663 msgid "" "Return a pair of integers whose ratio is exactly equal to the original " "float. The ratio is in lowest terms and has a positive denominator. Raises :" @@ -1278,7 +1280,7 @@ msgstr "" "hat einen positiven Nenner. Löst bei unendlichen Werten einen :exc:" "`OverflowError` und bei NaNs einen :exc:`ValueError` aus." -#: ../../library/stdtypes.rst:670 +#: ../../builtins/stdtypes.rst:670 msgid "" "Return ``True`` if the float instance is finite with integral value, and " "``False`` otherwise::" @@ -1286,7 +1288,7 @@ msgstr "" "Gibt ``True`` zurück, wenn die Float-Instanz endlich mit ganzzahligem Wert " "ist, andernfalls ``False``::" -#: ../../library/stdtypes.rst:673 +#: ../../builtins/stdtypes.rst:673 msgid "" ">>> (-2.0).is_integer()\n" "True\n" @@ -1298,7 +1300,7 @@ msgstr "" ">>> (3.2).is_integer()\n" "False" -#: ../../library/stdtypes.rst:678 +#: ../../builtins/stdtypes.rst:678 msgid "" "Two methods support conversion to and from hexadecimal strings. Since " "Python's floats are stored internally as binary numbers, converting a float " @@ -1314,7 +1316,7 @@ msgstr "" "Strings die exakte Darstellung und Spezifikation von Gleitkommazahlen. Dies " "kann beim Debuggen und bei numerischen Berechnungen nützlich sein." -#: ../../library/stdtypes.rst:689 +#: ../../builtins/stdtypes.rst:689 msgid "" "Return a representation of a floating-point number as a hexadecimal string. " "For finite floating-point numbers, this representation will always include a " @@ -1324,7 +1326,7 @@ msgstr "" "Für endliche Gleitkommazahlen enthält diese Darstellung immer ein führendes " "``0x`` sowie ein nachgestelltes ``p`` und einen Exponenten." -#: ../../library/stdtypes.rst:697 +#: ../../builtins/stdtypes.rst:697 msgid "" "Class method to return the float represented by a hexadecimal string *s*. " "The string *s* may have leading and trailing whitespace." @@ -1333,7 +1335,7 @@ msgstr "" "Float zurückgibt. Der String *s* darf führende und nachgestellte Leerzeichen " "enthalten." -#: ../../library/stdtypes.rst:702 +#: ../../builtins/stdtypes.rst:702 msgid "" "Note that :meth:`float.hex` is an instance method, while :meth:`float." "fromhex` is a class method." @@ -1341,15 +1343,15 @@ msgstr "" "Beachte, dass :meth:`float.hex` eine Instanzmethode ist, während :meth:" "`float.fromhex` eine Klassenmethode ist." -#: ../../library/stdtypes.rst:705 +#: ../../builtins/stdtypes.rst:705 msgid "A hexadecimal string takes the form::" msgstr "Ein Hexadezimal-String hat die Form::" -#: ../../library/stdtypes.rst:707 +#: ../../builtins/stdtypes.rst:707 msgid "[sign] ['0x'] integer ['.' fraction] ['p' exponent]" msgstr "[sign] ['0x'] integer ['.' fraction] ['p' exponent]" -#: ../../library/stdtypes.rst:709 +#: ../../builtins/stdtypes.rst:709 msgid "" "where the optional ``sign`` may be either ``+`` or ``-``, ``integer`` and " "``fraction`` are strings of hexadecimal digits, and ``exponent`` is a " @@ -1374,7 +1376,7 @@ msgstr "" "Java's ``Double.toHexString`` erzeugte Hexadezimal-Strings werden von :meth:" "`float.fromhex` akzeptiert." -#: ../../library/stdtypes.rst:722 +#: ../../builtins/stdtypes.rst:722 msgid "" "Note that the exponent is written in decimal rather than hexadecimal, and " "that it gives the power of 2 by which to multiply the coefficient. For " @@ -1386,7 +1388,7 @@ msgstr "" "Beispielsweise stellt der Hexadezimal-String ``0x3.a7p10`` die " "Gleitkommazahl ``(3 + 10./16 + 7./16**2) * 2.0**10`` bzw. ``3740.0`` dar::" -#: ../../library/stdtypes.rst:728 +#: ../../builtins/stdtypes.rst:728 msgid "" ">>> float.fromhex('0x3.a7p10')\n" "3740.0" @@ -1394,7 +1396,7 @@ msgstr "" ">>> float.fromhex('0x3.a7p10')\n" "3740.0" -#: ../../library/stdtypes.rst:732 +#: ../../builtins/stdtypes.rst:732 msgid "" "Applying the reverse conversion to ``3740.0`` gives a different hexadecimal " "string representing the same number::" @@ -1402,7 +1404,7 @@ msgstr "" "Die Anwendung der umgekehrten Konvertierung auf ``3740.0`` ergibt einen " "anderen Hexadezimal-String, der dieselbe Zahl darstellt::" -#: ../../library/stdtypes.rst:735 +#: ../../builtins/stdtypes.rst:735 msgid "" ">>> float.hex(3740.0)\n" "'0x1.d380000000000p+11'" @@ -1410,11 +1412,11 @@ msgstr "" ">>> float.hex(3740.0)\n" "'0x1.d380000000000p+11'" -#: ../../library/stdtypes.rst:740 +#: ../../builtins/stdtypes.rst:740 msgid "Additional Methods on Complex" msgstr "Zusätzliche Methoden zu Complex" -#: ../../library/stdtypes.rst:742 +#: ../../builtins/stdtypes.rst:742 msgid "" "The :class:`!complex` type implements the :class:`numbers.Complex` :term:" "`abstract base class`. :class:`!complex` also has the following additional " @@ -1424,11 +1426,11 @@ msgstr "" "`abstrakte Basisklasse `. :class:`!complex` verfügt " "außerdem über die folgenden zusätzlichen Methoden." -#: ../../library/stdtypes.rst:748 +#: ../../builtins/stdtypes.rst:748 msgid "Class method to convert a number to a complex number." msgstr "Klassenmethode zum Konvertieren einer Zahl in eine komplexe Zahl." -#: ../../library/stdtypes.rst:750 +#: ../../builtins/stdtypes.rst:750 msgid "" "For a general Python object ``x``, ``complex.from_number(x)`` delegates to " "``x.__complex__()``. If :meth:`~object.__complex__` is not defined then it " @@ -1440,11 +1442,11 @@ msgstr "" "ist, fällt es auf :meth:`~object.__float__` zurück. Wenn :meth:`!__float__` " "nicht definiert ist, fällt es auf :meth:`~object.__index__` zurück." -#: ../../library/stdtypes.rst:761 +#: ../../builtins/stdtypes.rst:761 msgid "Hashing of numeric types" msgstr "Hashing von numerischen Typen" -#: ../../library/stdtypes.rst:763 +#: ../../builtins/stdtypes.rst:763 msgid "" "For numbers ``x`` and ``y``, possibly of different types, it's a requirement " "that ``hash(x) == hash(y)`` whenever ``x == y`` (see the :meth:`~object." @@ -1473,7 +1475,7 @@ msgstr "" "``P`` gegeben. Der Wert von ``P`` wird Python als das Attribut :attr:`~sys." "hash_info.modulus` von :data:`sys.hash_info` zur Verfügung gestellt." -#: ../../library/stdtypes.rst:778 +#: ../../builtins/stdtypes.rst:778 msgid "" "Currently, the prime used is ``P = 2**31 - 1`` on machines with 32-bit C " "longs and ``P = 2**61 - 1`` on machines with 64-bit C longs." @@ -1481,11 +1483,11 @@ msgstr "" "Derzeit ist die verwendete Primzahl ``P = 2**31 - 1`` auf Systemen mit 32-" "Bit-C-Longs und ``P = 2**61 - 1`` auf Systemen mit 64-Bit-C-Longs." -#: ../../library/stdtypes.rst:781 +#: ../../builtins/stdtypes.rst:781 msgid "Here are the rules in detail:" msgstr "Hier sind die Regeln im Detail:" -#: ../../library/stdtypes.rst:783 +#: ../../builtins/stdtypes.rst:783 msgid "" "If ``x = m / n`` is a nonnegative rational number and ``n`` is not divisible " "by ``P``, define ``hash(x)`` as ``m * invmod(n, P) % P``, where ``invmod(n, " @@ -1495,7 +1497,7 @@ msgstr "" "durch ``P`` teilbar ist, definiere ``hash(x)`` als ``m * invmod(n, P) % P``, " "wobei ``invmod(n, P)`` das Inverse von ``n`` modulo ``P`` liefert." -#: ../../library/stdtypes.rst:787 +#: ../../builtins/stdtypes.rst:787 msgid "" "If ``x = m / n`` is a nonnegative rational number and ``n`` is divisible by " "``P`` (but ``m`` is not) then ``n`` has no inverse modulo ``P`` and the rule " @@ -1507,7 +1509,7 @@ msgstr "" "``P`` und die obige Regel greift nicht; in diesem Fall definiere ``hash(x)`` " "als den konstanten Wert ``sys.hash_info.inf``." -#: ../../library/stdtypes.rst:792 +#: ../../builtins/stdtypes.rst:792 msgid "" "If ``x = m / n`` is a negative rational number define ``hash(x)`` as ``-" "hash(-x)``. If the resulting hash is ``-1``, replace it with ``-2``." @@ -1516,7 +1518,7 @@ msgstr "" "als ``-hash(-x)``. Wenn der resultierende Hash ``-1`` ist, ersetze ihn durch " "``-2``." -#: ../../library/stdtypes.rst:796 +#: ../../builtins/stdtypes.rst:796 msgid "" "The particular values ``sys.hash_info.inf`` and ``-sys.hash_info.inf`` are " "used as hash values for positive infinity or negative infinity " @@ -1525,7 +1527,7 @@ msgstr "" "Die speziellen Werte ``sys.hash_info.inf`` und ``-sys.hash_info.inf`` werden " "als Hash-Werte für positive bzw. negative Unendlichkeit verwendet." -#: ../../library/stdtypes.rst:800 +#: ../../builtins/stdtypes.rst:800 msgid "" "For a :class:`complex` number ``z``, the hash values of the real and " "imaginary parts are combined by computing ``hash(z.real) + sys.hash_info." @@ -1540,7 +1542,7 @@ msgstr "" "width - 1))`` liegt. Wenn das Ergebnis wiederum ``-1`` ist, wird es durch " "``-2`` ersetzt." -#: ../../library/stdtypes.rst:808 +#: ../../builtins/stdtypes.rst:808 msgid "" "To clarify the above rules, here's some example Python code, equivalent to " "the built-in hash, for computing the hash of a rational number, :class:" @@ -1550,7 +1552,7 @@ msgstr "" "der dem eingebauten Hash entspricht, zur Berechnung des Hash-Werts einer " "rationalen Zahl, eines :class:`float` oder :class:`complex`::" -#: ../../library/stdtypes.rst:813 +#: ../../builtins/stdtypes.rst:813 msgid "" "import sys, math\n" "\n" @@ -1650,11 +1652,11 @@ msgstr "" " hash_value = -2\n" " return hash_value" -#: ../../library/stdtypes.rst:864 +#: ../../builtins/stdtypes.rst:864 msgid "Boolean Type - :class:`bool`" msgstr "Boolescher Typ – :class:`bool`" -#: ../../library/stdtypes.rst:866 +#: ../../builtins/stdtypes.rst:866 msgid "" "Booleans represent truth values. The :class:`bool` type has exactly two " "constant instances: ``True`` and ``False``." @@ -1662,7 +1664,7 @@ msgstr "" "Booleans stellen Wahrheitswerte dar. Der Typ :class:`bool` hat genau zwei " "konstante Instanzen: ``True`` und ``False``." -#: ../../library/stdtypes.rst:874 +#: ../../builtins/stdtypes.rst:874 msgid "" "The built-in function :func:`bool` converts any value to a boolean, if the " "value can be interpreted as a truth value (see section :ref:`truth` above)." @@ -1671,7 +1673,7 @@ msgstr "" "booleschen Wert, sofern der Wert als Wahrheitswert interpretiert werden kann " "(siehe Abschnitt :ref:`truth` oben)." -#: ../../library/stdtypes.rst:877 +#: ../../builtins/stdtypes.rst:877 msgid "" "For logical operations, use the :ref:`boolean operators ` ``and``, " "``or`` and ``not``. When applying the bitwise operators ``&``, ``|``, ``^`` " @@ -1686,7 +1688,7 @@ msgstr "" "entspricht. Allerdings sollten die logischen Operatoren ``and``, ``or`` und " "``!=`` gegenüber ``&``, ``|`` und ``^`` bevorzugt werden." -#: ../../library/stdtypes.rst:886 +#: ../../builtins/stdtypes.rst:886 msgid "" "The use of the bitwise inversion operator ``~`` is deprecated and will raise " "an error in Python 3.16." @@ -1694,7 +1696,7 @@ msgstr "" "Die Verwendung des bitweisen Inversionsoperators ``~`` ist veraltet und wird " "in Python 3.16 einen Fehler auslösen." -#: ../../library/stdtypes.rst:889 +#: ../../builtins/stdtypes.rst:889 msgid "" ":class:`bool` is a subclass of :class:`int` (see :ref:`typesnumeric`). In " "many numeric contexts, ``False`` and ``True`` behave like the integers 0 and " @@ -1707,11 +1709,11 @@ msgstr "" "sich darauf zu verlassen; konvertiere stattdessen explizit mittels :func:" "`int`." -#: ../../library/stdtypes.rst:897 +#: ../../builtins/stdtypes.rst:897 msgid "Iterator Types" msgstr "Iterator-Typen" -#: ../../library/stdtypes.rst:905 +#: ../../builtins/stdtypes.rst:905 msgid "" "Python supports a concept of iteration over containers. This is implemented " "using two distinct methods; these are used to allow user-defined classes to " @@ -1724,7 +1726,7 @@ msgstr "" "weiter unten detaillierter beschrieben werden, unterstützen die " "Iterationsmethoden immer." -#: ../../library/stdtypes.rst:910 +#: ../../builtins/stdtypes.rst:910 msgid "" "One method needs to be defined for container objects to provide :term:" "`iterable` support:" @@ -1732,7 +1734,7 @@ msgstr "" "Für Container-Objekte muss eine Methode definiert werden, um Unterstützung " "für :term:`Iterierbares ` bereitzustellen:" -#: ../../library/stdtypes.rst:917 +#: ../../builtins/stdtypes.rst:917 msgid "" "Return an :term:`iterator` object. The object is required to support the " "iterator protocol described below. If a container supports different types " @@ -1753,7 +1755,7 @@ msgstr "" "`~PyTypeObject.tp_iter`-Slot der Typstruktur für Python-Objekte in der " "Python/C-API." -#: ../../library/stdtypes.rst:926 +#: ../../builtins/stdtypes.rst:926 msgid "" "The iterator objects themselves are required to support the following two " "methods, which together form the :dfn:`iterator protocol`:" @@ -1761,7 +1763,7 @@ msgstr "" "Die Iterator-Objekte selbst müssen die folgenden zwei Methoden unterstützen, " "die zusammen das :dfn:`Iterator-Protokoll` bilden:" -#: ../../library/stdtypes.rst:932 +#: ../../builtins/stdtypes.rst:932 msgid "" "Return the :term:`iterator` object itself. This is required to allow both " "containers and iterators to be used with the :keyword:`for` and :keyword:" @@ -1774,7 +1776,7 @@ msgstr "" "Methode entspricht dem :c:member:`~PyTypeObject.tp_iter`-Slot der " "Typstruktur für Python-Objekte in der Python/C-API." -#: ../../library/stdtypes.rst:941 +#: ../../builtins/stdtypes.rst:941 msgid "" "Return the next item from the :term:`iterator`. If there are no further " "items, raise the :exc:`StopIteration` exception. This method corresponds to " @@ -1787,7 +1789,7 @@ msgstr "" "`~PyTypeObject.tp_iternext`-Slot der Typstruktur für Python-Objekte in der " "Python/C-API." -#: ../../library/stdtypes.rst:946 +#: ../../builtins/stdtypes.rst:946 msgid "" "Python defines several iterator objects to support iteration over general " "and specific sequence types, dictionaries, and other more specialized " @@ -1799,7 +1801,7 @@ msgstr "" "Formen zu unterstützen. Die konkreten Typen sind über ihre Implementierung " "des Iterator-Protokolls hinaus nicht von Bedeutung." -#: ../../library/stdtypes.rst:951 +#: ../../builtins/stdtypes.rst:951 msgid "" "Once an iterator's :meth:`~iterator.__next__` method raises :exc:" "`StopIteration`, it must continue to do so on subsequent calls. " @@ -1810,11 +1812,11 @@ msgstr "" "weiterhin tun. Implementierungen, die diese Eigenschaft nicht einhalten, " "gelten als fehlerhaft." -#: ../../library/stdtypes.rst:959 +#: ../../builtins/stdtypes.rst:959 msgid "Generator Types" msgstr "Generator-Typen" -#: ../../library/stdtypes.rst:961 +#: ../../builtins/stdtypes.rst:961 msgid "" "Python's :term:`generator`\\s provide a convenient way to implement the " "iterator protocol. If a container object's :meth:`~object.__iter__` method " @@ -1832,11 +1834,11 @@ msgstr "" "__next__` bereitstellt. Weitere Informationen über Generatoren finden sich " "in :ref:`der Dokumentation zum yield-Ausdruck `." -#: ../../library/stdtypes.rst:973 +#: ../../builtins/stdtypes.rst:973 msgid "Sequence Types --- :class:`list`, :class:`tuple`, :class:`range`" msgstr "Sequenztypen – :class:`list`, :class:`tuple`, :class:`range`" -#: ../../library/stdtypes.rst:975 +#: ../../builtins/stdtypes.rst:975 msgid "" "There are three basic sequence types: lists, tuples, and range objects. " "Additional sequence types tailored for processing of :ref:`binary data " @@ -1848,11 +1850,11 @@ msgstr "" "` und :ref:`Text-Strings ` ausgelegt sind, werden in " "eigenen Abschnitten beschrieben." -#: ../../library/stdtypes.rst:984 +#: ../../builtins/stdtypes.rst:984 msgid "Common Sequence Operations" msgstr "Gemeinsame Sequenzoperationen" -#: ../../library/stdtypes.rst:988 +#: ../../builtins/stdtypes.rst:988 msgid "" "The operations in the following table are supported by most sequence types, " "both mutable and immutable. The :class:`collections.abc.Sequence` ABC is " @@ -1865,7 +1867,7 @@ msgstr "" "Implementierung dieser Operationen auf benutzerdefinierten Sequenztypen zu " "erleichtern." -#: ../../library/stdtypes.rst:993 +#: ../../builtins/stdtypes.rst:993 msgid "" "This table lists the sequence operations sorted in ascending priority. In " "the table, *s* and *t* are sequences of the same type, *n*, *i*, *j* and *k* " @@ -1877,7 +1879,7 @@ msgstr "" "*i*, *j* und *k* sind Ganzzahlen und *x* ist ein beliebiges Objekt, das alle " "durch *s* auferlegten Typ- und Wertebeschränkungen erfüllt." -#: ../../library/stdtypes.rst:998 +#: ../../builtins/stdtypes.rst:998 msgid "" "The ``in`` and ``not in`` operations have the same priorities as the " "comparison operations. The ``+`` (concatenation) and ``*`` (repetition) " @@ -1889,116 +1891,116 @@ msgstr "" "(Wiederholung) haben die gleiche Priorität wie die entsprechenden " "numerischen Operationen. [3]_" -#: ../../library/stdtypes.rst:1002 +#: ../../builtins/stdtypes.rst:1002 msgid "" "See :ref:`time-complexity` for the costs of the various sequence operations." msgstr "" "Siehe :ref:`time-complexity` für die Kosten der verschiedenen " "Sequenzoperationen." -#: ../../library/stdtypes.rst:1020 +#: ../../builtins/stdtypes.rst:1020 msgid "``x in s``" msgstr "``x in s``" -#: ../../library/stdtypes.rst:1020 +#: ../../builtins/stdtypes.rst:1020 msgid "``True`` if an item of *s* is equal to *x*, else ``False``" msgstr "" "``True``, wenn ein Element von *s* gleich *x* ist, andernfalls ``False``" -#: ../../library/stdtypes.rst:1023 +#: ../../builtins/stdtypes.rst:1023 msgid "``x not in s``" msgstr "``x not in s``" -#: ../../library/stdtypes.rst:1023 +#: ../../builtins/stdtypes.rst:1023 msgid "``False`` if an item of *s* is equal to *x*, else ``True``" msgstr "" "``False``, wenn ein Element von *s* gleich *x* ist, andernfalls ``True``" -#: ../../library/stdtypes.rst:1026 +#: ../../builtins/stdtypes.rst:1026 msgid "``s + t``" msgstr "``s + t``" -#: ../../library/stdtypes.rst:1026 +#: ../../builtins/stdtypes.rst:1026 msgid "the concatenation of *s* and *t*" msgstr "die Verkettung von *s* und *t*" -#: ../../library/stdtypes.rst:1026 +#: ../../builtins/stdtypes.rst:1026 msgid "(6)(7)" msgstr "(6)(7)" -#: ../../library/stdtypes.rst:1029 +#: ../../builtins/stdtypes.rst:1029 msgid "``s * n`` or ``n * s``" msgstr "``s * n`` oder ``n * s``" -#: ../../library/stdtypes.rst:1029 +#: ../../builtins/stdtypes.rst:1029 msgid "equivalent to adding *s* to itself *n* times" msgstr "äquivalent dazu, *s* *n*-mal zu sich selbst zu addieren" -#: ../../library/stdtypes.rst:1029 +#: ../../builtins/stdtypes.rst:1029 msgid "(2)(7)" msgstr "(2)(7)" -#: ../../library/stdtypes.rst:1032 +#: ../../builtins/stdtypes.rst:1032 msgid "``s[i]``" msgstr "``s[i]``" -#: ../../library/stdtypes.rst:1032 +#: ../../builtins/stdtypes.rst:1032 msgid "*i*\\ th item of *s*, origin 0" msgstr "*i*-tes Element von *s*, beginnend bei 0" -#: ../../library/stdtypes.rst:1032 +#: ../../builtins/stdtypes.rst:1032 msgid "(3)(8)" msgstr "(3)(8)" -#: ../../library/stdtypes.rst:1034 +#: ../../builtins/stdtypes.rst:1034 msgid "``s[i:j]``" msgstr "``s[i:j]``" -#: ../../library/stdtypes.rst:1034 +#: ../../builtins/stdtypes.rst:1034 msgid "slice of *s* from *i* to *j*" msgstr "Ausschnitt (Slice) von *s* von *i* bis *j*" -#: ../../library/stdtypes.rst:1034 +#: ../../builtins/stdtypes.rst:1034 msgid "(3)(4)" msgstr "(3)(4)" -#: ../../library/stdtypes.rst:1036 +#: ../../builtins/stdtypes.rst:1036 msgid "``s[i:j:k]``" msgstr "``s[i:j:k]``" -#: ../../library/stdtypes.rst:1036 +#: ../../builtins/stdtypes.rst:1036 msgid "slice of *s* from *i* to *j* with step *k*" msgstr "Ausschnitt (Slice) von *s* von *i* bis *j* mit Schrittweite *k*" -#: ../../library/stdtypes.rst:1036 +#: ../../builtins/stdtypes.rst:1036 msgid "(3)(5)" msgstr "(3)(5)" -#: ../../library/stdtypes.rst:1039 +#: ../../builtins/stdtypes.rst:1039 msgid "``len(s)``" msgstr "``len(s)``" -#: ../../library/stdtypes.rst:1039 +#: ../../builtins/stdtypes.rst:1039 msgid "length of *s*" msgstr "Länge von *s*" -#: ../../library/stdtypes.rst:1041 +#: ../../builtins/stdtypes.rst:1041 msgid "``min(s)``" msgstr "``min(s)``" -#: ../../library/stdtypes.rst:1041 +#: ../../builtins/stdtypes.rst:1041 msgid "smallest item of *s*" msgstr "kleinstes Element von *s*" -#: ../../library/stdtypes.rst:1043 +#: ../../builtins/stdtypes.rst:1043 msgid "``max(s)``" msgstr "``max(s)``" -#: ../../library/stdtypes.rst:1043 +#: ../../builtins/stdtypes.rst:1043 msgid "largest item of *s*" msgstr "größtes Element von *s*" -#: ../../library/stdtypes.rst:1046 +#: ../../builtins/stdtypes.rst:1046 msgid "" "Sequences of the same type also support comparisons. In particular, tuples " "and lists are compared lexicographically by comparing corresponding " @@ -2013,7 +2015,7 @@ msgstr "" "müssen. (Vollständige Details finden sich unter :ref:`comparisons` in der " "Sprachreferenz.)" -#: ../../library/stdtypes.rst:1056 +#: ../../builtins/stdtypes.rst:1056 msgid "" "Forward and reversed iterators over mutable sequences access values using an " "index. That index will continue to march forward (or backward) even if the " @@ -2027,7 +2029,7 @@ msgstr "" "endet erst, wenn ein :exc:`IndexError` oder ein :exc:`StopIteration` " "auftritt (oder wenn der Index unter null fällt)." -#: ../../library/stdtypes.rst:1065 +#: ../../builtins/stdtypes.rst:1065 msgid "" "While the ``in`` and ``not in`` operations are used only for simple " "containment testing in the general case, some specialised sequences (such " @@ -2039,7 +2041,7 @@ msgstr "" "spezialisierte Sequenzen (wie :class:`str`, :class:`bytes` und :class:" "`bytearray`) diese auch für Teilsequenz-Prüfungen::" -#: ../../library/stdtypes.rst:1070 +#: ../../builtins/stdtypes.rst:1070 msgid "" ">>> \"gg\" in \"eggs\"\n" "True" @@ -2047,7 +2049,7 @@ msgstr "" ">>> \"gg\" in \"eggs\"\n" "True" -#: ../../library/stdtypes.rst:1074 +#: ../../builtins/stdtypes.rst:1074 msgid "" "Values of *n* less than ``0`` are treated as ``0`` (which yields an empty " "sequence of the same type as *s*). Note that items in the sequence *s* are " @@ -2059,7 +2061,7 @@ msgstr "" "Sequenz *s* nicht kopiert werden; sie werden mehrfach referenziert. Dies " "führt bei Python-Einsteigern häufig zu Missverständnissen; betrachte::" -#: ../../library/stdtypes.rst:1079 +#: ../../builtins/stdtypes.rst:1079 msgid "" ">>> lists = [[]] * 3\n" ">>> lists\n" @@ -2075,7 +2077,7 @@ msgstr "" ">>> lists\n" "[[3], [3], [3]]" -#: ../../library/stdtypes.rst:1086 +#: ../../builtins/stdtypes.rst:1086 msgid "" "What has happened is that ``[[]]`` is a one-element list containing an empty " "list, so all three elements of ``[[]] * 3`` are references to this single " @@ -2088,7 +2090,7 @@ msgstr "" "ändert diese einzelne Liste. Auf folgende Weise lässt sich eine Liste aus " "verschiedenen Listen erstellen::" -#: ../../library/stdtypes.rst:1091 +#: ../../builtins/stdtypes.rst:1091 msgid "" ">>> lists = [[] for i in range(3)]\n" ">>> lists[0].append(3)\n" @@ -2104,7 +2106,7 @@ msgstr "" ">>> lists\n" "[[3], [5], [7]]" -#: ../../library/stdtypes.rst:1098 +#: ../../builtins/stdtypes.rst:1098 msgid "" "Further explanation is available in the FAQ entry :ref:`faq-multidimensional-" "list`." @@ -2112,7 +2114,7 @@ msgstr "" "Weitere Erklärungen finden sich im FAQ-Eintrag :ref:`faq-multidimensional-" "list`." -#: ../../library/stdtypes.rst:1102 +#: ../../builtins/stdtypes.rst:1102 msgid "" "If *i* or *j* is negative, the index is relative to the end of sequence *s*: " "``len(s) + i`` or ``len(s) + j`` is substituted. But note that ``-0`` is " @@ -2122,7 +2124,7 @@ msgstr "" "*s*: ``len(s) + i`` oder ``len(s) + j`` wird eingesetzt. Beachte jedoch, " "dass ``-0`` weiterhin ``0`` ist." -#: ../../library/stdtypes.rst:1107 +#: ../../builtins/stdtypes.rst:1107 msgid "" "The slice of *s* from *i* to *j* is defined as the sequence of items with " "index *k* such that ``i <= k < j``." @@ -2130,27 +2132,27 @@ msgstr "" "Der Slice von *s* von *i* bis *j* ist definiert als die Folge der Elemente " "mit Index *k*, für die ``i <= k < j`` gilt." -#: ../../library/stdtypes.rst:1110 +#: ../../builtins/stdtypes.rst:1110 msgid "If *i* is omitted or ``None``, use ``0``." msgstr "Wird *i* weggelassen oder ist ``None``, wird ``0`` verwendet." -#: ../../library/stdtypes.rst:1111 +#: ../../builtins/stdtypes.rst:1111 msgid "If *j* is omitted or ``None``, use ``len(s)``." msgstr "Wird *j* weggelassen oder ist ``None``, wird ``len(s)`` verwendet." -#: ../../library/stdtypes.rst:1112 +#: ../../builtins/stdtypes.rst:1112 msgid "If *i* or *j* is less than ``-len(s)``, use ``0``." msgstr "Ist *i* oder *j* kleiner als ``-len(s)``, wird ``0`` verwendet." -#: ../../library/stdtypes.rst:1113 +#: ../../builtins/stdtypes.rst:1113 msgid "If *i* or *j* is greater than ``len(s)``, use ``len(s)``." msgstr "Ist *i* oder *j* größer als ``len(s)``, wird ``len(s)`` verwendet." -#: ../../library/stdtypes.rst:1114 +#: ../../builtins/stdtypes.rst:1114 msgid "If *i* is greater than or equal to *j*, the slice is empty." msgstr "Ist *i* größer oder gleich *j*, ist der Slice leer." -#: ../../library/stdtypes.rst:1117 +#: ../../builtins/stdtypes.rst:1117 msgid "" "The slice of *s* from *i* to *j* with step *k* is defined as the sequence of " "items with index ``x = i + n*k`` such that ``0 <= n < (j-i)/k``. In other " @@ -2173,7 +2175,7 @@ msgstr "" "Ende hängt vom Vorzeichen von *k* ab). Beachte: *k* darf nicht null sein. " "Wenn *k* ``None`` ist, wird es wie ``1`` behandelt." -#: ../../library/stdtypes.rst:1130 +#: ../../builtins/stdtypes.rst:1130 msgid "" "Concatenating immutable sequences always results in a new object. This " "means that building up a sequence by repeated concatenation will have a " @@ -2186,7 +2188,7 @@ msgstr "" "verursacht. Um lineare Laufzeitkosten zu erzielen, sollte auf eine der " "folgenden Alternativen ausgewichen werden:" -#: ../../library/stdtypes.rst:1135 +#: ../../builtins/stdtypes.rst:1135 msgid "" "if concatenating :class:`str` objects, you can build a list and use :meth:" "`str.join` at the end or else write to an :class:`io.StringIO` instance and " @@ -2196,7 +2198,7 @@ msgstr "" "Ende :meth:`str.join` verwendet werden, oder es wird in eine :class:`io." "StringIO`-Instanz geschrieben und deren Wert nach Abschluss abgerufen" -#: ../../library/stdtypes.rst:1139 +#: ../../builtins/stdtypes.rst:1139 msgid "" "if concatenating :class:`bytes` objects, you can similarly use :meth:`bytes." "join` or :class:`io.BytesIO`, or you can do in-place concatenation with a :" @@ -2209,17 +2211,17 @@ msgstr "" "`bytearray`-Objekte sind veränderlich und besitzen einen effizienten " "Speicherüberallokations-Mechanismus" -#: ../../library/stdtypes.rst:1144 +#: ../../builtins/stdtypes.rst:1144 msgid "if concatenating :class:`tuple` objects, extend a :class:`list` instead" msgstr "" "beim Verketten von :class:`tuple`-Objekten stattdessen eine :class:`list` " "erweitern" -#: ../../library/stdtypes.rst:1146 +#: ../../builtins/stdtypes.rst:1146 msgid "for other types, investigate the relevant class documentation" msgstr "für andere Typen die entsprechende Klassendokumentation konsultieren" -#: ../../library/stdtypes.rst:1150 +#: ../../builtins/stdtypes.rst:1150 msgid "" "Some sequence types (such as :class:`range`) only support item sequences " "that follow specific patterns, and hence don't support sequence " @@ -2229,35 +2231,35 @@ msgstr "" "die bestimmten Mustern folgen, und unterstützen daher weder " "Sequenzverkettung noch Wiederholung." -#: ../../library/stdtypes.rst:1155 +#: ../../builtins/stdtypes.rst:1155 msgid "An :exc:`IndexError` is raised if *i* is outside the sequence range." msgstr "" "Ein :exc:`IndexError` wird ausgelöst, wenn *i* außerhalb des Sequenzbereichs " "liegt." -#: ../../library/stdtypes.rst:1158 +#: ../../builtins/stdtypes.rst:1158 msgid "Sequence Methods" msgstr "Sequenzmethoden" -#: ../../library/stdtypes.rst:1159 +#: ../../builtins/stdtypes.rst:1159 msgid "Sequence types also support the following methods:" msgstr "Sequenztypen unterstützen außerdem die folgenden Methoden:" -#: ../../library/stdtypes.rst:1169 +#: ../../builtins/stdtypes.rst:1169 msgid "Return the total number of occurrences of *value* in *sequence*." msgstr "Gibt die Gesamtzahl der Vorkommen von *value* in *sequence* zurück." -#: ../../library/stdtypes.rst:1179 +#: ../../builtins/stdtypes.rst:1179 msgid "Return the index of the first occurrence of *value* in *sequence*." msgstr "Gibt den Index des ersten Vorkommens von *value* in *sequence* zurück." -#: ../../library/stdtypes.rst:1181 ../../library/stdtypes.rst:1365 +#: ../../builtins/stdtypes.rst:1181 ../../builtins/stdtypes.rst:1365 msgid "Raises :exc:`ValueError` if *value* is not found in *sequence*." msgstr "" "Löst einen :exc:`ValueError` aus, wenn *value* nicht in *sequence* gefunden " "wird." -#: ../../library/stdtypes.rst:1183 +#: ../../builtins/stdtypes.rst:1183 msgid "" "The *start* or *stop* arguments allow for efficient searching of subsections " "of the sequence, beginning at *start* and ending at *stop*. This is roughly " @@ -2269,18 +2271,18 @@ msgstr "" "Dies entspricht in etwa ``start + sequence[start:stop].index(value)``, " "jedoch ohne Kopieren von Daten." -#: ../../library/stdtypes.rst:1189 +#: ../../builtins/stdtypes.rst:1189 msgid "" "Not all sequence types support passing the *start* and *stop* arguments." msgstr "" "Nicht alle Sequenztypen unterstützen die Übergabe der Argumente *start* und " "*stop*." -#: ../../library/stdtypes.rst:1195 +#: ../../builtins/stdtypes.rst:1195 msgid "Immutable Sequence Types" msgstr "Unveränderliche Sequenztypen" -#: ../../library/stdtypes.rst:1202 +#: ../../builtins/stdtypes.rst:1202 msgid "" "The only operation that immutable sequence types generally implement that is " "not also implemented by mutable sequence types is support for the :func:" @@ -2290,7 +2292,7 @@ msgstr "" "implementieren und die von veränderlichen Sequenztypen nicht implementiert " "wird, ist die Unterstützung für die eingebaute Funktion :func:`hash`." -#: ../../library/stdtypes.rst:1206 +#: ../../builtins/stdtypes.rst:1206 msgid "" "This support allows immutable sequences, such as :class:`tuple` instances, " "to be used as :class:`dict` keys and stored in :class:`set` and :class:" @@ -2300,7 +2302,7 @@ msgstr "" "`tuple`-Instanzen als Schlüssel in :class:`dict` zu verwenden und in :class:" "`set`- sowie :class:`frozenset`-Instanzen zu speichern." -#: ../../library/stdtypes.rst:1210 +#: ../../builtins/stdtypes.rst:1210 msgid "" "Attempting to hash an immutable sequence that contains unhashable values " "will result in :exc:`TypeError`." @@ -2308,11 +2310,11 @@ msgstr "" "Der Versuch, eine unveränderliche Sequenz zu hashen, die nicht hashbare " "Werte enthält, führt zu einem :exc:`TypeError`." -#: ../../library/stdtypes.rst:1217 +#: ../../builtins/stdtypes.rst:1217 msgid "Mutable Sequence Types" msgstr "Veränderliche Sequenztypen" -#: ../../library/stdtypes.rst:1224 +#: ../../builtins/stdtypes.rst:1224 msgid "" "The operations in the following table are defined on mutable sequence types. " "The :class:`collections.abc.MutableSequence` ABC is provided to make it " @@ -2323,7 +2325,7 @@ msgstr "" "wird bereitgestellt, um die korrekte Implementierung dieser Operationen auf " "benutzerdefinierten Sequenztypen zu erleichtern." -#: ../../library/stdtypes.rst:1228 +#: ../../builtins/stdtypes.rst:1228 msgid "" "In the table *s* is an instance of a mutable sequence type, *t* is any " "iterable object and *x* is an arbitrary object that meets any type and value " @@ -2336,65 +2338,65 @@ msgstr "" "akzeptiert :class:`bytearray` nur Ganzzahlen, die die Wertebeschränkung ``0 " "<= x <= 255`` erfüllen)." -#: ../../library/stdtypes.rst:1244 +#: ../../builtins/stdtypes.rst:1244 msgid "``s[i] = x``" msgstr "``s[i] = x``" -#: ../../library/stdtypes.rst:1244 +#: ../../builtins/stdtypes.rst:1244 msgid "item *i* of *s* is replaced by *x*" msgstr "Element *i* von *s* wird durch *x* ersetzt" -#: ../../library/stdtypes.rst:1247 +#: ../../builtins/stdtypes.rst:1247 msgid "``del s[i]``" msgstr "``del s[i]``" -#: ../../library/stdtypes.rst:1247 +#: ../../builtins/stdtypes.rst:1247 msgid "removes item *i* of *s*" msgstr "entfernt Element *i* von *s*" -#: ../../library/stdtypes.rst:1249 +#: ../../builtins/stdtypes.rst:1249 msgid "``s[i:j] = t``" msgstr "``s[i:j] = t``" -#: ../../library/stdtypes.rst:1249 +#: ../../builtins/stdtypes.rst:1249 msgid "" "slice of *s* from *i* to *j* is replaced by the contents of the iterable *t*" msgstr "" "Ausschnitt von *s* von *i* bis *j* wird durch den Inhalt des Iterables *t* " "ersetzt" -#: ../../library/stdtypes.rst:1253 +#: ../../builtins/stdtypes.rst:1253 msgid "``del s[i:j]``" msgstr "``del s[i:j]``" -#: ../../library/stdtypes.rst:1253 +#: ../../builtins/stdtypes.rst:1253 msgid "" "removes the elements of ``s[i:j]`` from the list (same as ``s[i:j] = []``)" msgstr "" "entfernt die Elemente von ``s[i:j]`` aus der Liste (entspricht ``s[i:j] = " "[]``)" -#: ../../library/stdtypes.rst:1257 +#: ../../builtins/stdtypes.rst:1257 msgid "``s[i:j:k] = t``" msgstr "``s[i:j:k] = t``" -#: ../../library/stdtypes.rst:1257 +#: ../../builtins/stdtypes.rst:1257 msgid "the elements of ``s[i:j:k]`` are replaced by those of *t*" msgstr "die Elemente von ``s[i:j:k]`` werden durch diejenigen von *t* ersetzt" -#: ../../library/stdtypes.rst:1260 +#: ../../builtins/stdtypes.rst:1260 msgid "``del s[i:j:k]``" msgstr "``del s[i:j:k]``" -#: ../../library/stdtypes.rst:1260 +#: ../../builtins/stdtypes.rst:1260 msgid "removes the elements of ``s[i:j:k]`` from the list" msgstr "entfernt die Elemente von ``s[i:j:k]`` aus der Liste" -#: ../../library/stdtypes.rst:1263 +#: ../../builtins/stdtypes.rst:1263 msgid "``s += t``" msgstr "``s += t``" -#: ../../library/stdtypes.rst:1263 +#: ../../builtins/stdtypes.rst:1263 msgid "" "extends *s* with the contents of *t* (for the most part the same as " "``s[len(s):len(s)] = t``)" @@ -2402,15 +2404,15 @@ msgstr "" "erweitert *s* um den Inhalt von *t* (weitgehend identisch mit ``s[len(s):" "len(s)] = t``)" -#: ../../library/stdtypes.rst:1268 +#: ../../builtins/stdtypes.rst:1268 msgid "``s *= n``" msgstr "``s *= n``" -#: ../../library/stdtypes.rst:1268 +#: ../../builtins/stdtypes.rst:1268 msgid "updates *s* with its contents repeated *n* times" msgstr "aktualisiert *s* mit dem *n*-mal wiederholten Inhalt" -#: ../../library/stdtypes.rst:1275 +#: ../../builtins/stdtypes.rst:1275 msgid "" "If *k* is not equal to ``1``, *t* must have the same length as the slice it " "is replacing." @@ -2418,7 +2420,7 @@ msgstr "" "Wenn *k* ungleich ``1`` ist, muss *t* dieselbe Länge haben wie der " "Ausschnitt, den es ersetzt." -#: ../../library/stdtypes.rst:1278 +#: ../../builtins/stdtypes.rst:1278 msgid "" "The value *n* is an integer, or an object implementing :meth:`~object." "__index__`. Zero and negative values of *n* clear the sequence. Items in " @@ -2430,16 +2432,16 @@ msgstr "" "Sequenz. Elemente in der Sequenz werden nicht kopiert; sie werden mehrfach " "referenziert, wie für ``s * n`` unter :ref:`typesseq-common` erläutert." -#: ../../library/stdtypes.rst:1284 +#: ../../builtins/stdtypes.rst:1284 msgid "Mutable Sequence Methods" msgstr "Methoden veränderlicher Sequenzen" -#: ../../library/stdtypes.rst:1285 +#: ../../builtins/stdtypes.rst:1285 msgid "Mutable sequence types also support the following methods:" msgstr "" "Veränderliche Sequenztypen unterstützen außerdem die folgenden Methoden:" -#: ../../library/stdtypes.rst:1294 +#: ../../builtins/stdtypes.rst:1294 msgid "" "Append *value* to the end of the sequence. This is equivalent to writing " "``seq[len(seq):len(seq)] = [value]``." @@ -2447,14 +2449,14 @@ msgstr "" "Hängt *value* an das Ende der Sequenz an. Dies entspricht ``seq[len(seq):" "len(seq)] = [value]``." -#: ../../library/stdtypes.rst:1306 +#: ../../builtins/stdtypes.rst:1306 msgid "" "Remove all items from *sequence*. This is equivalent to writing ``del " "sequence[:]``." msgstr "" "Entfernt alle Elemente aus *sequence*. Dies entspricht ``del sequence[:]``." -#: ../../library/stdtypes.rst:1318 +#: ../../builtins/stdtypes.rst:1318 msgid "" "Create a shallow copy of *sequence*. This is equivalent to writing " "``sequence[:]``." @@ -2462,7 +2464,7 @@ msgstr "" "Erzeugt eine flache Kopie (Shallow Copy) von *sequence*. Dies entspricht " "``sequence[:]``." -#: ../../library/stdtypes.rst:1321 +#: ../../builtins/stdtypes.rst:1321 msgid "" "The :meth:`!copy` method is not part of the :class:`~collections.abc." "MutableSequence` :class:`~abc.ABC`, but most concrete mutable sequence types " @@ -2472,7 +2474,7 @@ msgstr "" "MutableSequence`-Klasse :class:`~abc.ABC`, wird jedoch von den meisten " "konkreten veränderlichen Sequenztypen bereitgestellt." -#: ../../library/stdtypes.rst:1332 +#: ../../builtins/stdtypes.rst:1332 msgid "" "Extend *sequence* with the contents of *iterable*. For the most part, this " "is the same as writing ``seq[len(seq):len(seq)] = iterable``." @@ -2480,7 +2482,7 @@ msgstr "" "Erweitert *sequence* um den Inhalt von *iterable*. Dies entspricht " "weitgehend ``seq[len(seq):len(seq)] = iterable``." -#: ../../library/stdtypes.rst:1343 +#: ../../builtins/stdtypes.rst:1343 msgid "" "Insert *value* into *sequence* at the given *index*. This is equivalent to " "writing ``sequence[index:index] = [value]``." @@ -2488,7 +2490,7 @@ msgstr "" "Fügt *value* am angegebenen *index* in *sequence* ein. Dies entspricht " "``sequence[index:index] = [value]``." -#: ../../library/stdtypes.rst:1353 +#: ../../builtins/stdtypes.rst:1353 msgid "" "Retrieve the item at *index* and also remove it from *sequence*. By default, " "the last item in *sequence* is removed and returned." @@ -2497,13 +2499,13 @@ msgstr "" "Standardmäßig wird das letzte Element in *sequence* entfernt und " "zurückgegeben." -#: ../../library/stdtypes.rst:1363 +#: ../../builtins/stdtypes.rst:1363 msgid "Remove the first item from *sequence* where ``sequence[i] == value``." msgstr "" "Entfernt das erste Element aus *sequence*, für das ``sequence[i] == value`` " "gilt." -#: ../../library/stdtypes.rst:1374 +#: ../../builtins/stdtypes.rst:1374 msgid "" "Reverse the items of *sequence* in place. This method maintains economy of " "space when reversing a large sequence. To remind users that it operates by " @@ -2513,11 +2515,11 @@ msgstr "" "Speicherplatz beim Umkehren einer großen Sequenz. Um daran zu erinnern, dass " "sie über Seiteneffekte arbeitet, gibt sie ``None`` zurück." -#: ../../library/stdtypes.rst:1382 +#: ../../builtins/stdtypes.rst:1382 msgid "Lists" msgstr "Listen" -#: ../../library/stdtypes.rst:1386 +#: ../../builtins/stdtypes.rst:1386 msgid "" "Lists are mutable sequences, typically used to store collections of " "homogeneous items (where the precise degree of similarity will vary by " @@ -2527,30 +2529,30 @@ msgstr "" "Sammlungen homogener Elemente verwendet werden (wobei der genaue Grad der " "Ähnlichkeit je nach Anwendung variiert)." -#: ../../library/stdtypes.rst:1392 +#: ../../builtins/stdtypes.rst:1392 msgid "Lists may be constructed in several ways:" msgstr "Listen können auf verschiedene Arten konstruiert werden:" -#: ../../library/stdtypes.rst:1394 +#: ../../builtins/stdtypes.rst:1394 msgid "Using a pair of square brackets to denote the empty list: ``[]``" msgstr "Verwendung eines Paars eckiger Klammern für die leere Liste: ``[]``" -#: ../../library/stdtypes.rst:1395 +#: ../../builtins/stdtypes.rst:1395 msgid "" "Using square brackets, separating items with commas: ``[a]``, ``[a, b, c]``" msgstr "" "Verwendung eckiger Klammern mit kommagetrennten Elementen: ``[a]``, ``[a, b, " "c]``" -#: ../../library/stdtypes.rst:1396 +#: ../../builtins/stdtypes.rst:1396 msgid "Using a list comprehension: ``[x for x in iterable]``" msgstr "Verwendung einer List-Comprehension: ``[x for x in iterable]``" -#: ../../library/stdtypes.rst:1397 +#: ../../builtins/stdtypes.rst:1397 msgid "Using the type constructor: ``list()`` or ``list(iterable)``" msgstr "Verwendung des Typ-Konstruktors: ``list()`` oder ``list(iterable)``" -#: ../../library/stdtypes.rst:1399 +#: ../../builtins/stdtypes.rst:1399 msgid "" "The constructor builds a list whose items are the same and in the same order " "as *iterable*'s items. *iterable* may be either a sequence, a container " @@ -2569,7 +2571,7 @@ msgstr "" "``list( (1, 2, 3) )`` liefert ``[1, 2, 3]``. Wenn kein Argument übergeben " "wird, erzeugt der Konstruktor eine neue leere Liste, ``[]``." -#: ../../library/stdtypes.rst:1408 +#: ../../builtins/stdtypes.rst:1408 msgid "" "Many other operations also produce lists, including the :func:`sorted` built-" "in." @@ -2577,12 +2579,12 @@ msgstr "" "Viele weitere Operationen erzeugen ebenfalls Listen, einschließlich der " "eingebauten Funktion :func:`sorted`." -#: ../../library/stdtypes.rst:1411 +#: ../../builtins/stdtypes.rst:1411 msgid "Lists are :ref:`generic ` over the types of their items." msgstr "" "Listen sind hinsichtlich des Typs ihrer Elemente :ref:`generisch `." -#: ../../library/stdtypes.rst:1413 +#: ../../builtins/stdtypes.rst:1413 msgid "" "Lists implement all of the :ref:`common ` and :ref:`mutable " "` sequence operations. Lists also provide the following " @@ -2592,7 +2594,7 @@ msgstr "" "`veränderlichen ` Sequenzoperationen. Listen bieten " "außerdem die folgende zusätzliche Methode:" -#: ../../library/stdtypes.rst:1419 +#: ../../builtins/stdtypes.rst:1419 msgid "" "This method sorts the list in place, using only ``<`` comparisons between " "items. Exceptions are not suppressed - if any comparison operations fail, " @@ -2605,7 +2607,7 @@ msgstr "" "fehl (und die Liste bleibt voraussichtlich in einem teilweise modifizierten " "Zustand zurück)." -#: ../../library/stdtypes.rst:1424 +#: ../../builtins/stdtypes.rst:1424 msgid "" ":meth:`sort` accepts two arguments that can only be passed by keyword (:ref:" "`keyword-only arguments `):" @@ -2614,7 +2616,7 @@ msgstr "" "übergeben werden können (:ref:`keyword-only arguments `):" -#: ../../library/stdtypes.rst:1427 +#: ../../builtins/stdtypes.rst:1427 msgid "" "*key* specifies a function of one argument that is used to extract a " "comparison key from each list element (for example, ``key=str.lower``). The " @@ -2629,7 +2631,7 @@ msgstr "" "Standardwert von ``None`` bedeutet, dass Listenelemente direkt sortiert " "werden, ohne einen separaten Schlüsselwert zu berechnen." -#: ../../library/stdtypes.rst:1434 +#: ../../builtins/stdtypes.rst:1434 msgid "" "The :func:`functools.cmp_to_key` utility is available to convert a 2.x style " "*cmp* function to a *key* function." @@ -2637,7 +2639,7 @@ msgstr "" "Das Hilfswerkzeug :func:`functools.cmp_to_key` steht zur Verfügung, um eine " "*cmp*-Funktion im Stil von Python 2.x in eine *key*-Funktion umzuwandeln." -#: ../../library/stdtypes.rst:1437 +#: ../../builtins/stdtypes.rst:1437 msgid "" "*reverse* is a boolean value. If set to ``True``, then the list elements " "are sorted as if each comparison were reversed." @@ -2645,7 +2647,7 @@ msgstr "" "*reverse* ist ein boolescher Wert. Wenn er auf ``True`` gesetzt ist, werden " "die Listenelemente so sortiert, als ob jeder Vergleich umgekehrt worden wäre." -#: ../../library/stdtypes.rst:1440 +#: ../../builtins/stdtypes.rst:1440 msgid "" "This method modifies the sequence in place for economy of space when sorting " "a large sequence. To remind users that it operates by side effect, it does " @@ -2658,7 +2660,7 @@ msgstr "" "(verwende :func:`sorted`, um explizit eine neue sortierte Listeninstanz " "anzufordern)." -#: ../../library/stdtypes.rst:1445 +#: ../../builtins/stdtypes.rst:1445 msgid "" "The :meth:`sort` method is guaranteed to be stable. A sort is stable if it " "guarantees not to change the relative order of elements that compare equal " @@ -2671,14 +2673,14 @@ msgstr "" "Sortierungen in mehreren Durchläufen (zum Beispiel zuerst nach Abteilung, " "dann nach Gehaltsstufe sortieren)." -#: ../../library/stdtypes.rst:1450 +#: ../../builtins/stdtypes.rst:1450 msgid "" "For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." msgstr "" "Für Sortierbeispiele und ein kurzes Sortier-Tutorial siehe :ref:" "`sortinghowto`." -#: ../../library/stdtypes.rst:1454 +#: ../../builtins/stdtypes.rst:1454 msgid "" "While a list is being sorted, the effect of attempting to mutate, or even " "inspect, the list is undefined. The C implementation of Python makes the " @@ -2691,7 +2693,7 @@ msgstr "" "und löst einen :exc:`ValueError` aus, wenn sie feststellen kann, dass die " "Liste während eines Sortiervorgangs verändert wurde." -#: ../../library/stdtypes.rst:1461 +#: ../../builtins/stdtypes.rst:1461 msgid "" "For detailed information on thread-safety guarantees for :class:`list` " "objects, see :ref:`thread-safety-list`." @@ -2699,11 +2701,11 @@ msgstr "" "Detaillierte Informationen zu den Thread-Sicherheitsgarantien für Objekte " "vom Typ :class:`list` findest du unter :ref:`thread-safety-list`." -#: ../../library/stdtypes.rst:1468 +#: ../../builtins/stdtypes.rst:1468 msgid "Tuples" msgstr "Tupel" -#: ../../library/stdtypes.rst:1472 +#: ../../builtins/stdtypes.rst:1472 msgid "" "Tuples are immutable sequences, typically used to store collections of " "heterogeneous data (such as the 2-tuples produced by the :func:`enumerate` " @@ -2718,31 +2720,31 @@ msgstr "" "Daten benötigt wird (wie etwa zur Ermöglichung der Speicherung in einer :" "class:`set`- oder :class:`dict`-Instanz)." -#: ../../library/stdtypes.rst:1480 +#: ../../builtins/stdtypes.rst:1480 msgid "Tuples may be constructed in a number of ways:" msgstr "Tupel können auf verschiedene Arten konstruiert werden:" -#: ../../library/stdtypes.rst:1482 +#: ../../builtins/stdtypes.rst:1482 msgid "Using a pair of parentheses to denote the empty tuple: ``()``" msgstr "Verwendung eines Paars runder Klammern für das leere Tupel: ``()``" -#: ../../library/stdtypes.rst:1483 +#: ../../builtins/stdtypes.rst:1483 msgid "Using a trailing comma for a singleton tuple: ``a,`` or ``(a,)``" msgstr "" "Verwendung eines nachgestellten Kommas für ein Tupel mit einem " "Element(Singleton-Tupel): ``a,`` oder ``(a,)``" -#: ../../library/stdtypes.rst:1484 +#: ../../builtins/stdtypes.rst:1484 msgid "Separating items with commas: ``a, b, c`` or ``(a, b, c)``" msgstr "Trennen von Elementen durch Kommas: ``a, b, c`` oder ``(a, b, c)``" -#: ../../library/stdtypes.rst:1485 +#: ../../builtins/stdtypes.rst:1485 msgid "Using the :func:`tuple` built-in: ``tuple()`` or ``tuple(iterable)``" msgstr "" "Verwendung der eingebauten Funktion :func:`tuple`: ``tuple()`` oder " "``tuple(iterable)``" -#: ../../library/stdtypes.rst:1487 +#: ../../builtins/stdtypes.rst:1487 msgid "" "The constructor builds a tuple whose items are the same and in the same " "order as *iterable*'s items. *iterable* may be either a sequence, a " @@ -2761,7 +2763,7 @@ msgstr "" "Argument übergeben wird, erzeugt der Konstruktor ein neues leeres Tupel, " "``()``." -#: ../../library/stdtypes.rst:1495 +#: ../../builtins/stdtypes.rst:1495 msgid "" "Note that it is actually the comma which makes a tuple, not the parentheses. " "The parentheses are optional, except in the empty tuple case, or when they " @@ -2776,7 +2778,7 @@ msgstr "" "``f((a, b, c))`` ein Funktionsaufruf mit einem 3-Tupel als einzigem Argument " "ist." -#: ../../library/stdtypes.rst:1501 +#: ../../builtins/stdtypes.rst:1501 msgid "" "Tuples implement all of the :ref:`common ` sequence " "operations." @@ -2784,7 +2786,7 @@ msgstr "" "Tupel implementieren alle :ref:`gemeinsamen ` " "Sequenzoperationen." -#: ../../library/stdtypes.rst:1504 +#: ../../builtins/stdtypes.rst:1504 msgid "" "Tuples are :ref:`generic ` over the types of their contents. For " "more information, refer to :ref:`the typing documentation on annotating " @@ -2794,7 +2796,7 @@ msgstr "" "Weitere Informationen findest du in der :ref:`typing-Dokumentation zum " "Annotieren von Tupeln `." -#: ../../library/stdtypes.rst:1508 +#: ../../builtins/stdtypes.rst:1508 msgid "" "For heterogeneous collections of data where access by name is clearer than " "access by index, :func:`collections.namedtuple` may be a more appropriate " @@ -2804,11 +2806,11 @@ msgstr "" "verständlicher ist als der Zugriff über Indizes, kann :func:`collections." "namedtuple` eine passendere Wahl als ein einfaches Tupel-Objekt sein." -#: ../../library/stdtypes.rst:1516 +#: ../../builtins/stdtypes.rst:1516 msgid "Ranges" msgstr "Ranges" -#: ../../library/stdtypes.rst:1520 +#: ../../builtins/stdtypes.rst:1520 msgid "" "The :class:`range` type represents an immutable sequence of numbers and is " "commonly used for looping a specific number of times in :keyword:`for` loops." @@ -2817,7 +2819,7 @@ msgstr "" "häufig verwendet, um eine bestimmte Anzahl von Wiederholungen in :keyword:" "`for`-Schleifen auszuführen." -#: ../../library/stdtypes.rst:1527 +#: ../../builtins/stdtypes.rst:1527 msgid "" "The arguments to the range constructor must be integers (either built-in :" "class:`int` or any object that implements the :meth:`~object.__index__` " @@ -2832,7 +2834,7 @@ msgstr "" "wird, ist der Standardwert ``0``. Wenn *step* null ist, wird ein :exc:" "`ValueError` ausgelöst." -#: ../../library/stdtypes.rst:1533 +#: ../../builtins/stdtypes.rst:1533 msgid "" "For a positive *step*, the contents of a range ``r`` are determined by the " "formula ``r[i] = start + step*i`` where ``i >= 0`` and ``r[i] < stop``." @@ -2841,7 +2843,7 @@ msgstr "" "Formel ``r[i] = start + step*i`` bestimmt, wobei ``i >= 0`` und ``r[i] < " "stop`` gilt." -#: ../../library/stdtypes.rst:1537 +#: ../../builtins/stdtypes.rst:1537 msgid "" "For a negative *step*, the contents of the range are still determined by the " "formula ``r[i] = start + step*i``, but the constraints are ``i >= 0`` and " @@ -2851,7 +2853,7 @@ msgstr "" "Formel ``r[i] = start + step*i`` bestimmt, die Bedingungen lauten jedoch ``i " ">= 0`` und ``r[i] > stop``." -#: ../../library/stdtypes.rst:1541 +#: ../../builtins/stdtypes.rst:1541 msgid "" "A range object will be empty if ``r[0]`` does not meet the value constraint. " "Ranges do support negative indices, but these are interpreted as indexing " @@ -2861,7 +2863,7 @@ msgstr "" "Ranges unterstützen negative Indizes, diese werden jedoch als Indizierung " "vom Ende der durch die positiven Indizes bestimmten Sequenz interpretiert." -#: ../../library/stdtypes.rst:1546 +#: ../../builtins/stdtypes.rst:1546 msgid "" "Ranges containing absolute values larger than :data:`sys.maxsize` are " "permitted but some features (such as :func:`len`) may raise :exc:" @@ -2871,11 +2873,11 @@ msgstr "" "zulässig, aber einige Funktionen (wie z. B. :func:`len`) können einen :exc:" "`OverflowError` auslösen." -#: ../../library/stdtypes.rst:1550 +#: ../../builtins/stdtypes.rst:1550 msgid "Range examples::" msgstr "Range-Beispiele::" -#: ../../library/stdtypes.rst:1552 +#: ../../builtins/stdtypes.rst:1552 msgid "" ">>> list(range(10))\n" "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n" @@ -2907,7 +2909,7 @@ msgstr "" ">>> list(range(1, 0))\n" "[]" -#: ../../library/stdtypes.rst:1567 +#: ../../builtins/stdtypes.rst:1567 msgid "" "Ranges implement all of the :ref:`common ` sequence " "operations except concatenation and repetition (due to the fact that range " @@ -2920,7 +2922,7 @@ msgstr "" "strengen Muster folgen, und Wiederholung sowie Verkettung dieses Muster in " "der Regel verletzen würden)." -#: ../../library/stdtypes.rst:1574 +#: ../../builtins/stdtypes.rst:1574 msgid "" "The value of the *start* parameter (or ``0`` if the parameter was not " "supplied)" @@ -2928,11 +2930,11 @@ msgstr "" "Der Wert des Parameters *start* (oder ``0``, falls der Parameter nicht " "übergeben wurde)" -#: ../../library/stdtypes.rst:1579 +#: ../../builtins/stdtypes.rst:1579 msgid "The value of the *stop* parameter" msgstr "Der Wert des Parameters *stop*" -#: ../../library/stdtypes.rst:1583 +#: ../../builtins/stdtypes.rst:1583 msgid "" "The value of the *step* parameter (or ``1`` if the parameter was not " "supplied)" @@ -2940,7 +2942,7 @@ msgstr "" "Der Wert des Parameters *step* (oder ``1``, falls der Parameter nicht " "übergeben wurde)" -#: ../../library/stdtypes.rst:1586 +#: ../../builtins/stdtypes.rst:1586 msgid "" "The advantage of the :class:`range` type over a regular :class:`list` or :" "class:`tuple` is that a :class:`range` object will always take the same " @@ -2955,7 +2957,7 @@ msgstr "" "speichert und einzelne Elemente sowie Teilbereiche erst bei Bedarf " "berechnet)." -#: ../../library/stdtypes.rst:1592 +#: ../../builtins/stdtypes.rst:1592 msgid "" "Range objects implement the :class:`collections.abc.Sequence` ABC, and " "provide features such as containment tests, element index lookup, slicing " @@ -2965,7 +2967,7 @@ msgstr "" "bieten Funktionen wie Prüfung von Enthaltensein, Elementindex-Abfrage, " "Slicing und Unterstützung für negative Indizes (siehe :ref:`typesseq`):" -#: ../../library/stdtypes.rst:1612 +#: ../../builtins/stdtypes.rst:1612 msgid "" "Testing range objects for equality with ``==`` and ``!=`` compares them as " "sequences. That is, two range objects are considered equal if they " @@ -2982,7 +2984,7 @@ msgstr "" "Beispiel ``range(0) == range(2, 1, 3)`` oder ``range(0, 3, 2) == range(0, 4, " "2)``.)" -#: ../../library/stdtypes.rst:1619 +#: ../../builtins/stdtypes.rst:1619 msgid "" "Implement the Sequence ABC. Support slicing and negative indices. Test :" "class:`int` objects for membership in constant time instead of iterating " @@ -2992,7 +2994,7 @@ msgstr "" "Indizes. Prüfung von :class:`int`-Objekten auf Mitgliedschaft in konstanter " "Zeit anstatt über alle Elemente zu iterieren." -#: ../../library/stdtypes.rst:1625 +#: ../../builtins/stdtypes.rst:1625 msgid "" "Define '==' and '!=' to compare range objects based on the sequence of " "values they define (instead of comparing based on object identity)." @@ -3001,7 +3003,7 @@ msgstr "" "definierten Wertesequenz zu vergleichen (anstatt auf Basis der " "Objektidentität)." -#: ../../library/stdtypes.rst:1630 +#: ../../builtins/stdtypes.rst:1630 msgid "" "Added the :attr:`~range.start`, :attr:`~range.stop` and :attr:`~range.step` " "attributes." @@ -3009,7 +3011,7 @@ msgstr "" "Die Attribute :attr:`~range.start`, :attr:`~range.stop` und :attr:`~range." "step` hinzugefügt." -#: ../../library/stdtypes.rst:1635 +#: ../../builtins/stdtypes.rst:1635 msgid "" "The `linspace recipe `_ shows how to implement a lazy version of range " @@ -3019,11 +3021,11 @@ msgstr "" "spaced-numbers-linspace/>`_ zeigt, wie eine Lazy-Version von Range " "implementiert werden kann, die für Gleitkomma-Anwendungen geeignet ist." -#: ../../library/stdtypes.rst:1647 +#: ../../builtins/stdtypes.rst:1647 msgid "Text and Binary Sequence Type Methods Summary" msgstr "Zusammenfassung der Methoden von Text- und Binärsequenztypen" -#: ../../library/stdtypes.rst:1648 +#: ../../builtins/stdtypes.rst:1648 msgid "" "The following table summarizes the text and binary sequence types methods by " "category." @@ -3031,395 +3033,395 @@ msgstr "" "Die folgende Tabelle fasst die Methoden der Text- und Binärsequenztypen nach " "Kategorien zusammen." -#: ../../library/stdtypes.rst:1653 +#: ../../builtins/stdtypes.rst:1653 msgid "Category" msgstr "Kategorie" -#: ../../library/stdtypes.rst:1653 +#: ../../builtins/stdtypes.rst:1653 msgid ":class:`str` methods" msgstr ":class:`str`-Methoden" -#: ../../library/stdtypes.rst:1653 +#: ../../builtins/stdtypes.rst:1653 msgid ":class:`bytes` and :class:`bytearray` methods" msgstr ":class:`bytes`- und :class:`bytearray`-Methoden" -#: ../../library/stdtypes.rst:1655 +#: ../../builtins/stdtypes.rst:1655 msgid "Formatting" msgstr "Formatierung" -#: ../../library/stdtypes.rst:1655 +#: ../../builtins/stdtypes.rst:1655 msgid ":meth:`str.format`" msgstr ":meth:`str.format`" -#: ../../library/stdtypes.rst:1657 +#: ../../builtins/stdtypes.rst:1657 msgid ":meth:`str.format_map`" msgstr ":meth:`str.format_map`" -#: ../../library/stdtypes.rst:1659 +#: ../../builtins/stdtypes.rst:1659 msgid ":ref:`f-strings`" msgstr ":ref:`f-strings`" -#: ../../library/stdtypes.rst:1661 +#: ../../builtins/stdtypes.rst:1661 msgid ":ref:`old-string-formatting`" msgstr ":ref:`old-string-formatting`" -#: ../../library/stdtypes.rst:1661 +#: ../../builtins/stdtypes.rst:1661 msgid ":ref:`bytes-formatting`" msgstr ":ref:`bytes-formatting`" -#: ../../library/stdtypes.rst:1663 +#: ../../builtins/stdtypes.rst:1663 msgid "Searching and Replacing" msgstr "Suchen und Ersetzen" -#: ../../library/stdtypes.rst:1663 +#: ../../builtins/stdtypes.rst:1663 msgid ":meth:`str.find`" msgstr ":meth:`str.find`" -#: ../../library/stdtypes.rst:1663 +#: ../../builtins/stdtypes.rst:1663 msgid ":meth:`str.rfind`" msgstr ":meth:`str.rfind`" -#: ../../library/stdtypes.rst:1663 +#: ../../builtins/stdtypes.rst:1663 msgid ":meth:`bytes.find`" msgstr ":meth:`bytes.find`" -#: ../../library/stdtypes.rst:1663 +#: ../../builtins/stdtypes.rst:1663 msgid ":meth:`bytes.rfind`" msgstr ":meth:`bytes.rfind`" -#: ../../library/stdtypes.rst:1665 +#: ../../builtins/stdtypes.rst:1665 msgid ":meth:`str.index`" msgstr ":meth:`str.index`" -#: ../../library/stdtypes.rst:1665 +#: ../../builtins/stdtypes.rst:1665 msgid ":meth:`str.rindex`" msgstr ":meth:`str.rindex`" -#: ../../library/stdtypes.rst:1665 +#: ../../builtins/stdtypes.rst:1665 msgid ":meth:`bytes.index`" msgstr ":meth:`bytes.index`" -#: ../../library/stdtypes.rst:1665 +#: ../../builtins/stdtypes.rst:1665 msgid ":meth:`bytes.rindex`" msgstr ":meth:`bytes.rindex`" -#: ../../library/stdtypes.rst:1667 +#: ../../builtins/stdtypes.rst:1667 msgid ":meth:`str.startswith`" msgstr ":meth:`str.startswith`" -#: ../../library/stdtypes.rst:1667 +#: ../../builtins/stdtypes.rst:1667 msgid ":meth:`bytes.startswith`" msgstr ":meth:`bytes.startswith`" -#: ../../library/stdtypes.rst:1669 +#: ../../builtins/stdtypes.rst:1669 msgid ":meth:`str.endswith`" msgstr ":meth:`str.endswith`" -#: ../../library/stdtypes.rst:1669 +#: ../../builtins/stdtypes.rst:1669 msgid ":meth:`bytes.endswith`" msgstr ":meth:`bytes.endswith`" -#: ../../library/stdtypes.rst:1671 +#: ../../builtins/stdtypes.rst:1671 msgid ":meth:`str.count`" msgstr ":meth:`str.count`" -#: ../../library/stdtypes.rst:1671 +#: ../../builtins/stdtypes.rst:1671 msgid ":meth:`bytes.count`" msgstr ":meth:`bytes.count`" -#: ../../library/stdtypes.rst:1673 +#: ../../builtins/stdtypes.rst:1673 msgid ":meth:`str.replace`" msgstr ":meth:`str.replace`" -#: ../../library/stdtypes.rst:1673 +#: ../../builtins/stdtypes.rst:1673 msgid ":meth:`bytes.replace`" msgstr ":meth:`bytes.replace`" -#: ../../library/stdtypes.rst:1675 +#: ../../builtins/stdtypes.rst:1675 msgid "Splitting and Joining" msgstr "Trennen und Zusammenfügen" -#: ../../library/stdtypes.rst:1675 +#: ../../builtins/stdtypes.rst:1675 msgid ":meth:`str.split`" msgstr ":meth:`str.split`" -#: ../../library/stdtypes.rst:1675 +#: ../../builtins/stdtypes.rst:1675 msgid ":meth:`str.rsplit`" msgstr ":meth:`str.rsplit`" -#: ../../library/stdtypes.rst:1675 +#: ../../builtins/stdtypes.rst:1675 msgid ":meth:`bytes.split`" msgstr ":meth:`bytes.split`" -#: ../../library/stdtypes.rst:1675 +#: ../../builtins/stdtypes.rst:1675 msgid ":meth:`bytes.rsplit`" msgstr ":meth:`bytes.rsplit`" -#: ../../library/stdtypes.rst:1677 +#: ../../builtins/stdtypes.rst:1677 msgid ":meth:`str.splitlines`" msgstr ":meth:`str.splitlines`" -#: ../../library/stdtypes.rst:1677 +#: ../../builtins/stdtypes.rst:1677 msgid ":meth:`bytes.splitlines`" msgstr ":meth:`bytes.splitlines`" -#: ../../library/stdtypes.rst:1679 +#: ../../builtins/stdtypes.rst:1679 msgid ":meth:`str.partition`" msgstr ":meth:`str.partition`" -#: ../../library/stdtypes.rst:1679 +#: ../../builtins/stdtypes.rst:1679 msgid ":meth:`bytes.partition`" msgstr ":meth:`bytes.partition`" -#: ../../library/stdtypes.rst:1681 +#: ../../builtins/stdtypes.rst:1681 msgid ":meth:`str.rpartition`" msgstr ":meth:`str.rpartition`" -#: ../../library/stdtypes.rst:1681 +#: ../../builtins/stdtypes.rst:1681 msgid ":meth:`bytes.rpartition`" msgstr ":meth:`bytes.rpartition`" -#: ../../library/stdtypes.rst:1683 +#: ../../builtins/stdtypes.rst:1683 msgid ":meth:`str.join`" msgstr ":meth:`str.join`" -#: ../../library/stdtypes.rst:1683 +#: ../../builtins/stdtypes.rst:1683 msgid ":meth:`bytes.join`" msgstr ":meth:`bytes.join`" -#: ../../library/stdtypes.rst:1685 +#: ../../builtins/stdtypes.rst:1685 msgid "String Classification" msgstr "String-Klassifikation" -#: ../../library/stdtypes.rst:1685 +#: ../../builtins/stdtypes.rst:1685 msgid ":meth:`str.isalpha`" msgstr ":meth:`str.isalpha`" -#: ../../library/stdtypes.rst:1685 +#: ../../builtins/stdtypes.rst:1685 msgid ":meth:`bytes.isalpha`" msgstr ":meth:`bytes.isalpha`" -#: ../../library/stdtypes.rst:1687 +#: ../../builtins/stdtypes.rst:1687 msgid ":meth:`str.isdecimal`" msgstr ":meth:`str.isdecimal`" -#: ../../library/stdtypes.rst:1689 +#: ../../builtins/stdtypes.rst:1689 msgid ":meth:`str.isdigit`" msgstr ":meth:`str.isdigit`" -#: ../../library/stdtypes.rst:1689 +#: ../../builtins/stdtypes.rst:1689 msgid ":meth:`bytes.isdigit`" msgstr ":meth:`bytes.isdigit`" -#: ../../library/stdtypes.rst:1691 +#: ../../builtins/stdtypes.rst:1691 msgid ":meth:`str.isnumeric`" msgstr ":meth:`str.isnumeric`" -#: ../../library/stdtypes.rst:1693 +#: ../../builtins/stdtypes.rst:1693 msgid ":meth:`str.isalnum`" msgstr ":meth:`str.isalnum`" -#: ../../library/stdtypes.rst:1693 +#: ../../builtins/stdtypes.rst:1693 msgid ":meth:`bytes.isalnum`" msgstr ":meth:`bytes.isalnum`" -#: ../../library/stdtypes.rst:1695 +#: ../../builtins/stdtypes.rst:1695 msgid ":meth:`str.isidentifier`" msgstr ":meth:`str.isidentifier`" -#: ../../library/stdtypes.rst:1697 +#: ../../builtins/stdtypes.rst:1697 msgid ":meth:`str.islower`" msgstr ":meth:`str.islower`" -#: ../../library/stdtypes.rst:1697 +#: ../../builtins/stdtypes.rst:1697 msgid ":meth:`bytes.islower`" msgstr ":meth:`bytes.islower`" -#: ../../library/stdtypes.rst:1699 +#: ../../builtins/stdtypes.rst:1699 msgid ":meth:`str.isupper`" msgstr ":meth:`str.isupper`" -#: ../../library/stdtypes.rst:1699 +#: ../../builtins/stdtypes.rst:1699 msgid ":meth:`bytes.isupper`" msgstr ":meth:`bytes.isupper`" -#: ../../library/stdtypes.rst:1701 +#: ../../builtins/stdtypes.rst:1701 msgid ":meth:`str.istitle`" msgstr ":meth:`str.istitle`" -#: ../../library/stdtypes.rst:1701 +#: ../../builtins/stdtypes.rst:1701 msgid ":meth:`bytes.istitle`" msgstr ":meth:`bytes.istitle`" -#: ../../library/stdtypes.rst:1703 +#: ../../builtins/stdtypes.rst:1703 msgid ":meth:`str.isspace`" msgstr ":meth:`str.isspace`" -#: ../../library/stdtypes.rst:1703 +#: ../../builtins/stdtypes.rst:1703 msgid ":meth:`bytes.isspace`" msgstr ":meth:`bytes.isspace`" -#: ../../library/stdtypes.rst:1705 +#: ../../builtins/stdtypes.rst:1705 msgid ":meth:`str.isprintable`" msgstr ":meth:`str.isprintable`" -#: ../../library/stdtypes.rst:1707 +#: ../../builtins/stdtypes.rst:1707 msgid "Case Manipulation" msgstr "Groß-/Kleinschreibung bearbeiten" -#: ../../library/stdtypes.rst:1707 +#: ../../builtins/stdtypes.rst:1707 msgid ":meth:`str.lower`" msgstr ":meth:`str.lower`" -#: ../../library/stdtypes.rst:1707 +#: ../../builtins/stdtypes.rst:1707 msgid ":meth:`bytes.lower`" msgstr ":meth:`bytes.lower`" -#: ../../library/stdtypes.rst:1709 +#: ../../builtins/stdtypes.rst:1709 msgid ":meth:`str.upper`" msgstr ":meth:`str.upper`" -#: ../../library/stdtypes.rst:1709 +#: ../../builtins/stdtypes.rst:1709 msgid ":meth:`bytes.upper`" msgstr ":meth:`bytes.upper`" -#: ../../library/stdtypes.rst:1711 +#: ../../builtins/stdtypes.rst:1711 msgid ":meth:`str.casefold`" msgstr ":meth:`str.casefold`" -#: ../../library/stdtypes.rst:1713 +#: ../../builtins/stdtypes.rst:1713 msgid ":meth:`str.capitalize`" msgstr ":meth:`str.capitalize`" -#: ../../library/stdtypes.rst:1713 +#: ../../builtins/stdtypes.rst:1713 msgid ":meth:`bytes.capitalize`" msgstr ":meth:`bytes.capitalize`" -#: ../../library/stdtypes.rst:1715 +#: ../../builtins/stdtypes.rst:1715 msgid ":meth:`str.title`" msgstr ":meth:`str.title`" -#: ../../library/stdtypes.rst:1715 +#: ../../builtins/stdtypes.rst:1715 msgid ":meth:`bytes.title`" msgstr ":meth:`bytes.title`" -#: ../../library/stdtypes.rst:1717 +#: ../../builtins/stdtypes.rst:1717 msgid ":meth:`str.swapcase`" msgstr ":meth:`str.swapcase`" -#: ../../library/stdtypes.rst:1717 +#: ../../builtins/stdtypes.rst:1717 msgid ":meth:`bytes.swapcase`" msgstr ":meth:`bytes.swapcase`" -#: ../../library/stdtypes.rst:1719 +#: ../../builtins/stdtypes.rst:1719 msgid "Padding and Stripping" msgstr "Auffüllen und Entfernen von Zeichen" -#: ../../library/stdtypes.rst:1719 +#: ../../builtins/stdtypes.rst:1719 msgid ":meth:`str.ljust`" msgstr ":meth:`str.ljust`" -#: ../../library/stdtypes.rst:1719 +#: ../../builtins/stdtypes.rst:1719 msgid ":meth:`str.rjust`" msgstr ":meth:`str.rjust`" -#: ../../library/stdtypes.rst:1719 +#: ../../builtins/stdtypes.rst:1719 msgid ":meth:`bytes.ljust`" msgstr ":meth:`bytes.ljust`" -#: ../../library/stdtypes.rst:1719 +#: ../../builtins/stdtypes.rst:1719 msgid ":meth:`bytes.rjust`" msgstr ":meth:`bytes.rjust`" -#: ../../library/stdtypes.rst:1721 +#: ../../builtins/stdtypes.rst:1721 msgid ":meth:`str.center`" msgstr ":meth:`str.center`" -#: ../../library/stdtypes.rst:1721 +#: ../../builtins/stdtypes.rst:1721 msgid ":meth:`bytes.center`" msgstr ":meth:`bytes.center`" -#: ../../library/stdtypes.rst:1723 +#: ../../builtins/stdtypes.rst:1723 msgid ":meth:`str.expandtabs`" msgstr ":meth:`str.expandtabs`" -#: ../../library/stdtypes.rst:1723 +#: ../../builtins/stdtypes.rst:1723 msgid ":meth:`bytes.expandtabs`" msgstr ":meth:`bytes.expandtabs`" -#: ../../library/stdtypes.rst:1725 +#: ../../builtins/stdtypes.rst:1725 msgid ":meth:`str.strip`" msgstr ":meth:`str.strip`" -#: ../../library/stdtypes.rst:1725 +#: ../../builtins/stdtypes.rst:1725 msgid ":meth:`bytes.strip`" msgstr ":meth:`bytes.strip`" -#: ../../library/stdtypes.rst:1727 +#: ../../builtins/stdtypes.rst:1727 msgid ":meth:`str.lstrip`" msgstr ":meth:`str.lstrip`" -#: ../../library/stdtypes.rst:1727 +#: ../../builtins/stdtypes.rst:1727 msgid ":meth:`str.rstrip`" msgstr ":meth:`str.rstrip`" -#: ../../library/stdtypes.rst:1727 +#: ../../builtins/stdtypes.rst:1727 msgid ":meth:`bytes.lstrip`" msgstr ":meth:`bytes.lstrip`" -#: ../../library/stdtypes.rst:1727 +#: ../../builtins/stdtypes.rst:1727 msgid ":meth:`bytes.rstrip`" msgstr ":meth:`bytes.rstrip`" -#: ../../library/stdtypes.rst:1729 +#: ../../builtins/stdtypes.rst:1729 msgid ":meth:`str.removeprefix`" msgstr ":meth:`str.removeprefix`" -#: ../../library/stdtypes.rst:1729 +#: ../../builtins/stdtypes.rst:1729 msgid ":meth:`bytes.removeprefix`" msgstr ":meth:`bytes.removeprefix`" -#: ../../library/stdtypes.rst:1731 +#: ../../builtins/stdtypes.rst:1731 msgid ":meth:`str.removesuffix`" msgstr ":meth:`str.removesuffix`" -#: ../../library/stdtypes.rst:1731 +#: ../../builtins/stdtypes.rst:1731 msgid ":meth:`bytes.removesuffix`" msgstr ":meth:`bytes.removesuffix`" -#: ../../library/stdtypes.rst:1733 +#: ../../builtins/stdtypes.rst:1733 msgid "Translation and Encoding" msgstr "Übersetzung und Kodierung" -#: ../../library/stdtypes.rst:1733 +#: ../../builtins/stdtypes.rst:1733 msgid ":meth:`str.translate`" msgstr ":meth:`str.translate`" -#: ../../library/stdtypes.rst:1733 +#: ../../builtins/stdtypes.rst:1733 msgid ":meth:`bytes.translate`" msgstr ":meth:`bytes.translate`" -#: ../../library/stdtypes.rst:1735 +#: ../../builtins/stdtypes.rst:1735 msgid ":meth:`str.maketrans`" msgstr ":meth:`str.maketrans`" -#: ../../library/stdtypes.rst:1735 +#: ../../builtins/stdtypes.rst:1735 msgid ":meth:`bytes.maketrans`" msgstr ":meth:`bytes.maketrans`" -#: ../../library/stdtypes.rst:1737 +#: ../../builtins/stdtypes.rst:1737 msgid ":meth:`str.encode`" msgstr ":meth:`str.encode`" -#: ../../library/stdtypes.rst:1739 +#: ../../builtins/stdtypes.rst:1739 msgid ":meth:`bytes.decode`" msgstr ":meth:`bytes.decode`" -#: ../../library/stdtypes.rst:1745 +#: ../../builtins/stdtypes.rst:1745 msgid "Text Sequence Type --- :class:`str`" msgstr "Textsequenztyp – :class:`str`" -#: ../../library/stdtypes.rst:1747 +#: ../../builtins/stdtypes.rst:1747 msgid "" "Textual data in Python is handled with :class:`str` objects, or :dfn:" "`strings`. Strings are immutable :ref:`sequences ` of Unicode code " @@ -3430,15 +3432,15 @@ msgstr "" "Unicode-Codepunkten. String-Literale werden auf verschiedene Arten " "geschrieben:" -#: ../../library/stdtypes.rst:1752 +#: ../../builtins/stdtypes.rst:1752 msgid "Single quotes: ``'allows embedded \"double\" quotes'``" msgstr "Einfache Anführungszeichen: ``'allows embedded \"double\" quotes'``" -#: ../../library/stdtypes.rst:1753 +#: ../../builtins/stdtypes.rst:1753 msgid "Double quotes: ``\"allows embedded 'single' quotes\"``" msgstr "Doppelte Anführungszeichen: ``\"allows embedded 'single' quotes\"``" -#: ../../library/stdtypes.rst:1754 +#: ../../builtins/stdtypes.rst:1754 msgid "" "Triple quoted: ``'''Three single quotes'''``, ``\"\"\"Three double " "quotes\"\"\"``" @@ -3446,7 +3448,7 @@ msgstr "" "Dreifache Anführungszeichen: ``'''Three single quotes'''``, ``\"\"\"Three " "double quotes\"\"\"``" -#: ../../library/stdtypes.rst:1756 +#: ../../builtins/stdtypes.rst:1756 msgid "" "Triple quoted strings may span multiple lines - all associated whitespace " "will be included in the string literal." @@ -3455,7 +3457,7 @@ msgstr "" "Zeilen erstrecken – alle zugehörigen Whitespaces werden in das String-" "Literal aufgenommen." -#: ../../library/stdtypes.rst:1759 +#: ../../builtins/stdtypes.rst:1759 msgid "" "String literals that are part of a single expression and have only " "whitespace between them will be implicitly converted to a single string " @@ -3465,7 +3467,7 @@ msgstr "" "zwischen sich haben, werden implizit in ein einziges String-Literal " "umgewandelt. Das heißt: ``(\"spam \" \"eggs\") == \"spam eggs\"``." -#: ../../library/stdtypes.rst:1763 +#: ../../builtins/stdtypes.rst:1763 msgid "" "See :ref:`strings` for more about the various forms of string literal, " "including supported :ref:`escape sequences `, and the " @@ -3476,7 +3478,7 @@ msgstr "" "sequences>` und des Präfixes ``r`` (\"raw\"), das die meisten Verarbeitungen " "von Escape-Sequenzen deaktiviert." -#: ../../library/stdtypes.rst:1767 +#: ../../builtins/stdtypes.rst:1767 msgid "" "Strings may also be created from other objects using the :class:`str` " "constructor." @@ -3484,7 +3486,7 @@ msgstr "" "Strings können auch aus anderen Objekten mithilfe des :class:`str`-" "Konstruktors erzeugt werden." -#: ../../library/stdtypes.rst:1770 +#: ../../builtins/stdtypes.rst:1770 msgid "" "Since there is no separate \"character\" type, indexing a string produces " "strings of length 1. That is, for a non-empty string *s*, ``s[0] == s[0:1]``." @@ -3493,7 +3495,7 @@ msgstr "" "Strings Strings der Länge 1. Das heißt, für einen nicht-leeren String *s* " "gilt: ``s[0] == s[0:1]``." -#: ../../library/stdtypes.rst:1776 +#: ../../builtins/stdtypes.rst:1776 msgid "" "There is also no mutable string type, but :meth:`str.join` or :class:`io." "StringIO` can be used to efficiently construct strings from multiple " @@ -3503,7 +3505,7 @@ msgstr "" "class:`io.StringIO` können verwendet werden, um Strings effizient aus " "mehreren Fragmenten zusammenzusetzen." -#: ../../library/stdtypes.rst:1780 +#: ../../builtins/stdtypes.rst:1780 msgid "" "For backwards compatibility with the Python 2 series, the ``u`` prefix is " "once again permitted on string literals. It has no effect on the meaning of " @@ -3514,7 +3516,7 @@ msgstr "" "Bedeutung von String-Literalen und kann nicht mit dem Präfix ``r`` " "kombiniert werden." -#: ../../library/stdtypes.rst:1794 +#: ../../builtins/stdtypes.rst:1794 msgid "" "Return a :ref:`string ` version of *object*. If *object* is not " "provided, returns the empty string. Otherwise, the behavior of ``str()`` " @@ -3525,7 +3527,7 @@ msgstr "" "das Verhalten von ``str()`` davon ab, ob *encoding* oder *errors* wie folgt " "angegeben sind." -#: ../../library/stdtypes.rst:1798 +#: ../../builtins/stdtypes.rst:1798 msgid "" "If neither *encoding* nor *errors* is given, ``str(object)`` returns :meth:" "`type(object).__str__(object) `, which is the \"informal\" " @@ -3541,7 +3543,7 @@ msgstr "" "`~object.__str__`-Methode besitzt, fällt :func:`str` darauf zurück, :func:" "`repr(object) ` zurückzugeben." -#: ../../library/stdtypes.rst:1810 +#: ../../builtins/stdtypes.rst:1810 msgid "" "If at least one of *encoding* or *errors* is given, *object* should be a :" "term:`bytes-like object` (e.g. :class:`bytes` or :class:`bytearray`). In " @@ -3562,7 +3564,7 @@ msgstr "" "ref:`binaryseq` und :ref:`bufferobjects` für Informationen über " "Pufferobjekte." -#: ../../library/stdtypes.rst:1819 +#: ../../builtins/stdtypes.rst:1819 msgid "" "Passing a :class:`bytes` object to :func:`str` without the *encoding* or " "*errors* arguments falls under the first case of returning the informal " @@ -3574,7 +3576,7 @@ msgstr "" "informellen String-Repräsentation (siehe auch die Kommandozeilenoption :" "option:`-b` von Python). Zum Beispiel::" -#: ../../library/stdtypes.rst:1824 +#: ../../builtins/stdtypes.rst:1824 msgid "" ">>> str(b'Zoot!')\n" "\"b'Zoot!'\"" @@ -3582,7 +3584,7 @@ msgstr "" ">>> str(b'Zoot!')\n" "\"b'Zoot!'\"" -#: ../../library/stdtypes.rst:1827 +#: ../../builtins/stdtypes.rst:1827 msgid "" "For more information on the ``str`` class and its methods, see :ref:" "`textseq` and the :ref:`string-methods` section below. To output formatted " @@ -3594,11 +3596,11 @@ msgstr "" "Zur Ausgabe formatierter Strings siehe die Abschnitte :ref:`f-strings` und :" "ref:`formatstrings`. Siehe außerdem den Abschnitt :ref:`stringservices`." -#: ../../library/stdtypes.rst:1839 +#: ../../builtins/stdtypes.rst:1839 msgid "String Methods" msgstr "String-Methoden" -#: ../../library/stdtypes.rst:1844 +#: ../../builtins/stdtypes.rst:1844 msgid "" "Strings implement all of the :ref:`common ` sequence " "operations, along with the additional methods described below." @@ -3607,7 +3609,7 @@ msgstr "" "Sequenzoperationen zusammen mit den nachfolgend beschriebenen zusätzlichen " "Methoden." -#: ../../library/stdtypes.rst:1847 +#: ../../builtins/stdtypes.rst:1847 msgid "" "Strings also support two styles of string formatting, one providing a large " "degree of flexibility and customization (see :meth:`str.format`, :ref:" @@ -3624,7 +3626,7 @@ msgstr "" "ist, aber für die Fälle, die sie abdeckt, oft schneller ist (:ref:`old-" "string-formatting`)." -#: ../../library/stdtypes.rst:1854 +#: ../../builtins/stdtypes.rst:1854 msgid "" "The :ref:`textservices` section of the standard library covers a number of " "other modules that provide various text related utilities (including regular " @@ -3635,7 +3637,7 @@ msgstr "" "bereitstellen (einschließlich der Unterstützung regulärer Ausdrücke im " "Modul :mod:`re`)." -#: ../../library/stdtypes.rst:1860 +#: ../../builtins/stdtypes.rst:1860 msgid "" "Return a copy of the string with its first character capitalized and the " "rest lowercased." @@ -3643,7 +3645,7 @@ msgstr "" "Gibt eine Kopie des Strings zurück, bei der das erste Zeichen " "großgeschrieben und der Rest kleingeschrieben ist." -#: ../../library/stdtypes.rst:1863 +#: ../../builtins/stdtypes.rst:1863 msgid "" "The first character is now put into titlecase rather than uppercase. This " "means that characters like digraphs will only have their first letter " @@ -3653,7 +3655,7 @@ msgstr "" "Das bedeutet, dass bei Zeichen wie Digraphen nur der erste Buchstabe " "großgeschrieben wird und nicht das gesamte Zeichen." -#: ../../library/stdtypes.rst:1870 +#: ../../builtins/stdtypes.rst:1870 msgid "" "Return a casefolded copy of the string. Casefolded strings may be used for " "caseless matching." @@ -3661,7 +3663,7 @@ msgstr "" "Gibt eine casefold-Kopie des Strings zurück. Casefold-Strings können für " "Abgleiche ohne Berücksichtigung der Groß-/Kleinschreibung verwendet werden." -#: ../../library/stdtypes.rst:1873 +#: ../../builtins/stdtypes.rst:1873 msgid "" "Casefolding is similar to lowercasing but more aggressive because it is " "intended to remove all case distinctions in a string. For example, the " @@ -3676,7 +3678,7 @@ msgstr "" "`lower` bei ``'ß'`` nichts bewirken; :meth:`casefold` wandelt ihn in " "``\"ss\"`` um. Zum Beispiel:" -#: ../../library/stdtypes.rst:1880 +#: ../../builtins/stdtypes.rst:1880 msgid "" ">>> 'straße'.lower()\n" "'straße'\n" @@ -3688,7 +3690,7 @@ msgstr "" ">>> 'straße'.casefold()\n" "'strasse'" -#: ../../library/stdtypes.rst:1887 +#: ../../builtins/stdtypes.rst:1887 msgid "" "The casefolding algorithm is `described in section 3.13 'Default Case " "Folding' of the Unicode Standard `__ beschrieben." -#: ../../library/stdtypes.rst:1896 +#: ../../builtins/stdtypes.rst:1896 msgid "" "Return centered in a string of length *width*. Padding is done using the " "specified *fillchar* (default is an ASCII space). The original string is " @@ -3709,7 +3711,7 @@ msgstr "" "Leerzeichen). Der ursprüngliche String wird zurückgegeben, wenn *width* " "kleiner oder gleich ``len(s)`` ist. Zum Beispiel::" -#: ../../library/stdtypes.rst:1900 +#: ../../builtins/stdtypes.rst:1900 msgid "" ">>> 'Python'.center(10)\n" "' Python '\n" @@ -3725,7 +3727,7 @@ msgstr "" ">>> 'Python'.center(4)\n" "'Python'" -#: ../../library/stdtypes.rst:1910 +#: ../../builtins/stdtypes.rst:1910 msgid "" "Return the number of non-overlapping occurrences of substring *sub* in the " "range [*start*, *end*]. Optional arguments *start* and *end* are " @@ -3735,7 +3737,7 @@ msgstr "" "Bereich [*start*, *end*] zurück. Die optionalen Argumente *start* und *end* " "werden wie in der Slice-Notation interpretiert." -#: ../../library/stdtypes.rst:1914 +#: ../../builtins/stdtypes.rst:1914 msgid "" "If *sub* is empty, returns the number of empty strings between characters " "which is the length of the string plus one. For example::" @@ -3743,7 +3745,7 @@ msgstr "" "Wenn *sub* leer ist, wird die Anzahl der leeren Strings zwischen den Zeichen " "zurückgegeben, was der Länge des Strings plus eins entspricht. Zum Beispiel::" -#: ../../library/stdtypes.rst:1917 +#: ../../builtins/stdtypes.rst:1917 msgid "" ">>> 'spam, spam, spam'.count('spam')\n" "3\n" @@ -3767,11 +3769,11 @@ msgstr "" ">>> 'spam, spam, spam'.count('')\n" "17" -#: ../../library/stdtypes.rst:1930 +#: ../../builtins/stdtypes.rst:1930 msgid "Return the string encoded to :class:`bytes`." msgstr "Gibt den als :class:`bytes` kodierten String zurück." -#: ../../library/stdtypes.rst:1932 ../../library/stdtypes.rst:3646 +#: ../../builtins/stdtypes.rst:1932 ../../builtins/stdtypes.rst:3646 msgid "" "*encoding* defaults to ``'utf-8'``; see :ref:`standard-encodings` for " "possible values." @@ -3779,7 +3781,7 @@ msgstr "" "*encoding* ist standardmäßig ``'utf-8'``; siehe :ref:`standard-encodings` " "für mögliche Werte." -#: ../../library/stdtypes.rst:1935 +#: ../../builtins/stdtypes.rst:1935 msgid "" "*errors* controls how encoding errors are handled. If ``'strict'`` (the " "default), a :exc:`UnicodeError` exception is raised. Other possible values " @@ -3793,7 +3795,7 @@ msgstr "" "``'backslashreplace'`` und jeder andere über :func:`codecs.register_error` " "registrierte Name. Siehe :ref:`error-handlers` für Details." -#: ../../library/stdtypes.rst:1942 +#: ../../builtins/stdtypes.rst:1942 msgid "" "For performance reasons, the value of *errors* is not checked for validity " "unless an encoding error actually occurs, :ref:`devmode` is enabled or a :" @@ -3804,7 +3806,7 @@ msgstr "" "ref:`devmode` ist aktiviert oder es wird ein :ref:`Debug-Build ` verwendet. Zum Beispiel::" -#: ../../library/stdtypes.rst:1948 +#: ../../builtins/stdtypes.rst:1948 msgid "" ">>> encoded_str_to_bytes = 'Python'.encode()\n" ">>> type(encoded_str_to_bytes)\n" @@ -3818,11 +3820,11 @@ msgstr "" ">>> encoded_str_to_bytes\n" "b'Python'" -#: ../../library/stdtypes.rst:1955 ../../library/stdtypes.rst:3665 +#: ../../builtins/stdtypes.rst:1955 ../../builtins/stdtypes.rst:3665 msgid "Added support for keyword arguments." msgstr "Unterstützung für Schlüsselwort-Argumente hinzugefügt." -#: ../../library/stdtypes.rst:1958 ../../library/stdtypes.rst:3668 +#: ../../builtins/stdtypes.rst:1958 ../../builtins/stdtypes.rst:3668 msgid "" "The value of the *errors* argument is now checked in :ref:`devmode` and in :" "ref:`debug mode `." @@ -3830,7 +3832,7 @@ msgstr "" "Der Wert des Arguments *errors* wird nun im :ref:`devmode` und im :ref:" "`Debug-Modus ` geprüft." -#: ../../library/stdtypes.rst:1965 +#: ../../builtins/stdtypes.rst:1965 msgid "" "Return ``True`` if the string ends with the specified *suffix*, otherwise " "return ``False``. *suffix* can also be a tuple of suffixes to look for. " @@ -3845,7 +3847,7 @@ msgstr "" "Verwendung von *start* und *end* entspricht ``str[start:end]." "endswith(suffix)``. Zum Beispiel::" -#: ../../library/stdtypes.rst:1971 +#: ../../builtins/stdtypes.rst:1971 msgid "" ">>> 'Python'.endswith('on')\n" "True\n" @@ -3865,11 +3867,11 @@ msgstr "" ">>> 'Python is amazing'.endswith('is', 0, 9)\n" "True" -#: ../../library/stdtypes.rst:1980 +#: ../../builtins/stdtypes.rst:1980 msgid "See also :meth:`startswith` and :meth:`removesuffix`." msgstr "Siehe auch :meth:`startswith` und :meth:`removesuffix`." -#: ../../library/stdtypes.rst:1985 +#: ../../builtins/stdtypes.rst:1985 msgid "" "Return a copy of the string where all tab characters are replaced by one or " "more spaces, depending on the current column and the given tab size. Tab " @@ -3899,7 +3901,7 @@ msgstr "" "aktuelle Spalte um eins erhöht, unabhängig davon, wie das Zeichen bei der " "Ausgabe dargestellt wird. Zum Beispiel::" -#: ../../library/stdtypes.rst:1998 +#: ../../builtins/stdtypes.rst:1998 msgid "" ">>> '01\\t012\\t0123\\t01234'.expandtabs()\n" "'01 012 0123 01234'\n" @@ -3917,7 +3919,7 @@ msgstr "" "01 012\n" "0123 01234" -#: ../../library/stdtypes.rst:2009 +#: ../../builtins/stdtypes.rst:2009 msgid "" "Return the lowest index in the string where substring *sub* is found within " "the slice ``s[start:end]``. Optional arguments *start* and *end* are " @@ -3929,7 +3931,7 @@ msgstr "" "Argumente *start* und *end* werden wie in der Slice-Notation interpretiert. " "Gibt ``-1`` zurück, wenn *sub* nicht gefunden wird. Zum Beispiel::" -#: ../../library/stdtypes.rst:2014 +#: ../../builtins/stdtypes.rst:2014 msgid "" ">>> 'spam, spam, spam'.find('sp')\n" "0\n" @@ -3941,11 +3943,11 @@ msgstr "" ">>> 'spam, spam, spam'.find('sp', 5)\n" "6" -#: ../../library/stdtypes.rst:2019 +#: ../../builtins/stdtypes.rst:2019 msgid "See also :meth:`rfind` and :meth:`index`." msgstr "Siehe auch :meth:`rfind` und :meth:`index`." -#: ../../library/stdtypes.rst:2023 +#: ../../builtins/stdtypes.rst:2023 msgid "" "The :meth:`~str.find` method should be used only if you need to know the " "position of *sub*. To check if *sub* is a substring or not, use the :" @@ -3955,7 +3957,7 @@ msgstr "" "von *sub* benötigt wird. Um zu prüfen, ob *sub* ein Teilstring ist oder " "nicht, verwende den Operator :keyword:`in`::" -#: ../../library/stdtypes.rst:2027 +#: ../../builtins/stdtypes.rst:2027 msgid "" ">>> 'Py' in 'Python'\n" "True" @@ -3963,7 +3965,7 @@ msgstr "" ">>> 'Py' in 'Python'\n" "True" -#: ../../library/stdtypes.rst:2033 +#: ../../builtins/stdtypes.rst:2033 msgid "" "Perform a string formatting operation. The string on which this method is " "called can contain literal text or replacement fields delimited by braces " @@ -3980,7 +3982,7 @@ msgstr "" "Kopie der Zeichenkette zurück, in der jedes Ersetzungsfeld durch den String-" "Wert des entsprechenden Arguments ersetzt wird. Zum Beispiel:" -#: ../../library/stdtypes.rst:2040 +#: ../../builtins/stdtypes.rst:2040 msgid "" ">>> \"The sum of 1 + 2 is {0}\".format(1+2)\n" "'The sum of 1 + 2 is 3'\n" @@ -3996,7 +3998,7 @@ msgstr "" ">>> \"{1} expects the {0} Inquisition!\".format(\"Spanish\", \"Nobody\")\n" "'Nobody expects the Spanish Inquisition!'" -#: ../../library/stdtypes.rst:2049 +#: ../../builtins/stdtypes.rst:2049 msgid "" "See :ref:`formatstrings` for a description of the various formatting options " "that can be specified in format strings." @@ -4004,7 +4006,7 @@ msgstr "" "Siehe :ref:`formatstrings` für eine Beschreibung der verschiedenen " "Formatierungsoptionen, die in Format-Strings angegeben werden können." -#: ../../library/stdtypes.rst:2053 +#: ../../builtins/stdtypes.rst:2053 msgid "" "When formatting a number (:class:`int`, :class:`float`, :class:`complex`, :" "class:`decimal.Decimal` and subclasses) with the ``n`` type (ex: ``'{:n}'." @@ -4023,7 +4025,7 @@ msgstr "" "von der Locale ``LC_CTYPE`` unterscheidet. Diese vorübergehende Änderung " "betrifft auch andere Threads." -#: ../../library/stdtypes.rst:2062 +#: ../../builtins/stdtypes.rst:2062 msgid "" "When formatting a number with the ``n`` type, the function sets temporarily " "the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` locale in some cases." @@ -4031,7 +4033,7 @@ msgstr "" "Beim Formatieren einer Zahl mit dem Typ ``n`` setzt die Funktion in einigen " "Fällen vorübergehend die Locale ``LC_CTYPE`` auf die Locale ``LC_NUMERIC``." -#: ../../library/stdtypes.rst:2070 +#: ../../builtins/stdtypes.rst:2070 msgid "" "Similar to ``str.format(**mapping)``, except that ``mapping`` is used " "directly and not copied to a :class:`dict`. This is useful if for example " @@ -4041,7 +4043,7 @@ msgstr "" "verwendet und nicht in ein :class:`dict` kopiert wird. Dies ist nützlich, " "wenn ``mapping`` beispielsweise eine Unterklasse von dict ist:" -#: ../../library/stdtypes.rst:2086 +#: ../../builtins/stdtypes.rst:2086 msgid "" "Like :meth:`~str.find`, but raise :exc:`ValueError` when the substring is " "not found. For example:" @@ -4049,7 +4051,7 @@ msgstr "" "Wie :meth:`~str.find`, löst jedoch einen :exc:`ValueError` aus, wenn der " "Teilstring nicht gefunden wird. Zum Beispiel:" -#: ../../library/stdtypes.rst:2089 +#: ../../builtins/stdtypes.rst:2089 msgid "" ">>> 'spam, spam, spam'.index('spam')\n" "0\n" @@ -4069,11 +4071,11 @@ msgstr "" " ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^\n" "ValueError: substring not found" -#: ../../library/stdtypes.rst:2100 +#: ../../builtins/stdtypes.rst:2100 msgid "See also :meth:`rindex`." msgstr "Siehe auch :meth:`rindex`." -#: ../../library/stdtypes.rst:2105 +#: ../../builtins/stdtypes.rst:2105 msgid "" "Return ``True`` if all characters in the string are alphanumeric and there " "is at least one character, ``False`` otherwise. A character ``c`` is " @@ -4086,7 +4088,7 @@ msgstr "" "isalpha()``, ``c.isdecimal()``, ``c.isdigit()`` oder ``c.isnumeric()``. Zum " "Beispiel:" -#: ../../library/stdtypes.rst:2110 +#: ../../builtins/stdtypes.rst:2110 msgid "" ">>> 'abc123'.isalnum()\n" "True\n" @@ -4106,7 +4108,7 @@ msgstr "" ">>> ' '.isalnum()\n" "False" -#: ../../library/stdtypes.rst:2124 +#: ../../builtins/stdtypes.rst:2124 msgid "" "Return ``True`` if all characters in the string are alphabetic and there is " "at least one character, ``False`` otherwise. Alphabetic characters are " @@ -4127,7 +4129,7 @@ msgstr "" "`_ unterscheidet. Zum Beispiel:" -#: ../../library/stdtypes.rst:2133 +#: ../../builtins/stdtypes.rst:2133 msgid "" ">>> 'Letters and spaces'.isalpha()\n" "False\n" @@ -4145,11 +4147,11 @@ msgstr "" "gelten\n" "True" -#: ../../library/stdtypes.rst:2142 +#: ../../builtins/stdtypes.rst:2142 msgid "See :ref:`unicode-properties`." msgstr "Siehe :ref:`unicode-properties`." -#: ../../library/stdtypes.rst:2147 +#: ../../builtins/stdtypes.rst:2147 msgid "" "Return ``True`` if the string is empty or all characters in the string are " "ASCII, ``False`` otherwise. ASCII characters have code points in the range " @@ -4159,7 +4161,7 @@ msgstr "" "ASCII sind, andernfalls ``False``. ASCII-Zeichen haben Codepunkte im Bereich " "U+0000-U+007F. Zum Beispiel:" -#: ../../library/stdtypes.rst:2151 +#: ../../builtins/stdtypes.rst:2151 msgid "" ">>> 'ASCII characters'.isascii()\n" "True\n" @@ -4171,7 +4173,7 @@ msgstr "" ">>> 'µ'.isascii()\n" "False" -#: ../../library/stdtypes.rst:2163 +#: ../../builtins/stdtypes.rst:2163 msgid "" "Return ``True`` if all characters in the string are decimal characters and " "there is at least one character, ``False`` otherwise. Decimal characters are " @@ -4186,7 +4188,7 @@ msgstr "" "Dezimalzeichen ein Zeichen in der allgemeinen Unicode-Kategorie \"Nd\". Zum " "Beispiel:" -#: ../../library/stdtypes.rst:2170 +#: ../../builtins/stdtypes.rst:2170 msgid "" ">>> '0123456789'.isdecimal()\n" "True\n" @@ -4202,7 +4204,7 @@ msgstr "" ">>> 'alphabetic'.isdecimal()\n" "False" -#: ../../library/stdtypes.rst:2182 +#: ../../builtins/stdtypes.rst:2182 msgid "" "Return ``True`` if all characters in the string are digits and there is at " "least one character, ``False`` otherwise. Digits include decimal characters " @@ -4221,18 +4223,18 @@ msgstr "" "Kharosthi#Numerals>`__. Formal ist eine Ziffer ein Zeichen mit dem " "Eigenschaftswert Numeric_Type=Digit oder Numeric_Type=Decimal." -#: ../../library/stdtypes.rst:2190 ../../library/stdtypes.rst:2271 -#: ../../library/stdtypes.rst:2288 ../../library/stdtypes.rst:2315 -#: ../../library/stdtypes.rst:2370 ../../library/stdtypes.rst:2443 -#: ../../library/stdtypes.rst:2554 ../../library/stdtypes.rst:2575 -#: ../../library/stdtypes.rst:2640 ../../library/stdtypes.rst:2661 -#: ../../library/stdtypes.rst:2675 ../../library/stdtypes.rst:2762 -#: ../../library/stdtypes.rst:2786 ../../library/stdtypes.rst:2800 -#: ../../library/stdtypes.rst:2907 +#: ../../builtins/stdtypes.rst:2190 ../../builtins/stdtypes.rst:2271 +#: ../../builtins/stdtypes.rst:2288 ../../builtins/stdtypes.rst:2315 +#: ../../builtins/stdtypes.rst:2370 ../../builtins/stdtypes.rst:2443 +#: ../../builtins/stdtypes.rst:2554 ../../builtins/stdtypes.rst:2575 +#: ../../builtins/stdtypes.rst:2640 ../../builtins/stdtypes.rst:2661 +#: ../../builtins/stdtypes.rst:2675 ../../builtins/stdtypes.rst:2762 +#: ../../builtins/stdtypes.rst:2786 ../../builtins/stdtypes.rst:2800 +#: ../../builtins/stdtypes.rst:2907 msgid "For example:" msgstr "Zum Beispiel:" -#: ../../library/stdtypes.rst:2192 +#: ../../builtins/stdtypes.rst:2192 msgid "" ">>> '0123456789'.isdigit()\n" "True\n" @@ -4252,11 +4254,11 @@ msgstr "" ">>> '²'.isdecimal(), '²'.isdigit(), '²'.isnumeric()\n" "(False, True, True)" -#: ../../library/stdtypes.rst:2203 +#: ../../builtins/stdtypes.rst:2203 msgid "See also :meth:`isdecimal` and :meth:`isnumeric`." msgstr "Siehe auch :meth:`isdecimal` und :meth:`isnumeric`." -#: ../../library/stdtypes.rst:2208 +#: ../../builtins/stdtypes.rst:2208 msgid "" "Return ``True`` if the string is a valid identifier according to the " "language definition, section :ref:`identifiers`." @@ -4264,7 +4266,7 @@ msgstr "" "Gibt ``True`` zurück, wenn der String ein gültiger Bezeichner gemäß der " "Sprachdefinition, Abschnitt :ref:`identifiers`, ist." -#: ../../library/stdtypes.rst:2211 +#: ../../builtins/stdtypes.rst:2211 msgid "" ":func:`keyword.iskeyword` can be used to test whether string ``s`` is a " "reserved identifier, such as :keyword:`def` and :keyword:`class`." @@ -4272,11 +4274,11 @@ msgstr "" "Mit :func:`keyword.iskeyword` kann getestet werden, ob der String ``s`` ein " "reservierter Bezeichner wie :keyword:`def` und :keyword:`class` ist." -#: ../../library/stdtypes.rst:2214 +#: ../../builtins/stdtypes.rst:2214 msgid "Example: ::" msgstr "Beispiel: ::" -#: ../../library/stdtypes.rst:2217 +#: ../../builtins/stdtypes.rst:2217 msgid "" ">>> from keyword import iskeyword\n" "\n" @@ -4292,7 +4294,7 @@ msgstr "" ">>> 'def'.isidentifier(), iskeyword('def')\n" "(True, True)" -#: ../../library/stdtypes.rst:2227 +#: ../../builtins/stdtypes.rst:2227 msgid "" "Return ``True`` if all cased characters [4]_ in the string are lowercase and " "there is at least one cased character, ``False`` otherwise." @@ -4301,7 +4303,7 @@ msgstr "" "String kleingeschrieben sind und mindestens ein Zeichen mit Groß-/" "Kleinschreibung vorhanden ist, andernfalls ``False``." -#: ../../library/stdtypes.rst:2233 +#: ../../builtins/stdtypes.rst:2233 msgid "" "Return ``True`` if all characters in the string are numeric characters, and " "there is at least one character, ``False`` otherwise. Numeric characters " @@ -4318,7 +4320,7 @@ msgstr "" "Eigenschaftswert Numeric_Type=Digit, Numeric_Type=Decimal oder " "Numeric_Type=Numeric." -#: ../../library/stdtypes.rst:2241 +#: ../../builtins/stdtypes.rst:2241 msgid "" ">>> '0123456789'.isnumeric()\n" "True\n" @@ -4338,11 +4340,11 @@ msgstr "" ">>> '²'.isdecimal(), '²'.isdigit(), '²'.isnumeric()\n" "(False, True, True)" -#: ../../library/stdtypes.rst:2252 +#: ../../builtins/stdtypes.rst:2252 msgid "See also :meth:`isdecimal` and :meth:`isdigit`." msgstr "Siehe auch :meth:`isdecimal` und :meth:`isdigit`." -#: ../../library/stdtypes.rst:2257 +#: ../../builtins/stdtypes.rst:2257 msgid "" "Return ``True`` if all characters in the string are printable, ``False`` if " "it contains at least one non-printable character." @@ -4350,7 +4352,7 @@ msgstr "" "Gibt ``True`` zurück, wenn alle Zeichen im String druckbar sind, ``False``, " "wenn er mindestens ein nicht druckbares Zeichen enthält." -#: ../../library/stdtypes.rst:2260 +#: ../../builtins/stdtypes.rst:2260 msgid "" "Here \"printable\" means the character is suitable for :func:`repr` to use " "in its output; \"non-printable\" means that :func:`repr` on built-in types " @@ -4363,7 +4365,7 @@ msgstr "" "keinen Einfluss auf die Behandlung von Strings, die in :data:`sys.stdout` " "oder :data:`sys.stderr` geschrieben werden." -#: ../../library/stdtypes.rst:2265 +#: ../../builtins/stdtypes.rst:2265 msgid "" "The printable characters are those which in the Unicode character database " "(see :mod:`unicodedata`) have a general category in group Letter, Mark, " @@ -4378,7 +4380,7 @@ msgstr "" "diejenigen in der Gruppe Trennzeichen oder Andere (Z oder C), mit Ausnahme " "des ASCII-Leerzeichens." -#: ../../library/stdtypes.rst:2273 +#: ../../builtins/stdtypes.rst:2273 msgid "" ">>> ''.isprintable(), ' '.isprintable()\n" "(True, True)\n" @@ -4390,11 +4392,11 @@ msgstr "" ">>> '\\t'.isprintable(), '\\n'.isprintable()\n" "(False, False)" -#: ../../library/stdtypes.rst:2280 +#: ../../builtins/stdtypes.rst:2280 msgid "See also :meth:`isspace`." msgstr "Siehe auch :meth:`isspace`." -#: ../../library/stdtypes.rst:2285 +#: ../../builtins/stdtypes.rst:2285 msgid "" "Return ``True`` if there are only whitespace characters in the string and " "there is at least one character, ``False`` otherwise." @@ -4402,7 +4404,7 @@ msgstr "" "Gibt ``True`` zurück, wenn der String nur Whitespace-Zeichen enthält und " "mindestens ein Zeichen vorhanden ist, andernfalls ``False``." -#: ../../library/stdtypes.rst:2290 +#: ../../builtins/stdtypes.rst:2290 msgid "" ">>> ''.isspace()\n" "False\n" @@ -4422,7 +4424,7 @@ msgstr "" ">>> '\\u3000'.isspace() # IDEOGRAPHIC SPACE\n" "True" -#: ../../library/stdtypes.rst:2301 +#: ../../builtins/stdtypes.rst:2301 msgid "" "A character is *whitespace* if in the Unicode character database (see :mod:" "`unicodedata`), either its general category is ``Zs`` (\"Separator, " @@ -4433,11 +4435,11 @@ msgstr "" "space\") ist oder seine bidirektionale Klasse eine von ``WS``, ``B`` oder " "``S`` ist." -#: ../../library/stdtypes.rst:2306 +#: ../../builtins/stdtypes.rst:2306 msgid "See also :meth:`isprintable`." msgstr "Siehe auch :meth:`isprintable`." -#: ../../library/stdtypes.rst:2311 +#: ../../builtins/stdtypes.rst:2311 msgid "" "Return ``True`` if the string is a titlecased string and there is at least " "one character, for example uppercase characters may only follow uncased " @@ -4449,7 +4451,7 @@ msgstr "" "Zeichen ohne Groß-/Kleinschreibung folgen und Kleinbuchstaben nur auf solche " "mit Groß-/Kleinschreibung. Gibt andernfalls ``False`` zurück." -#: ../../library/stdtypes.rst:2317 +#: ../../builtins/stdtypes.rst:2317 msgid "" ">>> 'Spam, Spam, Spam'.istitle()\n" "True\n" @@ -4465,11 +4467,11 @@ msgstr "" ">>> 'SPAM, SPAM, SPAM'.istitle()\n" "False" -#: ../../library/stdtypes.rst:2326 +#: ../../builtins/stdtypes.rst:2326 msgid "See also :meth:`title`." msgstr "Siehe auch :meth:`title`." -#: ../../library/stdtypes.rst:2331 +#: ../../builtins/stdtypes.rst:2331 msgid "" "Return ``True`` if all cased characters [4]_ in the string are uppercase and " "there is at least one cased character, ``False`` otherwise." @@ -4478,7 +4480,7 @@ msgstr "" "String großgeschrieben sind und mindestens ein Zeichen mit Groß-/" "Kleinschreibung vorhanden ist, andernfalls ``False``." -#: ../../library/stdtypes.rst:2349 +#: ../../builtins/stdtypes.rst:2349 msgid "" "Return a string which is the concatenation of the strings in *iterable*. A :" "exc:`TypeError` will be raised if there are any non-string values in " @@ -4491,7 +4493,7 @@ msgstr "" "Trennzeichen zwischen den Elementen ist der String, der diese Methode " "bereitstellt." -#: ../../library/stdtypes.rst:2354 +#: ../../builtins/stdtypes.rst:2354 msgid "" ">>> ', '.join(['spam', 'spam', 'spam'])\n" "'spam, spam, spam'\n" @@ -4503,11 +4505,11 @@ msgstr "" ">>> '-'.join('Python')\n" "'P-y-t-h-o-n'" -#: ../../library/stdtypes.rst:2361 +#: ../../builtins/stdtypes.rst:2361 msgid "See also :meth:`split`." msgstr "Siehe auch :meth:`split`." -#: ../../library/stdtypes.rst:2366 +#: ../../builtins/stdtypes.rst:2366 msgid "" "Return the string left justified in a string of length *width*. Padding is " "done using the specified *fillchar* (default is an ASCII space). The " @@ -4518,7 +4520,7 @@ msgstr "" "Leerzeichen). Der ursprüngliche String wird zurückgegeben, wenn *width* " "kleiner oder gleich ``len(s)`` ist." -#: ../../library/stdtypes.rst:2372 +#: ../../builtins/stdtypes.rst:2372 msgid "" ">>> 'Python'.ljust(10)\n" "'Python '\n" @@ -4534,11 +4536,11 @@ msgstr "" ">>> 'Monty Python'.ljust(10, '.')\n" "'Monty Python'" -#: ../../library/stdtypes.rst:2381 ../../library/stdtypes.rst:2916 +#: ../../builtins/stdtypes.rst:2381 ../../builtins/stdtypes.rst:2916 msgid "See also :meth:`rjust`." msgstr "Siehe auch :meth:`rjust`." -#: ../../library/stdtypes.rst:2386 +#: ../../builtins/stdtypes.rst:2386 msgid "" "Return a copy of the string with all the cased characters [4]_ converted to " "lowercase. For example:" @@ -4546,7 +4548,7 @@ msgstr "" "Gibt eine Kopie des Strings zurück, bei der alle Zeichen mit Groß-/" "Kleinschreibung [4]_ in Kleinbuchstaben umgewandelt wurden. Zum Beispiel:" -#: ../../library/stdtypes.rst:2389 +#: ../../builtins/stdtypes.rst:2389 msgid "" ">>> 'Lower Method Example'.lower()\n" "'lower method example'" @@ -4554,7 +4556,7 @@ msgstr "" ">>> 'Lower Method Example'.lower()\n" "'lower method example'" -#: ../../library/stdtypes.rst:2394 +#: ../../builtins/stdtypes.rst:2394 msgid "" "The lowercasing algorithm used is `described in section 3.13 'Default Case " "Folding' of the Unicode Standard `__ beschrieben." -#: ../../library/stdtypes.rst:2401 +#: ../../builtins/stdtypes.rst:2401 msgid "" "Return a copy of the string with leading characters removed. The *chars* " "argument is a string specifying the set of characters to be removed. If " @@ -4579,7 +4581,7 @@ msgstr "" "*chars* ist kein Präfix; vielmehr werden alle Kombinationen seiner Werte " "abgeschnitten::" -#: ../../library/stdtypes.rst:2406 +#: ../../builtins/stdtypes.rst:2406 msgid "" ">>> ' spacious '.lstrip()\n" "'spacious '\n" @@ -4591,7 +4593,7 @@ msgstr "" ">>> 'www.example.com'.lstrip('cmowz.')\n" "'example.com'" -#: ../../library/stdtypes.rst:2411 +#: ../../builtins/stdtypes.rst:2411 msgid "" "See :meth:`str.removeprefix` for a method that will remove a single prefix " "string rather than all of a set of characters. For example::" @@ -4599,7 +4601,7 @@ msgstr "" "Siehe :meth:`str.removeprefix` für eine Methode, die einen einzelnen Präfix-" "String anstelle einer Menge aller Zeichen entfernt. Zum Beispiel::" -#: ../../library/stdtypes.rst:2414 +#: ../../builtins/stdtypes.rst:2414 msgid "" ">>> 'Arthur: three!'.lstrip('Arthur: ')\n" "'ee!'\n" @@ -4611,7 +4613,7 @@ msgstr "" ">>> 'Arthur: three!'.removeprefix('Arthur: ')\n" "'three!'" -#: ../../library/stdtypes.rst:2423 +#: ../../builtins/stdtypes.rst:2423 msgid "" "This static method returns a translation table usable for :meth:`str." "translate`." @@ -4619,7 +4621,7 @@ msgstr "" "Diese statische Methode gibt eine Übersetzungstabelle zurück, die für :meth:" "`str.translate` verwendet werden kann." -#: ../../library/stdtypes.rst:2425 +#: ../../builtins/stdtypes.rst:2425 msgid "" "If there is only one argument, it must be a dictionary mapping Unicode " "ordinals (integers) or characters (strings of length 1) to Unicode ordinals, " @@ -4631,7 +4633,7 @@ msgstr "" "Ordinalzahlen, Strings (beliebiger Länge) oder ``None`` abbildet. " "Zeichenschlüssel werden anschließend in Ordinalzahlen umgewandelt." -#: ../../library/stdtypes.rst:2430 +#: ../../builtins/stdtypes.rst:2430 msgid "" "If there are two arguments, they must be strings of equal length, and in the " "resulting dictionary, each character in *from* will be mapped to the " @@ -4644,7 +4646,7 @@ msgstr "" "muss dieses ein String sein, dessen Zeichen im Ergebnis auf ``None`` " "abgebildet werden." -#: ../../library/stdtypes.rst:2438 +#: ../../builtins/stdtypes.rst:2438 msgid "" "Split the string at the first occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself, and the part " @@ -4657,7 +4659,7 @@ msgstr "" "wird, wird ein 3-Tupel zurückgegeben, das den String selbst enthält, gefolgt " "von zwei leeren Strings." -#: ../../library/stdtypes.rst:2445 +#: ../../builtins/stdtypes.rst:2445 msgid "" ">>> 'Monty Python'.partition(' ')\n" "('Monty', ' ', 'Python')\n" @@ -4673,11 +4675,11 @@ msgstr "" ">>> 'Monty Python'.partition('-')\n" "('Monty Python', '', '')" -#: ../../library/stdtypes.rst:2454 +#: ../../builtins/stdtypes.rst:2454 msgid "See also :meth:`rpartition`." msgstr "Siehe auch :meth:`rpartition`." -#: ../../library/stdtypes.rst:2459 +#: ../../builtins/stdtypes.rst:2459 msgid "" "If the string starts with the *prefix* string, return " "``string[len(prefix):]``. Otherwise, return a copy of the original string:" @@ -4686,7 +4688,7 @@ msgstr "" "``string[len(prefix):]`` zurückgegeben. Andernfalls wird eine Kopie des " "ursprünglichen Strings zurückgegeben:" -#: ../../library/stdtypes.rst:2463 +#: ../../builtins/stdtypes.rst:2463 msgid "" ">>> 'TestHook'.removeprefix('Test')\n" "'Hook'\n" @@ -4698,11 +4700,11 @@ msgstr "" ">>> 'BaseTestCase'.removeprefix('Test')\n" "'BaseTestCase'" -#: ../../library/stdtypes.rst:2472 +#: ../../builtins/stdtypes.rst:2472 msgid "See also :meth:`removesuffix` and :meth:`startswith`." msgstr "Siehe auch :meth:`removesuffix` und :meth:`startswith`." -#: ../../library/stdtypes.rst:2477 +#: ../../builtins/stdtypes.rst:2477 msgid "" "If the string ends with the *suffix* string and that *suffix* is not empty, " "return ``string[:-len(suffix)]``. Otherwise, return a copy of the original " @@ -4712,7 +4714,7 @@ msgstr "" "nicht leer ist, wird ``string[:-len(suffix)]`` zurückgegeben. Andernfalls " "wird eine Kopie des ursprünglichen Strings zurückgegeben:" -#: ../../library/stdtypes.rst:2481 +#: ../../builtins/stdtypes.rst:2481 msgid "" ">>> 'MiscTests'.removesuffix('Tests')\n" "'Misc'\n" @@ -4724,11 +4726,11 @@ msgstr "" ">>> 'TmpDirMixin'.removesuffix('Tests')\n" "'TmpDirMixin'" -#: ../../library/stdtypes.rst:2490 +#: ../../builtins/stdtypes.rst:2490 msgid "See also :meth:`removeprefix` and :meth:`endswith`." msgstr "Siehe auch :meth:`removeprefix` und :meth:`endswith`." -#: ../../library/stdtypes.rst:2495 +#: ../../builtins/stdtypes.rst:2495 msgid "" "Return a copy of the string with all occurrences of substring *old* replaced " "by *new*. If *count* is given, only the first *count* occurrences are " @@ -4740,7 +4742,7 @@ msgstr "" "ersten *count* Vorkommen ersetzt. Wenn *count* nicht angegeben oder ``-1`` " "ist, werden alle Vorkommen ersetzt. Zum Beispiel:" -#: ../../library/stdtypes.rst:2500 +#: ../../builtins/stdtypes.rst:2500 msgid "" ">>> 'spam, spam, spam'.replace('spam', 'eggs')\n" "'eggs, eggs, eggs'\n" @@ -4752,11 +4754,11 @@ msgstr "" ">>> 'spam, spam, spam'.replace('spam', 'eggs', 1)\n" "'eggs, spam, spam'" -#: ../../library/stdtypes.rst:2507 +#: ../../builtins/stdtypes.rst:2507 msgid "*count* is now supported as a keyword argument." msgstr "*count* wird nun als Schlüsselwort-Argument unterstützt." -#: ../../library/stdtypes.rst:2513 +#: ../../builtins/stdtypes.rst:2513 msgid "" "Return the highest index in the string where substring *sub* is found, such " "that *sub* is contained within ``s[start:end]``. Optional arguments *start* " @@ -4768,7 +4770,7 @@ msgstr "" "Die optionalen Argumente *start* und *end* werden wie in der Slice-Notation " "interpretiert. Gibt im Fehlerfall ``-1`` zurück. Zum Beipiel:" -#: ../../library/stdtypes.rst:2518 +#: ../../builtins/stdtypes.rst:2518 msgid "" ">>> 'spam, spam, spam'.rfind('sp')\n" "12\n" @@ -4780,11 +4782,11 @@ msgstr "" ">>> 'spam, spam, spam'.rfind('sp', 0, 10)\n" "6" -#: ../../library/stdtypes.rst:2525 +#: ../../builtins/stdtypes.rst:2525 msgid "See also :meth:`find` and :meth:`rindex`." msgstr "Siehe auch :meth:`find` und :meth:`rindex`." -#: ../../library/stdtypes.rst:2530 +#: ../../builtins/stdtypes.rst:2530 msgid "" "Like :meth:`rfind` but raises :exc:`ValueError` when the substring *sub* is " "not found. For example:" @@ -4792,7 +4794,7 @@ msgstr "" "Wie :meth:`rfind`, löst jedoch einen :exc:`ValueError` aus, wenn der " "Teilstring *sub* nicht gefunden wird. Zum Beipsiel:" -#: ../../library/stdtypes.rst:2534 +#: ../../builtins/stdtypes.rst:2534 msgid "" ">>> 'spam, spam, spam'.rindex('spam')\n" "12\n" @@ -4812,11 +4814,11 @@ msgstr "" " ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^\n" "ValueError: substring not found" -#: ../../library/stdtypes.rst:2545 +#: ../../builtins/stdtypes.rst:2545 msgid "See also :meth:`index` and :meth:`find`." msgstr "Siehe auch :meth:`index` und :meth:`find`." -#: ../../library/stdtypes.rst:2550 +#: ../../builtins/stdtypes.rst:2550 msgid "" "Return the string right justified in a string of length *width*. Padding is " "done using the specified *fillchar* (default is an ASCII space). The " @@ -4827,7 +4829,7 @@ msgstr "" "Leerzeichen). Der ursprüngliche String wird zurückgegeben, wenn *width* " "kleiner oder gleich ``len(s)`` ist." -#: ../../library/stdtypes.rst:2556 +#: ../../builtins/stdtypes.rst:2556 msgid "" ">>> 'Python'.rjust(10)\n" "' Python'\n" @@ -4843,11 +4845,11 @@ msgstr "" ">>> 'Monty Python'.rjust(10, '.')\n" "'Monty Python'" -#: ../../library/stdtypes.rst:2565 +#: ../../builtins/stdtypes.rst:2565 msgid "See also :meth:`ljust` and :meth:`zfill`." msgstr "Siehe auch :meth:`ljust` und :meth:`zfill`." -#: ../../library/stdtypes.rst:2570 +#: ../../builtins/stdtypes.rst:2570 msgid "" "Split the string at the last occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself, and the part " @@ -4860,7 +4862,7 @@ msgstr "" "wird, wird ein 3-Tupel zurückgegeben, das zwei leere Strings enthält, " "gefolgt von dem String selbst." -#: ../../library/stdtypes.rst:2577 +#: ../../builtins/stdtypes.rst:2577 msgid "" ">>> 'Monty Python'.rpartition(' ')\n" "('Monty', ' ', 'Python')\n" @@ -4876,11 +4878,11 @@ msgstr "" ">>> 'Monty Python'.rpartition('-')\n" "('', '', 'Monty Python')" -#: ../../library/stdtypes.rst:2586 +#: ../../builtins/stdtypes.rst:2586 msgid "See also :meth:`partition`." msgstr "Siehe auch :meth:`partition`." -#: ../../library/stdtypes.rst:2591 +#: ../../builtins/stdtypes.rst:2591 msgid "" "Return a list of the words in the string, using *sep* as the delimiter " "string. If *maxsplit* is given, at most *maxsplit* splits are done, the " @@ -4897,7 +4899,7 @@ msgstr "" "dass von rechts aufgeteilt wird, verhält sich :meth:`rsplit` wie :meth:" "`split`, was weiter unten im Detail beschrieben wird." -#: ../../library/stdtypes.rst:2601 +#: ../../builtins/stdtypes.rst:2601 msgid "" "Return a copy of the string with trailing characters removed. The *chars* " "argument is a string specifying the set of characters to be removed. If " @@ -4912,7 +4914,7 @@ msgstr "" "ist kein Suffix; stattdessen werden alle Kombinationen seiner Werte " "entfernt. Zum Beispiel:" -#: ../../library/stdtypes.rst:2607 +#: ../../builtins/stdtypes.rst:2607 msgid "" ">>> ' spacious '.rstrip()\n" "' spacious'\n" @@ -4924,7 +4926,7 @@ msgstr "" ">>> 'mississippi'.rstrip('ipz')\n" "'mississ'" -#: ../../library/stdtypes.rst:2614 +#: ../../builtins/stdtypes.rst:2614 msgid "" "See :meth:`removesuffix` for a method that will remove a single suffix " "string rather than all of a set of characters. For example::" @@ -4932,7 +4934,7 @@ msgstr "" "Siehe :meth:`removesuffix` für eine Methode, die einen einzelnen Suffix-" "String anstelle einer Menge aller Zeichen entfernt. Zum Beispiel::" -#: ../../library/stdtypes.rst:2617 +#: ../../builtins/stdtypes.rst:2617 msgid "" ">>> 'Monty Python'.rstrip(' Python')\n" "'M'\n" @@ -4944,11 +4946,11 @@ msgstr "" ">>> 'Monty Python'.removesuffix(' Python')\n" "'Monty'" -#: ../../library/stdtypes.rst:2622 +#: ../../builtins/stdtypes.rst:2622 msgid "See also :meth:`strip`." msgstr "Siehe auch :meth:`strip`." -#: ../../library/stdtypes.rst:2627 +#: ../../builtins/stdtypes.rst:2627 msgid "" "Return a list of the words in the string, using *sep* as the delimiter " "string. If *maxsplit* is given, at most *maxsplit* splits are done (thus, " @@ -4963,7 +4965,7 @@ msgstr "" "Begrenzung für die Anzahl der Trennungen (alle möglichen Trennungen werden " "vorgenommen)." -#: ../../library/stdtypes.rst:2633 +#: ../../builtins/stdtypes.rst:2633 msgid "" "If *sep* is given, consecutive delimiters are not grouped together and are " "deemed to delimit empty strings (for example, ``'1,,2'.split(',')`` returns " @@ -4979,7 +4981,7 @@ msgstr "" "mehrerer Trennzeichen zu teilen, verwende :func:`re.split`). Das Teilen " "eines leeren Strings mit einem angegebenen Trennzeichen gibt ``['']`` zurück." -#: ../../library/stdtypes.rst:2642 +#: ../../builtins/stdtypes.rst:2642 msgid "" ">>> '1,2,3'.split(',')\n" "['1', '2', '3']\n" @@ -4999,7 +5001,7 @@ msgstr "" ">>> '1<>2<>3<4'.split('<>')\n" "['1', '2', '3<4']" -#: ../../library/stdtypes.rst:2653 +#: ../../builtins/stdtypes.rst:2653 msgid "" "If *sep* is not specified or is ``None``, a different splitting algorithm is " "applied: runs of consecutive :meth:`whitespace ` are regarded " @@ -5017,7 +5019,7 @@ msgstr "" "Zeichenkette, die nur aus Whitespace besteht, mit einem ``None``-" "Trennzeichen ``[]`` zurück." -#: ../../library/stdtypes.rst:2663 +#: ../../builtins/stdtypes.rst:2663 msgid "" ">>> '1 2 3'.split()\n" "['1', '2', '3']\n" @@ -5033,7 +5035,7 @@ msgstr "" ">>> ' 1 2 3 '.split()\n" "['1', '2', '3']" -#: ../../library/stdtypes.rst:2672 +#: ../../builtins/stdtypes.rst:2672 msgid "" "If *sep* is not specified or is ``None`` and *maxsplit* is ``0``, only " "leading runs of consecutive whitespace are considered." @@ -5042,7 +5044,7 @@ msgstr "" "ist, werden nur führende Folgen aufeinanderfolgender Whitespaces " "berücksichtigt." -#: ../../library/stdtypes.rst:2677 +#: ../../builtins/stdtypes.rst:2677 msgid "" ">>> \"\".split(None, 0)\n" "[]\n" @@ -5058,11 +5060,11 @@ msgstr "" ">>> \" foo \".split(maxsplit=0)\n" "['foo ']" -#: ../../library/stdtypes.rst:2686 +#: ../../builtins/stdtypes.rst:2686 msgid "See also :meth:`join` and :meth:`rsplit`." msgstr "See also :meth:`join` and :meth:`rsplit`." -#: ../../library/stdtypes.rst:2694 +#: ../../builtins/stdtypes.rst:2694 msgid "" "Return a list of the lines in the string, breaking at line boundaries. Line " "breaks are not included in the resulting list unless *keepends* is given and " @@ -5072,7 +5074,7 @@ msgstr "" "Zeilenbegrenzungen. Zeilenumbrüche sind nicht in der Ergebnisliste " "enthalten, es sei denn, *keepends* ist angegeben und wahr." -#: ../../library/stdtypes.rst:2698 +#: ../../builtins/stdtypes.rst:2698 msgid "" "This method splits on the following line boundaries. In particular, the " "boundaries are a superset of :term:`universal newlines`." @@ -5081,119 +5083,119 @@ msgstr "" "die Begrenzungen eine Obermenge von :term:`universellen Zeilenenden " "`." -#: ../../library/stdtypes.rst:2702 +#: ../../builtins/stdtypes.rst:2702 msgid "Representation" msgstr "Darstellung" -#: ../../library/stdtypes.rst:2702 +#: ../../builtins/stdtypes.rst:2702 msgid "Description" msgstr "Beschreibung" -#: ../../library/stdtypes.rst:2704 +#: ../../builtins/stdtypes.rst:2704 msgid "``\\n``" msgstr "``\\n``" -#: ../../library/stdtypes.rst:2704 +#: ../../builtins/stdtypes.rst:2704 msgid "Line Feed" msgstr "Zeilenvorschub (Line Feed)" -#: ../../library/stdtypes.rst:2706 +#: ../../builtins/stdtypes.rst:2706 msgid "``\\r``" msgstr "``\\r``" -#: ../../library/stdtypes.rst:2706 +#: ../../builtins/stdtypes.rst:2706 msgid "Carriage Return" msgstr "Wagenrücklauf (Carriage Return)" -#: ../../library/stdtypes.rst:2708 +#: ../../builtins/stdtypes.rst:2708 msgid "``\\r\\n``" msgstr "``\\r\\n``" -#: ../../library/stdtypes.rst:2708 +#: ../../builtins/stdtypes.rst:2708 msgid "Carriage Return + Line Feed" msgstr "Wagenrücklauf + Zeilenvorschub" -#: ../../library/stdtypes.rst:2710 +#: ../../builtins/stdtypes.rst:2710 msgid "``\\v`` or ``\\x0b``" msgstr "``\\v`` oder ``\\x0b``" -#: ../../library/stdtypes.rst:2710 +#: ../../builtins/stdtypes.rst:2710 msgid "Line Tabulation" msgstr "Vertikaler Tabulator (Line Tabulation)" -#: ../../library/stdtypes.rst:2712 +#: ../../builtins/stdtypes.rst:2712 msgid "``\\f`` or ``\\x0c``" msgstr "``\\f`` oder ``\\x0c``" -#: ../../library/stdtypes.rst:2712 +#: ../../builtins/stdtypes.rst:2712 msgid "Form Feed" msgstr "Seitenvorschub (Form Feed)" -#: ../../library/stdtypes.rst:2714 +#: ../../builtins/stdtypes.rst:2714 msgid "``\\x1c``" msgstr "``\\x1c``" -#: ../../library/stdtypes.rst:2714 +#: ../../builtins/stdtypes.rst:2714 msgid "File Separator" msgstr "Dateitrennzeichen (File Separator)" -#: ../../library/stdtypes.rst:2716 +#: ../../builtins/stdtypes.rst:2716 msgid "``\\x1d``" msgstr "``\\x1d``" -#: ../../library/stdtypes.rst:2716 +#: ../../builtins/stdtypes.rst:2716 msgid "Group Separator" msgstr "Gruppentrennzeichen (Group Separator)" -#: ../../library/stdtypes.rst:2718 +#: ../../builtins/stdtypes.rst:2718 msgid "``\\x1e``" msgstr "``\\x1e``" -#: ../../library/stdtypes.rst:2718 +#: ../../builtins/stdtypes.rst:2718 msgid "Record Separator" msgstr "Datensatztrennzeichen (Record Separator)" -#: ../../library/stdtypes.rst:2720 +#: ../../builtins/stdtypes.rst:2720 msgid "``\\x85``" msgstr "``\\x85``" -#: ../../library/stdtypes.rst:2720 +#: ../../builtins/stdtypes.rst:2720 msgid "Next Line (C1 Control Code)" msgstr "Nächste Zeile (C1-Steuercode)" -#: ../../library/stdtypes.rst:2722 +#: ../../builtins/stdtypes.rst:2722 msgid "``\\u2028``" msgstr "``\\u2028``" -#: ../../library/stdtypes.rst:2722 +#: ../../builtins/stdtypes.rst:2722 msgid "Line Separator" msgstr "Zeilentrennzeichen (Line Separator)" -#: ../../library/stdtypes.rst:2724 +#: ../../builtins/stdtypes.rst:2724 msgid "``\\u2029``" msgstr "``\\u2029``" -#: ../../library/stdtypes.rst:2724 +#: ../../builtins/stdtypes.rst:2724 msgid "Paragraph Separator" msgstr "Absatztrennzeichen (Paragraph Separator)" -#: ../../library/stdtypes.rst:2729 +#: ../../builtins/stdtypes.rst:2729 msgid "``\\v`` and ``\\f`` added to list of line boundaries." msgstr "``\\v`` und ``\\f`` zur Liste der Zeilenbegrenzungen hinzugefügt." -#: ../../library/stdtypes.rst:2731 ../../library/stdtypes.rst:2837 -#: ../../library/stdtypes.rst:3006 ../../library/stdtypes.rst:3984 -#: ../../library/stdtypes.rst:4003 ../../library/stdtypes.rst:4094 -#: ../../library/stdtypes.rst:4110 ../../library/stdtypes.rst:4135 -#: ../../library/stdtypes.rst:4149 ../../library/stdtypes.rst:4177 -#: ../../library/stdtypes.rst:4191 ../../library/stdtypes.rst:4209 -#: ../../library/stdtypes.rst:4236 ../../library/stdtypes.rst:4259 -#: ../../library/stdtypes.rst:4286 ../../library/stdtypes.rst:4328 -#: ../../library/stdtypes.rst:4352 +#: ../../builtins/stdtypes.rst:2731 ../../builtins/stdtypes.rst:2837 +#: ../../builtins/stdtypes.rst:3006 ../../builtins/stdtypes.rst:3984 +#: ../../builtins/stdtypes.rst:4003 ../../builtins/stdtypes.rst:4094 +#: ../../builtins/stdtypes.rst:4110 ../../builtins/stdtypes.rst:4135 +#: ../../builtins/stdtypes.rst:4149 ../../builtins/stdtypes.rst:4177 +#: ../../builtins/stdtypes.rst:4191 ../../builtins/stdtypes.rst:4209 +#: ../../builtins/stdtypes.rst:4236 ../../builtins/stdtypes.rst:4259 +#: ../../builtins/stdtypes.rst:4286 ../../builtins/stdtypes.rst:4328 +#: ../../builtins/stdtypes.rst:4352 msgid "For example::" msgstr "Zum Beispiel::" -#: ../../library/stdtypes.rst:2733 +#: ../../builtins/stdtypes.rst:2733 msgid "" ">>> 'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines()\n" "['ab c', '', 'de fg', 'kl']\n" @@ -5205,7 +5207,7 @@ msgstr "" ">>> 'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines(keepends=True)\n" "['ab c\\n', '\\n', 'de fg\\r', 'kl\\r\\n']" -#: ../../library/stdtypes.rst:2738 +#: ../../builtins/stdtypes.rst:2738 msgid "" "Unlike :meth:`~str.split` when a delimiter string *sep* is given, this " "method returns an empty list for the empty string, and a terminal line break " @@ -5215,7 +5217,7 @@ msgstr "" "ist, gibt diese Methode für den leeren String eine leere Liste zurück, und " "ein abschließender Zeilenumbruch führt nicht zu einer zusätzlichen Zeile::" -#: ../../library/stdtypes.rst:2742 +#: ../../builtins/stdtypes.rst:2742 msgid "" ">>> \"\".splitlines()\n" "[]\n" @@ -5227,11 +5229,11 @@ msgstr "" ">>> \"One line\\n\".splitlines()\n" "['One line']" -#: ../../library/stdtypes.rst:2747 +#: ../../builtins/stdtypes.rst:2747 msgid "For comparison, ``split('\\n')`` gives::" msgstr "Zum Vergleich liefert ``split('\\n')``::" -#: ../../library/stdtypes.rst:2749 +#: ../../builtins/stdtypes.rst:2749 msgid "" ">>> ''.split('\\n')\n" "['']\n" @@ -5243,7 +5245,7 @@ msgstr "" ">>> 'Two lines\\n'.split('\\n')\n" "['Two lines', '']" -#: ../../library/stdtypes.rst:2757 +#: ../../builtins/stdtypes.rst:2757 msgid "" "Return ``True`` if string starts with the *prefix*, otherwise return " "``False``. *prefix* can also be a tuple of prefixes to look for. With " @@ -5255,7 +5257,7 @@ msgstr "" "optionalem *start* wird der String ab dieser Position geprüft. Mit " "optionalem *end* wird der Vergleich an dieser Position beendet." -#: ../../library/stdtypes.rst:2764 +#: ../../builtins/stdtypes.rst:2764 msgid "" ">>> 'Python'.startswith('Py')\n" "True\n" @@ -5271,11 +5273,11 @@ msgstr "" ">>> 'Python is amazing'.startswith('is', 7)\n" "True" -#: ../../library/stdtypes.rst:2773 +#: ../../builtins/stdtypes.rst:2773 msgid "See also :meth:`endswith` and :meth:`removeprefix`." msgstr "Siehe auch :meth:`endswith` und :meth:`removeprefix`." -#: ../../library/stdtypes.rst:2778 +#: ../../builtins/stdtypes.rst:2778 msgid "" "Return a copy of the string with the leading and trailing characters " "removed. The *chars* argument is a string specifying the set of characters " @@ -5290,11 +5292,11 @@ msgstr "" "Whitespace. Das Argument chars ist kein Präfix oder Suffix; stattdessen " "werden alle Kombinationen seiner Werte entfernt." -#: ../../library/stdtypes.rst:2784 +#: ../../builtins/stdtypes.rst:2784 msgid "Whitespace characters are defined by :meth:`str.isspace`." msgstr "Whitespace-Zeichen werden durch :meth:`str.isspace` definiert." -#: ../../library/stdtypes.rst:2788 +#: ../../builtins/stdtypes.rst:2788 msgid "" ">>> ' spacious '.strip()\n" "'spacious'\n" @@ -5306,7 +5308,7 @@ msgstr "" ">>> 'www.example.com'.strip('cmowz.')\n" "'example'" -#: ../../library/stdtypes.rst:2795 +#: ../../builtins/stdtypes.rst:2795 msgid "" "The outermost leading and trailing *chars* argument values are stripped from " "the string. Characters are removed from the leading end until reaching a " @@ -5319,7 +5321,7 @@ msgstr "" "enthalten ist. Ein entsprechender Vorgang findet am nachgestellten Ende " "statt." -#: ../../library/stdtypes.rst:2802 +#: ../../builtins/stdtypes.rst:2802 msgid "" ">>> comment_string = '#....... Section 3.2.1 Issue #32 .......'\n" ">>> comment_string.strip('.#! ')\n" @@ -5329,11 +5331,11 @@ msgstr "" ">>> comment_string.strip('.#! ')\n" "'Section 3.2.1 Issue #32'" -#: ../../library/stdtypes.rst:2808 +#: ../../builtins/stdtypes.rst:2808 msgid "See also :meth:`rstrip`." msgstr "Siehe auch :meth:`rstrip`." -#: ../../library/stdtypes.rst:2813 +#: ../../builtins/stdtypes.rst:2813 msgid "" "Return a copy of the string with uppercase characters converted to lowercase " "and vice versa. For example:" @@ -5341,7 +5343,7 @@ msgstr "" "Gibt eine Kopie der Zeichenkette zurück, bei der Großbuchstaben in " "Kleinbuchstaben umgewandelt werden und umgekehrt. Zum Beispiel:" -#: ../../library/stdtypes.rst:2816 +#: ../../builtins/stdtypes.rst:2816 msgid "" ">>> 'Hello World'.swapcase()\n" "'hELLO wORLD'" @@ -5349,7 +5351,7 @@ msgstr "" ">>> 'Hello World'.swapcase()\n" "'hELLO wORLD'" -#: ../../library/stdtypes.rst:2821 +#: ../../builtins/stdtypes.rst:2821 msgid "" "Note that it is not necessarily true that ``s.swapcase().swapcase() == s``. " "For example:" @@ -5357,7 +5359,7 @@ msgstr "" "Beachte, dass es nicht zwangsläufig zutrifft, dass s.swapcase().swapcase() " "== s gilt. Zum Beispiel:" -#: ../../library/stdtypes.rst:2824 +#: ../../builtins/stdtypes.rst:2824 msgid "" ">>> 'straße'.swapcase().swapcase()\n" "'strasse'" @@ -5365,11 +5367,11 @@ msgstr "" ">>> 'straße'.swapcase().swapcase()\n" "'strasse'" -#: ../../library/stdtypes.rst:2829 +#: ../../builtins/stdtypes.rst:2829 msgid "See also :meth:`str.lower` and :meth:`str.upper`." msgstr "Siehe auch :meth:`str.lower` und :meth:`str.upper`." -#: ../../library/stdtypes.rst:2834 +#: ../../builtins/stdtypes.rst:2834 msgid "" "Return a titlecased version of the string where words start with an " "uppercase character and the remaining characters are lowercase." @@ -5377,7 +5379,7 @@ msgstr "" "Gibt eine Titlecase-Version des Strings zurück, bei der Wörter mit einem " "Großbuchstaben beginnen und die restlichen Zeichen kleingeschrieben sind." -#: ../../library/stdtypes.rst:2839 +#: ../../builtins/stdtypes.rst:2839 msgid "" ">>> 'Hello world'.title()\n" "'Hello World'" @@ -5385,7 +5387,7 @@ msgstr "" ">>> 'Hello world'.title()\n" "'Hello World'" -#: ../../library/stdtypes.rst:2842 ../../library/stdtypes.rst:4296 +#: ../../builtins/stdtypes.rst:2842 ../../builtins/stdtypes.rst:4296 msgid "" "The algorithm uses a simple language-independent definition of a word as " "groups of consecutive letters. The definition works in many contexts but it " @@ -5398,7 +5400,7 @@ msgstr "" "Verkürzungen und Possessivformen Wortgrenzen bilden, was möglicherweise " "nicht das gewünschte Ergebnis ist::" -#: ../../library/stdtypes.rst:2847 +#: ../../builtins/stdtypes.rst:2847 msgid "" ">>> \"they're bill's friends from the UK\".title()\n" "\"They'Re Bill'S Friends From The Uk\"" @@ -5406,7 +5408,7 @@ msgstr "" ">>> \"they're bill's friends from the UK\".title()\n" "\"They'Re Bill'S Friends From The Uk\"" -#: ../../library/stdtypes.rst:2850 +#: ../../builtins/stdtypes.rst:2850 msgid "" "The :func:`string.capwords` function does not have this problem, as it " "splits words on spaces only." @@ -5414,7 +5416,7 @@ msgstr "" "Die Funktion :func:`string.capwords` hat dieses Problem nicht, da sie Wörter " "ausschließlich an Leerzeichen trennt." -#: ../../library/stdtypes.rst:2853 +#: ../../builtins/stdtypes.rst:2853 msgid "" "Alternatively, a workaround for apostrophes can be constructed using regular " "expressions::" @@ -5422,7 +5424,7 @@ msgstr "" "Alternativ kann ein Workaround für Apostrophe mithilfe regulärer Ausdrücke " "konstruiert werden::" -#: ../../library/stdtypes.rst:2856 +#: ../../builtins/stdtypes.rst:2856 msgid "" ">>> import re\n" ">>> def titlecase(s):\n" @@ -5442,11 +5444,11 @@ msgstr "" ">>> titlecase(\"they're bill's friends.\")\n" "\"They're Bill's Friends.\"" -#: ../../library/stdtypes.rst:2865 +#: ../../builtins/stdtypes.rst:2865 msgid "See also :meth:`istitle`." msgstr "Siehe auch :meth:`istitle`." -#: ../../library/stdtypes.rst:2870 +#: ../../builtins/stdtypes.rst:2870 msgid "" "Return a copy of the string in which each character has been mapped through " "the given translation table. The table must be an object that implements " @@ -5468,7 +5470,7 @@ msgstr "" "dem Ergebnis-String zu löschen; oder eine :exc:`LookupError`-Ausnahme " "auslösen, um das Zeichen auf sich selbst abzubilden." -#: ../../library/stdtypes.rst:2879 +#: ../../builtins/stdtypes.rst:2879 msgid "" "You can use :meth:`str.maketrans` to create a translation map from character-" "to-character mappings in different formats." @@ -5476,7 +5478,7 @@ msgstr "" "Du kannst :meth:`str.maketrans` verwenden, um eine Übersetzungstabelle aus " "Zeichen-zu-Zeichen-Abbildungen in verschiedenen Formaten zu erstellen." -#: ../../library/stdtypes.rst:2882 +#: ../../builtins/stdtypes.rst:2882 msgid "" "See also the :mod:`codecs` module for a more flexible approach to custom " "character mappings." @@ -5484,7 +5486,7 @@ msgstr "" "Siehe auch das Modul :mod:`codecs` für einen flexibleren Ansatz bei " "benutzerdefinierten Zeichenabbildungen." -#: ../../library/stdtypes.rst:2888 +#: ../../builtins/stdtypes.rst:2888 msgid "" "Return a copy of the string with all the cased characters [4]_ converted to " "uppercase. Note that ``s.upper().isupper()`` might be ``False`` if ``s`` " @@ -5499,7 +5501,7 @@ msgstr "" "resultierenden Zeichens/Zeichen nicht \"Lu\" (Buchstabe, Großbuchstabe), " "sondern z. B. \"Lt\" (Buchstabe, Titlecase) ist." -#: ../../library/stdtypes.rst:2894 +#: ../../builtins/stdtypes.rst:2894 msgid "" "The uppercasing algorithm used is `described in section 3.13 'Default Case " "Folding' of the Unicode Standard `__ beschrieben." -#: ../../library/stdtypes.rst:2901 +#: ../../builtins/stdtypes.rst:2901 msgid "" "Return a copy of the string left filled with ASCII ``'0'`` digits to make a " "string of length *width*. A leading sign prefix (``'+'``/``'-'``) is handled " @@ -5523,7 +5525,7 @@ msgstr "" "ursprüngliche String wird zurückgegeben, wenn *width* kleiner oder gleich " "``len(s)`` ist." -#: ../../library/stdtypes.rst:2909 +#: ../../builtins/stdtypes.rst:2909 msgid "" ">>> \"42\".zfill(5)\n" "'00042'\n" @@ -5535,11 +5537,11 @@ msgstr "" ">>> \"-42\".zfill(5)\n" "'-0042'" -#: ../../library/stdtypes.rst:2936 +#: ../../builtins/stdtypes.rst:2936 msgid "Formatted String Literals (f-strings)" msgstr "Formatierte String-Literale (f-Strings)" -#: ../../library/stdtypes.rst:2939 +#: ../../builtins/stdtypes.rst:2939 msgid "" "The :keyword:`await` and :keyword:`async for` can be used in expressions " "within f-strings." @@ -5547,11 +5549,11 @@ msgstr "" ":keyword:`await` und :keyword:`async for` können in Ausdrücken innerhalb von " "f-Strings verwendet werden." -#: ../../library/stdtypes.rst:2942 +#: ../../builtins/stdtypes.rst:2942 msgid "Added the debug specifier (``=``)" msgstr "Der Debug-Bezeichner (``=``) wurde hinzugefügt" -#: ../../library/stdtypes.rst:2944 +#: ../../builtins/stdtypes.rst:2944 msgid "" "Many restrictions on expressions within f-strings have been removed. " "Notably, nested strings, comments, and backslashes are now permitted." @@ -5560,7 +5562,7 @@ msgstr "" "aufgehoben. Insbesondere sind verschachtelte Strings, Kommentare und " "Backslashes nun erlaubt." -#: ../../library/stdtypes.rst:2948 +#: ../../builtins/stdtypes.rst:2948 msgid "" "An :dfn:`f-string` (formally a :dfn:`formatted string literal`) is a string " "literal that is prefixed with ``f`` or ``F``. This type of string literal " @@ -5575,21 +5577,21 @@ msgstr "" "geschweifte Klammern (``{}``) abgegrenzt werden. Jedes Ersetzungsfeld muss " "einen Ausdruck enthalten, optional gefolgt von:" -#: ../../library/stdtypes.rst:2955 +#: ../../builtins/stdtypes.rst:2955 msgid "a *debug specifier* -- an equal sign (``=``);" msgstr "einen *Debug-Bezeichner* – ein Gleichheitszeichen (``=``);" -#: ../../library/stdtypes.rst:2956 +#: ../../builtins/stdtypes.rst:2956 msgid "a *conversion specifier* -- ``!s``, ``!r`` or ``!a``; and/or" msgstr "" "einen *Konvertierungsbezeichner* – ``!s``, ``!r`` oder ``!a``; und/oder" -#: ../../library/stdtypes.rst:2957 +#: ../../builtins/stdtypes.rst:2957 msgid "a *format specifier* prefixed with a colon (``:``)." msgstr "" "einen *Formatbezeichner*, dem ein Doppelpunkt (``:``) vorangestellt ist." -#: ../../library/stdtypes.rst:2959 +#: ../../builtins/stdtypes.rst:2959 msgid "" "See the :ref:`Lexical Analysis section on f-strings ` for details " "on the syntax of these fields." @@ -5597,11 +5599,11 @@ msgstr "" "Details zur Syntax dieser Felder findest du im :ref:`Abschnitt zur " "lexikalischen Analyse zu f-Strings `." -#: ../../library/stdtypes.rst:2963 +#: ../../builtins/stdtypes.rst:2963 msgid "Debug specifier" msgstr "Debug-Bezeichner" -#: ../../library/stdtypes.rst:2967 +#: ../../builtins/stdtypes.rst:2967 msgid "" "If a debug specifier -- an equal sign (``=``) -- appears after the " "replacement field expression, the resulting f-string will contain the " @@ -5613,7 +5615,7 @@ msgstr "" "Quelltext des Ausdrucks, das Gleichheitszeichen sowie den Wert des " "Ausdrucks. Dies ist häufig beim Debuggen nützlich::" -#: ../../library/stdtypes.rst:2972 +#: ../../builtins/stdtypes.rst:2972 msgid "" ">>> number = 14.3\n" ">>> f'{number=}'\n" @@ -5623,7 +5625,7 @@ msgstr "" ">>> f'{number=}'\n" "'number=14.3'" -#: ../../library/stdtypes.rst:2976 +#: ../../builtins/stdtypes.rst:2976 msgid "" "Whitespace before, inside and after the expression, as well as whitespace " "after the equal sign, is significant --- it is retained in the result::" @@ -5631,7 +5633,7 @@ msgstr "" "Whitespace vor, innerhalb und nach dem Ausdruck sowie Whitespace nach dem " "Gleichheitszeichen ist bedeutsam – er wird im Ergebnis beibehalten::" -#: ../../library/stdtypes.rst:2979 +#: ../../builtins/stdtypes.rst:2979 msgid "" ">>> f'{ number - 4 = }'\n" "' number - 4 = 10.3'" @@ -5639,11 +5641,11 @@ msgstr "" ">>> f'{ number - 4 = }'\n" "' number - 4 = 10.3'" -#: ../../library/stdtypes.rst:2984 +#: ../../builtins/stdtypes.rst:2984 msgid "Conversion specifier" msgstr "Konvertierungsbezeichner" -#: ../../library/stdtypes.rst:2986 +#: ../../builtins/stdtypes.rst:2986 msgid "" "By default, the value of a replacement field expression is converted to a " "string using :func:`str`::" @@ -5651,7 +5653,7 @@ msgstr "" "Standardmäßig wird der Wert eines Ausdrucks im Ersetzungsfeld mithilfe von :" "func:`str` in eine Zeichenkette umgewandelt::" -#: ../../library/stdtypes.rst:2989 +#: ../../builtins/stdtypes.rst:2989 msgid "" ">>> from fractions import Fraction\n" ">>> one_third = Fraction(1, 3)\n" @@ -5663,7 +5665,7 @@ msgstr "" ">>> f'{one_third}'\n" "'1/3'" -#: ../../library/stdtypes.rst:2994 +#: ../../builtins/stdtypes.rst:2994 msgid "" "When a debug specifier but no format specifier is used, the default " "conversion instead uses :func:`repr`::" @@ -5671,7 +5673,7 @@ msgstr "" "Wird ein Debug-Bezeichner, aber kein Formatbezeichner verwendet, nutzt die " "Standardkonvertierung stattdessen :func:`repr`::" -#: ../../library/stdtypes.rst:2997 +#: ../../builtins/stdtypes.rst:2997 msgid "" ">>> f'{one_third = }'\n" "'one_third = Fraction(1, 3)'" @@ -5679,26 +5681,26 @@ msgstr "" ">>> f'{one_third = }'\n" "'one_third = Fraction(1, 3)'" -#: ../../library/stdtypes.rst:3000 +#: ../../builtins/stdtypes.rst:3000 msgid "" "The conversion can be specified explicitly using one of these specifiers:" msgstr "" "Die Konvertierung kann explizit mithilfe eines dieser Bezeichner angegeben " "werden:" -#: ../../library/stdtypes.rst:3002 +#: ../../builtins/stdtypes.rst:3002 msgid "``!s`` for :func:`str`" msgstr "``!s`` für :func:`str`" -#: ../../library/stdtypes.rst:3003 +#: ../../builtins/stdtypes.rst:3003 msgid "``!r`` for :func:`repr`" msgstr "``!r`` für :func:`repr`" -#: ../../library/stdtypes.rst:3004 +#: ../../builtins/stdtypes.rst:3004 msgid "``!a`` for :func:`ascii`" msgstr "``!a`` für :func:`ascii`" -#: ../../library/stdtypes.rst:3008 +#: ../../builtins/stdtypes.rst:3008 msgid "" ">>> str(one_third)\n" "'1/3'\n" @@ -5730,11 +5732,11 @@ msgstr "" ">>> f'{string = !a}'\n" "\"string = '\\\\xa1ko\\\\u010dka \\\\U0001f638!'\"" -#: ../../library/stdtypes.rst:3025 +#: ../../builtins/stdtypes.rst:3025 msgid "Format specifier" msgstr "Formatbezeichner" -#: ../../library/stdtypes.rst:3027 +#: ../../builtins/stdtypes.rst:3027 msgid "" "After the expression has been evaluated, and possibly converted using an " "explicit conversion specifier, it is formatted using the :func:`format` " @@ -5751,7 +5753,7 @@ msgstr "" "format` wird dann als Endwert für das Ersetzungsfeld verwendet. Zum " "Beispiel::" -#: ../../library/stdtypes.rst:3034 +#: ../../builtins/stdtypes.rst:3034 msgid "" ">>> from fractions import Fraction\n" ">>> one_third = Fraction(1, 3)\n" @@ -5775,11 +5777,11 @@ msgstr "" ">>> f'{one_third = :~>10}~'\n" "'one_third = ~~~~~~~1/3~'" -#: ../../library/stdtypes.rst:3048 +#: ../../builtins/stdtypes.rst:3048 msgid "Template String Literals (t-strings)" msgstr "Formatierte String-Literale (t-Strings)" -#: ../../library/stdtypes.rst:3050 +#: ../../builtins/stdtypes.rst:3050 msgid "" "A :dfn:`t-string` (formally a :dfn:`template string literal`) is a string " "literal that is prefixed with ``t`` or ``T``." @@ -5787,7 +5789,7 @@ msgstr "" "Ein :dfn:`T-String` (formell ein :dfn:`Template-Zeichenfolgenliteral`) ist " "ein Zeichenfolgenliteral, dem ``t`` oder ``T`` vorangestellt ist." -#: ../../library/stdtypes.rst:3053 +#: ../../builtins/stdtypes.rst:3053 msgid "" "These strings follow the same syntax and evaluation rules as :ref:`formatted " "string literals `, with the following differences:" @@ -5796,7 +5798,7 @@ msgstr "" "`formatierte Zeichenkettenliterale `, mit den folgenden " "Unterschieden:" -#: ../../library/stdtypes.rst:3057 +#: ../../builtins/stdtypes.rst:3057 msgid "" "Rather than evaluating to a ``str`` object, template string literals " "evaluate to a :class:`string.templatelib.Template` object." @@ -5805,7 +5807,7 @@ msgstr "" "Zeichenfolgenliterale zu einem Objekt vom Typ :class:`string.templatelib." "Template` ausgewertet." -#: ../../library/stdtypes.rst:3060 +#: ../../builtins/stdtypes.rst:3060 msgid "" "The :func:`format` protocol is not used. Instead, the format specifier and " "conversions (if any) are passed to a new :class:`~string.templatelib." @@ -5820,7 +5822,7 @@ msgstr "" "resultierende Objekt :class:`~string.templatelib.Template` verarbeitet, zu " "entscheiden, wie mit Formatbezeichnern und Konvertierungen umgegangen wird." -#: ../../library/stdtypes.rst:3067 +#: ../../builtins/stdtypes.rst:3067 msgid "" "Format specifiers containing nested replacement fields are evaluated " "eagerly, prior to being passed to the :class:`~string.templatelib." @@ -5837,7 +5839,7 @@ msgstr "" "Wäre ``precision`` gleich ``2``, wäre der resultierende Formatbezeichner " "``'.2f'``." -#: ../../library/stdtypes.rst:3075 +#: ../../builtins/stdtypes.rst:3075 msgid "" "When the equals sign ``'='`` is provided in an interpolation expression, the " "text of the expression is appended to the literal string that precedes the " @@ -5857,11 +5859,11 @@ msgstr "" "'``r``' (:func:`repr`) gesetzt wird. Wird eine explizite Konvertierung oder " "ein Formatbezeichner angegeben, überschreibt dies das Standardverhalten." -#: ../../library/stdtypes.rst:3089 +#: ../../builtins/stdtypes.rst:3089 msgid "``printf``-style String Formatting" msgstr "String-Formatierung im ``printf``-Stil" -#: ../../library/stdtypes.rst:3102 +#: ../../builtins/stdtypes.rst:3102 msgid "" "The formatting operations described here exhibit a variety of quirks that " "lead to a number of common errors (such as failing to display tuples and " @@ -5871,7 +5873,7 @@ msgstr "" "Eigenheiten auf, die zu häufigen Fehlern führen (wie z. B. dem fehlerhaften " "Darstellen von Tupeln und Dictionaries)." -#: ../../library/stdtypes.rst:3106 +#: ../../builtins/stdtypes.rst:3106 msgid "" "Using :ref:`formatted string literals `, the :meth:`str.format` " "interface, or :class:`string.Template` may help avoid these errors. Each of " @@ -5883,7 +5885,7 @@ msgstr "" "diese Fehler zu vermeiden. Jede dieser Alternativen bietet eigene Vor- und " "Nachteile hinsichtlich Einfachheit, Flexibilität und/oder Erweiterbarkeit." -#: ../../library/stdtypes.rst:3111 +#: ../../builtins/stdtypes.rst:3111 msgid "" "String objects have one unique built-in operation: the ``%`` operator " "(modulo). This is also known as the string *formatting* or *interpolation* " @@ -5900,7 +5902,7 @@ msgstr "" "ähnelt der Verwendung der Funktion :c:func:`sprintf` in der Sprache C. Zum " "Beispiel:" -#: ../../library/stdtypes.rst:3118 +#: ../../builtins/stdtypes.rst:3118 msgid "" ">>> print('%s has %d quote types.' % ('Python', 2))\n" "Python has 2 quote types." @@ -5908,7 +5910,7 @@ msgstr "" ">>> print('%s has %d quote types.' % ('Python', 2))\n" "Python has 2 quote types." -#: ../../library/stdtypes.rst:3123 +#: ../../builtins/stdtypes.rst:3123 msgid "" "If *format* requires a single argument, *values* may be a single non-tuple " "object. [5]_ Otherwise, *values* must be a tuple with exactly the number of " @@ -5920,7 +5922,7 @@ msgstr "" "der durch den Format-String angegebenen Anzahl von Elementen oder ein " "einzelnes Mapping-Objekt (z. B. ein Dictionary) sein." -#: ../../library/stdtypes.rst:3133 ../../library/stdtypes.rst:4407 +#: ../../builtins/stdtypes.rst:3133 ../../builtins/stdtypes.rst:4407 msgid "" "A conversion specifier contains two or more characters and has the following " "components, which must occur in this order:" @@ -5928,11 +5930,11 @@ msgstr "" "Ein Konvertierungsspezifizierer besteht aus zwei oder mehr Zeichen und hat " "die folgenden Komponenten, die in dieser Reihenfolge auftreten müssen:" -#: ../../library/stdtypes.rst:3136 ../../library/stdtypes.rst:4410 +#: ../../builtins/stdtypes.rst:3136 ../../builtins/stdtypes.rst:4410 msgid "The ``'%'`` character, which marks the start of the specifier." msgstr "Das Zeichen ``'%'``, das den Beginn des Spezifizierers markiert." -#: ../../library/stdtypes.rst:3138 ../../library/stdtypes.rst:4412 +#: ../../builtins/stdtypes.rst:3138 ../../builtins/stdtypes.rst:4412 msgid "" "Mapping key (optional), consisting of a parenthesised sequence of characters " "(for example, ``(somename)``)." @@ -5940,7 +5942,7 @@ msgstr "" "Mapping-Schlüssel (optional), bestehend aus einer eingeklammerten " "Zeichenfolge (zum Beispiel ``(somename)``)." -#: ../../library/stdtypes.rst:3141 ../../library/stdtypes.rst:4415 +#: ../../builtins/stdtypes.rst:3141 ../../builtins/stdtypes.rst:4415 msgid "" "Conversion flags (optional), which affect the result of some conversion " "types." @@ -5948,7 +5950,7 @@ msgstr "" "Konvertierungs-Flags (optional), die das Ergebnis bestimmter " "Konvertierungstypen beeinflussen." -#: ../../library/stdtypes.rst:3144 ../../library/stdtypes.rst:4418 +#: ../../builtins/stdtypes.rst:3144 ../../builtins/stdtypes.rst:4418 msgid "" "Minimum field width (optional). If specified as an ``'*'`` (asterisk), the " "actual width is read from the next element of the tuple in *values*, and the " @@ -5959,7 +5961,7 @@ msgstr "" "*values* gelesen, und das zu konvertierende Objekt folgt nach der minimalen " "Feldbreite und der optionalen Genauigkeit." -#: ../../library/stdtypes.rst:3148 ../../library/stdtypes.rst:4422 +#: ../../builtins/stdtypes.rst:3148 ../../builtins/stdtypes.rst:4422 msgid "" "Precision (optional), given as a ``'.'`` (dot) followed by the precision. " "If specified as ``'*'`` (an asterisk), the actual precision is read from the " @@ -5971,15 +5973,15 @@ msgstr "" "tatsächliche Genauigkeit aus dem nächsten Element des Tupels in *values* " "gelesen, und der zu konvertierende Wert folgt nach der Genauigkeit." -#: ../../library/stdtypes.rst:3153 ../../library/stdtypes.rst:4427 +#: ../../builtins/stdtypes.rst:3153 ../../builtins/stdtypes.rst:4427 msgid "Length modifier (optional)." msgstr "Längenmodifikator (optional)." -#: ../../library/stdtypes.rst:3155 ../../library/stdtypes.rst:4429 +#: ../../builtins/stdtypes.rst:3155 ../../builtins/stdtypes.rst:4429 msgid "Conversion type." msgstr "Konvertierungstyp." -#: ../../library/stdtypes.rst:3157 +#: ../../builtins/stdtypes.rst:3157 msgid "" "When the right argument is a dictionary (or other mapping type), then the " "formats in the string *must* include a parenthesised mapping key into that " @@ -5992,7 +5994,7 @@ msgstr "" "eingefügt wird. Der Mapping-Schlüssel wählt den zu formatierenden Wert aus " "dem Mapping aus. Zum Beispiel:" -#: ../../library/stdtypes.rst:3166 ../../library/stdtypes.rst:4440 +#: ../../builtins/stdtypes.rst:3166 ../../builtins/stdtypes.rst:4440 msgid "" "In this case no ``*`` specifiers may occur in a format (since they require a " "sequential parameter list)." @@ -6000,38 +6002,38 @@ msgstr "" "In diesem Fall dürfen keine ``*``-Spezifizierer in einem Format vorkommen " "(da diese eine sequentielle Parameterliste erfordern)." -#: ../../library/stdtypes.rst:3169 ../../library/stdtypes.rst:4443 +#: ../../builtins/stdtypes.rst:3169 ../../builtins/stdtypes.rst:4443 msgid "The conversion flag characters are:" msgstr "Die Konvertierungs-Flag-Zeichen sind:" -#: ../../library/stdtypes.rst:3178 ../../library/stdtypes.rst:4452 +#: ../../builtins/stdtypes.rst:3178 ../../builtins/stdtypes.rst:4452 msgid "Flag" msgstr "Flag" -#: ../../library/stdtypes.rst:3180 ../../library/stdtypes.rst:4454 +#: ../../builtins/stdtypes.rst:3180 ../../builtins/stdtypes.rst:4454 msgid "``'#'``" msgstr "``'#'``" -#: ../../library/stdtypes.rst:3180 ../../library/stdtypes.rst:4454 +#: ../../builtins/stdtypes.rst:3180 ../../builtins/stdtypes.rst:4454 msgid "" "The value conversion will use the \"alternate form\" (where defined below)." msgstr "" "Die Wertkonvertierung verwendet die \"alternative Form\" (sofern unten " "definiert)." -#: ../../library/stdtypes.rst:3183 ../../library/stdtypes.rst:4457 +#: ../../builtins/stdtypes.rst:3183 ../../builtins/stdtypes.rst:4457 msgid "``'0'``" msgstr "``'0'``" -#: ../../library/stdtypes.rst:3183 ../../library/stdtypes.rst:4457 +#: ../../builtins/stdtypes.rst:3183 ../../builtins/stdtypes.rst:4457 msgid "The conversion will be zero padded for numeric values." msgstr "Die Konvertierung wird bei numerischen Werten mit Nullen aufgefüllt." -#: ../../library/stdtypes.rst:3185 ../../library/stdtypes.rst:4459 +#: ../../builtins/stdtypes.rst:3185 ../../builtins/stdtypes.rst:4459 msgid "``'-'``" msgstr "``'-'``" -#: ../../library/stdtypes.rst:3185 ../../library/stdtypes.rst:4459 +#: ../../builtins/stdtypes.rst:3185 ../../builtins/stdtypes.rst:4459 msgid "" "The converted value is left adjusted (overrides the ``'0'`` conversion if " "both are given)." @@ -6039,11 +6041,11 @@ msgstr "" "Der konvertierte Wert wird linksbündig ausgerichtet (überschreibt die " "``'0'``-Konvertierung, wenn beide angegeben sind)." -#: ../../library/stdtypes.rst:3188 ../../library/stdtypes.rst:4462 +#: ../../builtins/stdtypes.rst:3188 ../../builtins/stdtypes.rst:4462 msgid "``' '``" msgstr "``' '``" -#: ../../library/stdtypes.rst:3188 ../../library/stdtypes.rst:4462 +#: ../../builtins/stdtypes.rst:3188 ../../builtins/stdtypes.rst:4462 msgid "" "(a space) A blank should be left before a positive number (or empty string) " "produced by a signed conversion." @@ -6052,11 +6054,11 @@ msgstr "" "durch eine vorzeichenbehaftete Konvertierung erzeugt wird, sollte ein " "Leerzeichen verbleiben." -#: ../../library/stdtypes.rst:3191 ../../library/stdtypes.rst:4465 +#: ../../builtins/stdtypes.rst:3191 ../../builtins/stdtypes.rst:4465 msgid "``'+'``" msgstr "``'+'``" -#: ../../library/stdtypes.rst:3191 ../../library/stdtypes.rst:4465 +#: ../../builtins/stdtypes.rst:3191 ../../builtins/stdtypes.rst:4465 msgid "" "A sign character (``'+'`` or ``'-'``) will precede the conversion (overrides " "a \"space\" flag)." @@ -6064,7 +6066,7 @@ msgstr "" "Ein Vorzeichen (``'+'`` oder ``'-'``) wird der Konvertierung vorangestellt " "(überschreibt ein \"Leerzeichen\"-Flag)." -#: ../../library/stdtypes.rst:3195 ../../library/stdtypes.rst:4469 +#: ../../builtins/stdtypes.rst:3195 ../../builtins/stdtypes.rst:4469 msgid "" "A length modifier (``h``, ``l``, or ``L``) may be present, but is ignored as " "it is not necessary for Python -- so e.g. ``%ld`` is identical to ``%d``." @@ -6073,93 +6075,93 @@ msgstr "" "jedoch ignoriert, da er für Python nicht erforderlich ist – so ist z. B. " "``%ld`` identisch mit ``%d``." -#: ../../library/stdtypes.rst:3198 ../../library/stdtypes.rst:4472 +#: ../../builtins/stdtypes.rst:3198 ../../builtins/stdtypes.rst:4472 msgid "The conversion types are:" msgstr "Die Konvertierungstypen sind:" -#: ../../library/stdtypes.rst:3201 ../../library/stdtypes.rst:4475 +#: ../../builtins/stdtypes.rst:3201 ../../builtins/stdtypes.rst:4475 msgid "Conversion" msgstr "Konvertierung" -#: ../../library/stdtypes.rst:3203 ../../library/stdtypes.rst:4477 +#: ../../builtins/stdtypes.rst:3203 ../../builtins/stdtypes.rst:4477 msgid "``'d'``" msgstr "``'d'``" -#: ../../library/stdtypes.rst:3203 ../../library/stdtypes.rst:3205 -#: ../../library/stdtypes.rst:4477 ../../library/stdtypes.rst:4479 +#: ../../builtins/stdtypes.rst:3203 ../../builtins/stdtypes.rst:3205 +#: ../../builtins/stdtypes.rst:4477 ../../builtins/stdtypes.rst:4479 msgid "Signed integer decimal." msgstr "Vorzeichenbehaftete Dezimal-Ganzzahl." -#: ../../library/stdtypes.rst:3205 ../../library/stdtypes.rst:4479 +#: ../../builtins/stdtypes.rst:3205 ../../builtins/stdtypes.rst:4479 msgid "``'i'``" msgstr "``'i'``" -#: ../../library/stdtypes.rst:3207 ../../library/stdtypes.rst:4481 +#: ../../builtins/stdtypes.rst:3207 ../../builtins/stdtypes.rst:4481 msgid "``'o'``" msgstr "``'o'``" -#: ../../library/stdtypes.rst:3207 ../../library/stdtypes.rst:4481 +#: ../../builtins/stdtypes.rst:3207 ../../builtins/stdtypes.rst:4481 msgid "Signed octal value." msgstr "Vorzeichenbehafteter Oktalwert." -#: ../../library/stdtypes.rst:3209 ../../library/stdtypes.rst:4483 +#: ../../builtins/stdtypes.rst:3209 ../../builtins/stdtypes.rst:4483 msgid "``'u'``" msgstr "``'u'``" -#: ../../library/stdtypes.rst:3209 ../../library/stdtypes.rst:4483 +#: ../../builtins/stdtypes.rst:3209 ../../builtins/stdtypes.rst:4483 msgid "Obsolete type -- it is identical to ``'d'``." msgstr "Veralteter Typ – er ist identisch mit ``'d'``." -#: ../../library/stdtypes.rst:3211 ../../library/stdtypes.rst:4485 +#: ../../builtins/stdtypes.rst:3211 ../../builtins/stdtypes.rst:4485 msgid "``'x'``" msgstr "``'x'``" -#: ../../library/stdtypes.rst:3211 ../../library/stdtypes.rst:4485 +#: ../../builtins/stdtypes.rst:3211 ../../builtins/stdtypes.rst:4485 msgid "Signed hexadecimal (lowercase)." msgstr "Vorzeichenbehaftetes Hexadezimal (Kleinbuchstaben)." -#: ../../library/stdtypes.rst:3213 ../../library/stdtypes.rst:4487 +#: ../../builtins/stdtypes.rst:3213 ../../builtins/stdtypes.rst:4487 msgid "``'X'``" msgstr "``'X'``" -#: ../../library/stdtypes.rst:3213 ../../library/stdtypes.rst:4487 +#: ../../builtins/stdtypes.rst:3213 ../../builtins/stdtypes.rst:4487 msgid "Signed hexadecimal (uppercase)." msgstr "Vorzeichenbehaftetes Hexadezimal (Großbuchstaben)." -#: ../../library/stdtypes.rst:3215 ../../library/stdtypes.rst:4489 +#: ../../builtins/stdtypes.rst:3215 ../../builtins/stdtypes.rst:4489 msgid "``'e'``" msgstr "``'e'``" -#: ../../library/stdtypes.rst:3215 ../../library/stdtypes.rst:4489 +#: ../../builtins/stdtypes.rst:3215 ../../builtins/stdtypes.rst:4489 msgid "Floating-point exponential format (lowercase)." msgstr "Gleitkomma-Exponentialformat (Kleinbuchstaben)." -#: ../../library/stdtypes.rst:3217 ../../library/stdtypes.rst:4491 +#: ../../builtins/stdtypes.rst:3217 ../../builtins/stdtypes.rst:4491 msgid "``'E'``" msgstr "``'E'``" -#: ../../library/stdtypes.rst:3217 ../../library/stdtypes.rst:4491 +#: ../../builtins/stdtypes.rst:3217 ../../builtins/stdtypes.rst:4491 msgid "Floating-point exponential format (uppercase)." msgstr "Gleitkomma-Exponentialformat (Großbuchstaben)." -#: ../../library/stdtypes.rst:3219 ../../library/stdtypes.rst:4493 +#: ../../builtins/stdtypes.rst:3219 ../../builtins/stdtypes.rst:4493 msgid "``'f'``" msgstr "``'f'``" -#: ../../library/stdtypes.rst:3219 ../../library/stdtypes.rst:3221 -#: ../../library/stdtypes.rst:4493 ../../library/stdtypes.rst:4495 +#: ../../builtins/stdtypes.rst:3219 ../../builtins/stdtypes.rst:3221 +#: ../../builtins/stdtypes.rst:4493 ../../builtins/stdtypes.rst:4495 msgid "Floating-point decimal format." msgstr "Gleitkomma-Dezimalformat." -#: ../../library/stdtypes.rst:3221 ../../library/stdtypes.rst:4495 +#: ../../builtins/stdtypes.rst:3221 ../../builtins/stdtypes.rst:4495 msgid "``'F'``" msgstr "``'F'``" -#: ../../library/stdtypes.rst:3223 ../../library/stdtypes.rst:4497 +#: ../../builtins/stdtypes.rst:3223 ../../builtins/stdtypes.rst:4497 msgid "``'g'``" msgstr "``'g'``" -#: ../../library/stdtypes.rst:3223 ../../library/stdtypes.rst:4497 +#: ../../builtins/stdtypes.rst:3223 ../../builtins/stdtypes.rst:4497 msgid "" "Floating-point format. Uses lowercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." @@ -6168,11 +6170,11 @@ msgstr "" "der Exponent kleiner als -4 oder nicht kleiner als die Genauigkeit ist, " "andernfalls das Dezimalformat." -#: ../../library/stdtypes.rst:3227 ../../library/stdtypes.rst:4501 +#: ../../builtins/stdtypes.rst:3227 ../../builtins/stdtypes.rst:4501 msgid "``'G'``" msgstr "``'G'``" -#: ../../library/stdtypes.rst:3227 ../../library/stdtypes.rst:4501 +#: ../../builtins/stdtypes.rst:3227 ../../builtins/stdtypes.rst:4501 msgid "" "Floating-point format. Uses uppercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." @@ -6181,48 +6183,48 @@ msgstr "" "der Exponent kleiner als -4 oder nicht kleiner als die Genauigkeit ist, " "andernfalls das Dezimalformat." -#: ../../library/stdtypes.rst:3231 ../../library/stdtypes.rst:4505 +#: ../../builtins/stdtypes.rst:3231 ../../builtins/stdtypes.rst:4505 msgid "``'c'``" msgstr "``'c'``" -#: ../../library/stdtypes.rst:3231 +#: ../../builtins/stdtypes.rst:3231 msgid "Single character (accepts integer or single character string)." msgstr "Einzelnes Zeichen (akzeptiert Ganzzahl oder einzeichenigen String)." -#: ../../library/stdtypes.rst:3234 ../../library/stdtypes.rst:4518 +#: ../../builtins/stdtypes.rst:3234 ../../builtins/stdtypes.rst:4518 msgid "``'r'``" msgstr "``'r'``" -#: ../../library/stdtypes.rst:3234 +#: ../../builtins/stdtypes.rst:3234 msgid "String (converts any Python object using :func:`repr`)." msgstr "String (konvertiert jedes Python-Objekt mittels :func:`repr`)." -#: ../../library/stdtypes.rst:3237 ../../library/stdtypes.rst:4512 +#: ../../builtins/stdtypes.rst:3237 ../../builtins/stdtypes.rst:4512 msgid "``'s'``" msgstr "``'s'``" -#: ../../library/stdtypes.rst:3237 +#: ../../builtins/stdtypes.rst:3237 msgid "String (converts any Python object using :func:`str`)." msgstr "String (konvertiert jedes Python-Objekt mittels :func:`str`)." -#: ../../library/stdtypes.rst:3240 ../../library/stdtypes.rst:4515 +#: ../../builtins/stdtypes.rst:3240 ../../builtins/stdtypes.rst:4515 msgid "``'a'``" msgstr "``'a'``" -#: ../../library/stdtypes.rst:3240 +#: ../../builtins/stdtypes.rst:3240 msgid "String (converts any Python object using :func:`ascii`)." msgstr "String (konvertiert jedes Python-Objekt mittels :func:`ascii`)." -#: ../../library/stdtypes.rst:3243 ../../library/stdtypes.rst:4521 +#: ../../builtins/stdtypes.rst:3243 ../../builtins/stdtypes.rst:4521 msgid "``'%'``" msgstr "``'%'``" -#: ../../library/stdtypes.rst:3243 ../../library/stdtypes.rst:4521 +#: ../../builtins/stdtypes.rst:3243 ../../builtins/stdtypes.rst:4521 msgid "No argument is converted, results in a ``'%'`` character in the result." msgstr "" "Kein Argument wird konvertiert, führt zu einem ``'%'``-Zeichen im Ergebnis." -#: ../../library/stdtypes.rst:3247 +#: ../../builtins/stdtypes.rst:3247 msgid "" "For floating-point formats, the result should be correctly rounded to a " "given precision ``p`` of digits after the decimal point. The rounding mode " @@ -6232,7 +6234,7 @@ msgstr "" "Präzision ``p`` von Nachkommastellen gerundet werden. Der Rundungsmodus " "entspricht dem des eingebauten :func:`round`." -#: ../../library/stdtypes.rst:3254 ../../library/stdtypes.rst:4528 +#: ../../builtins/stdtypes.rst:3254 ../../builtins/stdtypes.rst:4528 msgid "" "The alternate form causes a leading octal specifier (``'0o'``) to be " "inserted before the first digit." @@ -6240,7 +6242,7 @@ msgstr "" "Die alternative Form bewirkt, dass vor der ersten Ziffer eine führende Oktal-" "Kennzeichnung (``'0o'``) eingefügt wird." -#: ../../library/stdtypes.rst:3258 ../../library/stdtypes.rst:4532 +#: ../../builtins/stdtypes.rst:3258 ../../builtins/stdtypes.rst:4532 msgid "" "The alternate form causes a leading ``'0x'`` or ``'0X'`` (depending on " "whether the ``'x'`` or ``'X'`` format was used) to be inserted before the " @@ -6250,7 +6252,7 @@ msgstr "" "``'0x'`` oder ``'0X'`` eingefügt wird (je nachdem, ob das Format ``'x'`` " "oder ``'X'`` verwendet wurde)." -#: ../../library/stdtypes.rst:3262 ../../library/stdtypes.rst:4536 +#: ../../builtins/stdtypes.rst:3262 ../../builtins/stdtypes.rst:4536 msgid "" "The alternate form causes the result to always contain a decimal point, even " "if no digits follow it." @@ -6258,7 +6260,7 @@ msgstr "" "Die alternative Form bewirkt, dass das Ergebnis immer einen Dezimalpunkt " "enthält, selbst wenn keine Ziffern folgen." -#: ../../library/stdtypes.rst:3265 ../../library/stdtypes.rst:4539 +#: ../../builtins/stdtypes.rst:3265 ../../builtins/stdtypes.rst:4539 msgid "" "The precision determines the number of digits after the decimal point and " "defaults to 6." @@ -6266,7 +6268,7 @@ msgstr "" "Die Genauigkeit bestimmt die Anzahl der Nachkommastellen und ist " "standardmäßig 6." -#: ../../library/stdtypes.rst:3269 ../../library/stdtypes.rst:4543 +#: ../../builtins/stdtypes.rst:3269 ../../builtins/stdtypes.rst:4543 msgid "" "The alternate form causes the result to always contain a decimal point, and " "trailing zeroes are not removed as they would otherwise be." @@ -6275,7 +6277,7 @@ msgstr "" "enthält und nachgestellte Nullen nicht entfernt werden, wie es sonst der " "Fall wäre." -#: ../../library/stdtypes.rst:3272 ../../library/stdtypes.rst:4546 +#: ../../builtins/stdtypes.rst:3272 ../../builtins/stdtypes.rst:4546 msgid "" "The precision determines the number of significant digits before and after " "the decimal point and defaults to 6." @@ -6283,17 +6285,17 @@ msgstr "" "Die Genauigkeit bestimmt die Anzahl der signifikanten Stellen vor und nach " "dem Dezimalpunkt und ist standardmäßig 6." -#: ../../library/stdtypes.rst:3276 ../../library/stdtypes.rst:4550 +#: ../../builtins/stdtypes.rst:3276 ../../builtins/stdtypes.rst:4550 msgid "If precision is ``N``, the output is truncated to ``N`` characters." msgstr "" "Wenn die Genauigkeit ``N`` beträgt, wird die Ausgabe auf ``N`` Zeichen " "gekürzt." -#: ../../library/stdtypes.rst:3279 ../../library/stdtypes.rst:4559 +#: ../../builtins/stdtypes.rst:3279 ../../builtins/stdtypes.rst:4559 msgid "See :pep:`237`." msgstr "Siehe :pep:`237`." -#: ../../library/stdtypes.rst:3281 +#: ../../builtins/stdtypes.rst:3281 msgid "" "Since Python strings have an explicit length, ``%s`` conversions do not " "assume that ``'\\0'`` is the end of the string." @@ -6301,7 +6303,7 @@ msgstr "" "Da Python-Strings eine explizite Länge haben, gehen ``%s``-Konvertierungen " "nicht davon aus, dass ``'\\0'`` das Ende des Strings markiert." -#: ../../library/stdtypes.rst:3286 +#: ../../builtins/stdtypes.rst:3286 msgid "" "``%f`` conversions for numbers whose absolute value is over 1e50 are no " "longer replaced by ``%g`` conversions." @@ -6309,14 +6311,14 @@ msgstr "" "``%f``-Konvertierungen für Zahlen, deren Absolutwert über 1e50 liegt, werden " "nicht mehr durch ``%g``-Konvertierungen ersetzt." -#: ../../library/stdtypes.rst:3297 +#: ../../builtins/stdtypes.rst:3297 msgid "" "Binary Sequence Types --- :class:`bytes`, :class:`bytearray`, :class:" "`memoryview`" msgstr "" "Binäre Sequenztypen – :class:`bytes`, :class:`bytearray`, :class:`memoryview`" -#: ../../library/stdtypes.rst:3305 +#: ../../builtins/stdtypes.rst:3305 msgid "" "The core built-in types for manipulating binary data are :class:`bytes` and :" "class:`bytearray`. They are supported by :class:`memoryview` which uses the :" @@ -6329,7 +6331,7 @@ msgstr "" "den Speicher anderer binärer Objekte zuzugreifen, ohne eine Kopie anfertigen " "zu müssen." -#: ../../library/stdtypes.rst:3310 +#: ../../builtins/stdtypes.rst:3310 msgid "" "The :mod:`array` module supports efficient storage of basic data types like " "32-bit integers and IEEE754 double-precision floating values." @@ -6338,11 +6340,11 @@ msgstr "" "Datentypen wie 32-Bit-Ganzzahlen und IEEE754-Gleitkommazahlen mit doppelter " "Genauigkeit." -#: ../../library/stdtypes.rst:3316 +#: ../../builtins/stdtypes.rst:3316 msgid "Bytes Objects" msgstr "Bytes-Objekte" -#: ../../library/stdtypes.rst:3320 +#: ../../builtins/stdtypes.rst:3320 msgid "" "Bytes objects are immutable sequences of single bytes. Since many major " "binary protocols are based on the ASCII text encoding, bytes objects offer " @@ -6354,7 +6356,7 @@ msgstr "" "Objekte mehrere Methoden, die nur bei der Arbeit mit ASCII-kompatiblen Daten " "gültig sind, und sind auf vielfältige Weise eng mit String-Objekten verwandt." -#: ../../library/stdtypes.rst:3328 +#: ../../builtins/stdtypes.rst:3328 msgid "" "Firstly, the syntax for bytes literals is largely the same as that for " "string literals, except that a ``b`` prefix is added:" @@ -6362,24 +6364,24 @@ msgstr "" "Erstens entspricht die Syntax für Bytes-Literale weitgehend der für String-" "Literale, außer dass ein Präfix ``b`` vorangestellt wird:" -#: ../../library/stdtypes.rst:3331 +#: ../../builtins/stdtypes.rst:3331 msgid "Single quotes: ``b'still allows embedded \"double\" quotes'``" msgstr "" "Einfache Anführungszeichen: ``b'still allows embedded \"double\" quotes'``" -#: ../../library/stdtypes.rst:3332 +#: ../../builtins/stdtypes.rst:3332 msgid "Double quotes: ``b\"still allows embedded 'single' quotes\"``" msgstr "" "Doppelte Anführungszeichen: ``b\"still allows embedded 'single' quotes\"``" -#: ../../library/stdtypes.rst:3333 +#: ../../builtins/stdtypes.rst:3333 msgid "" "Triple quoted: ``b'''3 single quotes'''``, ``b\"\"\"3 double quotes\"\"\"``" msgstr "" "Dreifache Anführungszeichen: ``b'''3 single quotes'''``, ``b\"\"\"3 double " "quotes\"\"\"``" -#: ../../library/stdtypes.rst:3335 +#: ../../builtins/stdtypes.rst:3335 msgid "" "Only ASCII characters are permitted in bytes literals (regardless of the " "declared source code encoding). Any binary values over 127 must be entered " @@ -6389,7 +6391,7 @@ msgstr "" "deklarierten Quellcode-Kodierung). Alle Binärwerte über 127 müssen über die " "entsprechende Escape-Sequenz in Bytes-Literale eingegeben werden." -#: ../../library/stdtypes.rst:3339 +#: ../../builtins/stdtypes.rst:3339 msgid "" "As with string literals, bytes literals may also use a ``r`` prefix to " "disable processing of escape sequences. See :ref:`strings` for more about " @@ -6400,7 +6402,7 @@ msgstr "" "ref:`strings` für weitere Details zu den verschiedenen Formen von Bytes-" "Literalen einschließlich der unterstützten Escape-Sequenzen." -#: ../../library/stdtypes.rst:3343 +#: ../../builtins/stdtypes.rst:3343 msgid "" "While bytes literals and representations are based on ASCII text, bytes " "objects actually behave like immutable sequences of integers, with each " @@ -6423,7 +6425,7 @@ msgstr "" "Anwenden von Textverarbeitungsalgorithmen auf nicht ASCII-kompatible " "Binärdatenformate führt in der Regel zu Datenbeschädigung)." -#: ../../library/stdtypes.rst:3353 +#: ../../builtins/stdtypes.rst:3353 msgid "" "In addition to the literal forms, bytes objects can be created in a number " "of other ways:" @@ -6431,25 +6433,25 @@ msgstr "" "Zusätzlich zu den Literalformen können Bytes-Objekte auf verschiedene andere " "Arten erzeugt werden:" -#: ../../library/stdtypes.rst:3356 +#: ../../builtins/stdtypes.rst:3356 msgid "A zero-filled bytes object of a specified length: ``bytes(10)``" msgstr "" "Ein mit Nullen gefülltes Bytes-Objekt einer angegebenen Länge: ``bytes(10)``" -#: ../../library/stdtypes.rst:3357 +#: ../../builtins/stdtypes.rst:3357 msgid "From an iterable of integers: ``bytes(range(20))``" msgstr "Aus einem Iterable von Ganzzahlen: ``bytes(range(20))``" -#: ../../library/stdtypes.rst:3358 +#: ../../builtins/stdtypes.rst:3358 msgid "Copying existing binary data via the buffer protocol: ``bytes(obj)``" msgstr "" "Kopieren vorhandener Binärdaten über das Pufferprotokoll: ``bytes(obj)``" -#: ../../library/stdtypes.rst:3360 +#: ../../builtins/stdtypes.rst:3360 msgid "Also see the :ref:`bytes ` built-in." msgstr "Siehe auch die eingebaute Funktion :ref:`bytes `." -#: ../../library/stdtypes.rst:3362 +#: ../../builtins/stdtypes.rst:3362 msgid "" "Since 2 hexadecimal digits correspond precisely to a single byte, " "hexadecimal numbers are a commonly used format for describing binary data. " @@ -6461,7 +6463,7 @@ msgstr "" "Binärdaten. Dementsprechend besitzt der Bytes-Typ eine zusätzliche " "Klassenmethode zum Einlesen von Daten in diesem Format:" -#: ../../library/stdtypes.rst:3368 +#: ../../builtins/stdtypes.rst:3368 msgid "" "This :class:`bytes` class method returns a bytes object, decoding the given " "string object. The string must contain two hexadecimal digits per byte, " @@ -6472,7 +6474,7 @@ msgstr "" "Hexadezimalziffern pro Byte enthalten, wobei ASCII-Whitespaces ignoriert " "werden." -#: ../../library/stdtypes.rst:3375 +#: ../../builtins/stdtypes.rst:3375 msgid "" ":meth:`bytes.fromhex` now skips all ASCII whitespace in the string, not just " "spaces." @@ -6480,7 +6482,7 @@ msgstr "" ":meth:`bytes.fromhex` überspringt nun alle ASCII-Whitespaces im String, " "nicht nur Leerzeichen." -#: ../../library/stdtypes.rst:3379 +#: ../../builtins/stdtypes.rst:3379 msgid "" ":meth:`bytes.fromhex` now accepts ASCII :class:`bytes` and :term:`bytes-like " "objects ` as input." @@ -6488,7 +6490,7 @@ msgstr "" ":meth:`bytes.fromhex` akzeptiert nun ASCII-:class:`bytes` und :term:`Byte-" "ähnliche Objekte ` als Eingabe." -#: ../../library/stdtypes.rst:3383 +#: ../../builtins/stdtypes.rst:3383 msgid "" "A reverse conversion function exists to transform a bytes object into its " "hexadecimal representation." @@ -6496,7 +6498,7 @@ msgstr "" "Es existiert eine umgekehrte Konvertierungsfunktion, um ein Bytes-Objekt in " "seine hexadezimale Darstellung umzuwandeln." -#: ../../library/stdtypes.rst:3389 ../../library/stdtypes.rst:3480 +#: ../../builtins/stdtypes.rst:3389 ../../builtins/stdtypes.rst:3480 msgid "" "Return a string object containing two hexadecimal digits for each byte in " "the instance." @@ -6504,7 +6506,7 @@ msgstr "" "Gibt ein String-Objekt zurück, das zwei Hexadezimalziffern für jedes Byte in " "der Instanz enthält." -#: ../../library/stdtypes.rst:3395 +#: ../../builtins/stdtypes.rst:3395 msgid "" "If you want to make the hex string easier to read, you can specify a single " "character separator *sep* parameter to include in the output. By default, " @@ -6519,7 +6521,7 @@ msgstr "" "berechnen die Position des Trennzeichens von rechts, negative Werte von " "links." -#: ../../library/stdtypes.rst:3412 +#: ../../builtins/stdtypes.rst:3412 msgid "" ":meth:`bytes.hex` now supports optional *sep* and *bytes_per_sep* parameters " "to insert separators between bytes in the hex output." @@ -6528,7 +6530,7 @@ msgstr "" "*bytes_per_sep*, um Trennzeichen zwischen Bytes in der Hex-Ausgabe " "einzufügen." -#: ../../library/stdtypes.rst:3416 +#: ../../builtins/stdtypes.rst:3416 msgid "" "Since bytes objects are sequences of integers (akin to a tuple), for a bytes " "object *b*, ``b[0]`` will be an integer, while ``b[0:1]`` will be a bytes " @@ -6540,7 +6542,7 @@ msgstr "" "der Länge 1 ist. (Dies steht im Gegensatz zu Text-Strings, bei denen sowohl " "Indizierung als auch Slicing einen String der Länge 1 erzeugen)" -#: ../../library/stdtypes.rst:3421 +#: ../../builtins/stdtypes.rst:3421 msgid "" "The representation of bytes objects uses the literal format (``b'...'``) " "since it is often more useful than e.g. ``bytes([46, 46, 46])``. You can " @@ -6551,11 +6553,11 @@ msgstr "" "Objekt kann mittels ``list(b)`` jederzeit in eine Liste von Ganzzahlen " "umgewandelt werden." -#: ../../library/stdtypes.rst:3429 +#: ../../builtins/stdtypes.rst:3429 msgid "Bytearray Objects" msgstr "Bytearray-Objekte" -#: ../../library/stdtypes.rst:3433 +#: ../../builtins/stdtypes.rst:3433 msgid "" ":class:`bytearray` objects are a mutable counterpart to :class:`bytes` " "objects." @@ -6563,7 +6565,7 @@ msgstr "" ":class:`bytearray`-Objekte sind ein veränderliches Gegenstück zu :class:" "`bytes`-Objekten." -#: ../../library/stdtypes.rst:3439 +#: ../../builtins/stdtypes.rst:3439 msgid "" "There is no dedicated literal syntax for bytearray objects, instead they are " "always created by calling the constructor:" @@ -6571,28 +6573,28 @@ msgstr "" "Es gibt keine eigene Literalsyntax für Bytearray-Objekte; stattdessen werden " "sie immer über den Konstruktor erzeugt:" -#: ../../library/stdtypes.rst:3442 +#: ../../builtins/stdtypes.rst:3442 msgid "Creating an empty instance: ``bytearray()``" msgstr "Erstellen einer leeren Instanz: ``bytearray()``" -#: ../../library/stdtypes.rst:3443 +#: ../../builtins/stdtypes.rst:3443 msgid "Creating a zero-filled instance with a given length: ``bytearray(10)``" msgstr "" "Erstellen einer mit Nullen gefüllten Instanz mit angegebener Länge: " "``bytearray(10)``" -#: ../../library/stdtypes.rst:3444 +#: ../../builtins/stdtypes.rst:3444 msgid "From an iterable of integers: ``bytearray(range(20))``" msgstr "Aus einem Iterable von Ganzzahlen: ``bytearray(range(20))``" -#: ../../library/stdtypes.rst:3445 +#: ../../builtins/stdtypes.rst:3445 msgid "" "Copying existing binary data via the buffer protocol: ``bytearray(b'Hi!')``" msgstr "" "Kopieren vorhandener Binärdaten über das Pufferprotokoll: " "``bytearray(b'Hi!')``" -#: ../../library/stdtypes.rst:3447 +#: ../../builtins/stdtypes.rst:3447 msgid "" "As bytearray objects are mutable, they support the :ref:`mutable ` sequence operations in addition to the common bytes and bytearray " @@ -6602,11 +6604,11 @@ msgstr "" "unter :ref:`bytes-methods` beschriebenen gemeinsamen Bytes- und Bytearray-" "Operationen die :ref:`veränderlichen ` Sequenzoperationen." -#: ../../library/stdtypes.rst:3451 +#: ../../builtins/stdtypes.rst:3451 msgid "Also see the :ref:`bytearray ` built-in." msgstr "Siehe auch die eingebaute Funktion :ref:`bytearray `." -#: ../../library/stdtypes.rst:3453 +#: ../../builtins/stdtypes.rst:3453 msgid "" "Since 2 hexadecimal digits correspond precisely to a single byte, " "hexadecimal numbers are a commonly used format for describing binary data. " @@ -6618,7 +6620,7 @@ msgstr "" "Binärdaten. Dementsprechend besitzt der Bytearray-Typ eine zusätzliche " "Klassenmethode zum Einlesen von Daten in diesem Format:" -#: ../../library/stdtypes.rst:3459 +#: ../../builtins/stdtypes.rst:3459 msgid "" "This :class:`bytearray` class method returns a bytearray object, decoding " "the given string object. The string must contain two hexadecimal digits per " @@ -6629,7 +6631,7 @@ msgstr "" "Zeichenkette muss zwei Hexadezimalziffern pro Byte enthalten, wobei ASCII-" "Whitespace ignoriert wird." -#: ../../library/stdtypes.rst:3466 +#: ../../builtins/stdtypes.rst:3466 msgid "" ":meth:`bytearray.fromhex` now skips all ASCII whitespace in the string, not " "just spaces." @@ -6637,7 +6639,7 @@ msgstr "" ":meth:`bytearray.fromhex` überspringt nun alle ASCII-Whitespaces im String, " "nicht nur Leerzeichen." -#: ../../library/stdtypes.rst:3470 +#: ../../builtins/stdtypes.rst:3470 msgid "" ":meth:`bytearray.fromhex` now accepts ASCII :class:`bytes` and :term:`bytes-" "like objects ` as input." @@ -6645,7 +6647,7 @@ msgstr "" ":meth:`bytearray.fromhex` akzeptiert nun ASCII-:class:`bytes` und :term:" "`Byte-ähnliche Objekte ` als Eingabe." -#: ../../library/stdtypes.rst:3474 +#: ../../builtins/stdtypes.rst:3474 msgid "" "A reverse conversion function exists to transform a bytearray object into " "its hexadecimal representation." @@ -6653,7 +6655,7 @@ msgstr "" "Es existiert eine umgekehrte Konvertierungsfunktion, um ein Bytearray-Objekt " "in seine hexadezimale Darstellung umzuwandeln." -#: ../../library/stdtypes.rst:3488 +#: ../../builtins/stdtypes.rst:3488 msgid "" "Similar to :meth:`bytes.hex`, :meth:`bytearray.hex` now supports optional " "*sep* and *bytes_per_sep* parameters to insert separators between bytes in " @@ -6663,7 +6665,7 @@ msgstr "" "optionalen Parameter *sep* und *bytes_per_sep*, um Trennzeichen zwischen " "Bytes in der Hex-Ausgabe einzufügen." -#: ../../library/stdtypes.rst:3495 +#: ../../builtins/stdtypes.rst:3495 msgid "" "Resize the :class:`bytearray` to contain *size* bytes. *size* must be " "greater than or equal to 0." @@ -6671,14 +6673,14 @@ msgstr "" "Ändert die Größe des :class:`bytearray` auf *size* Bytes. *size* muss größer " "oder gleich 0 sein." -#: ../../library/stdtypes.rst:3498 +#: ../../builtins/stdtypes.rst:3498 msgid "" "If the :class:`bytearray` needs to shrink, bytes beyond *size* are truncated." msgstr "" "Wenn das :class:`bytearray` verkleinert werden muss, werden Bytes jenseits " "von *size* abgeschnitten." -#: ../../library/stdtypes.rst:3500 +#: ../../builtins/stdtypes.rst:3500 msgid "" "If the :class:`bytearray` needs to grow, all new bytes, those beyond *size*, " "will be set to null bytes." @@ -6686,15 +6688,15 @@ msgstr "" "Wenn das :class:`bytearray` vergrößert werden muss, werden alle neuen Bytes " "jenseits von *size* auf Nullbytes gesetzt." -#: ../../library/stdtypes.rst:3504 +#: ../../builtins/stdtypes.rst:3504 msgid "This is equivalent to:" msgstr "Dies entspricht:" -#: ../../library/stdtypes.rst:3512 +#: ../../builtins/stdtypes.rst:3512 msgid "Examples:" msgstr "Beispiele:" -#: ../../library/stdtypes.rst:3525 +#: ../../builtins/stdtypes.rst:3525 msgid "" "Since bytearray objects are sequences of integers (akin to a list), for a " "bytearray object *b*, ``b[0]`` will be an integer, while ``b[0:1]`` will be " @@ -6707,7 +6709,7 @@ msgstr "" "bei denen sowohl Indizierung als auch Slicing einen String der Länge 1 " "erzeugen)" -#: ../../library/stdtypes.rst:3530 +#: ../../builtins/stdtypes.rst:3530 msgid "" "The representation of bytearray objects uses the bytes literal format " "(``bytearray(b'...')``) since it is often more useful than e.g. " @@ -6719,7 +6721,7 @@ msgstr "" "``bytearray([46, 46, 46])``. Ein Bytearray-Objekt kann mittels ``list(b)`` " "jederzeit in eine Liste von Ganzzahlen umgewandelt werden." -#: ../../library/stdtypes.rst:3537 +#: ../../builtins/stdtypes.rst:3537 msgid "" "For detailed information on thread-safety guarantees for :class:`bytearray` " "objects, see :ref:`thread-safety-bytearray`." @@ -6727,11 +6729,11 @@ msgstr "" "Detaillierte Informationen zu den Thread-Sicherheitsgarantien für Objekte " "vom Typ :class:`bytearray` findest du unter :ref:`thread-safety-bytearray`." -#: ../../library/stdtypes.rst:3544 +#: ../../builtins/stdtypes.rst:3544 msgid "Bytes and Bytearray Operations" msgstr "Bytes- und Bytearray-Operationen" -#: ../../library/stdtypes.rst:3549 +#: ../../builtins/stdtypes.rst:3549 msgid "" "Both bytes and bytearray objects support the :ref:`common ` " "sequence operations. They interoperate not just with operands of the same " @@ -6746,7 +6748,7 @@ msgstr "" "frei gemischt werden, ohne Fehler zu verursachen. Der Rückgabetyp des " "Ergebnisses kann jedoch von der Reihenfolge der Operanden abhängen." -#: ../../library/stdtypes.rst:3557 +#: ../../builtins/stdtypes.rst:3557 msgid "" "The methods on bytes and bytearray objects don't accept strings as their " "arguments, just as the methods on strings don't accept bytes as their " @@ -6756,7 +6758,7 @@ msgstr "" "Argumente, genauso wie die Methoden auf Strings keine Bytes als Argumente " "akzeptieren. Zum Beispiel muss man schreiben::" -#: ../../library/stdtypes.rst:3561 +#: ../../builtins/stdtypes.rst:3561 msgid "" "a = \"abc\"\n" "b = a.replace(\"a\", \"f\")" @@ -6764,11 +6766,11 @@ msgstr "" "a = \"abc\"\n" "b = a.replace(\"a\", \"f\")" -#: ../../library/stdtypes.rst:3564 +#: ../../builtins/stdtypes.rst:3564 msgid "and::" msgstr "and::" -#: ../../library/stdtypes.rst:3566 +#: ../../builtins/stdtypes.rst:3566 msgid "" "a = b\"abc\"\n" "b = a.replace(b\"a\", b\"f\")" @@ -6776,7 +6778,7 @@ msgstr "" "a = b\"abc\"\n" "b = a.replace(b\"a\", b\"f\")" -#: ../../library/stdtypes.rst:3569 +#: ../../builtins/stdtypes.rst:3569 msgid "" "Some bytes and bytearray operations assume the use of ASCII compatible " "binary formats, and hence should be avoided when working with arbitrary " @@ -6787,7 +6789,7 @@ msgstr "" "beliebigen Binärdaten vermieden werden. Diese Einschränkungen werden unten " "behandelt." -#: ../../library/stdtypes.rst:3574 +#: ../../builtins/stdtypes.rst:3574 msgid "" "Using these ASCII based operations to manipulate binary data that is not " "stored in an ASCII based format may lead to data corruption." @@ -6796,7 +6798,7 @@ msgstr "" "Binärdaten, die nicht in einem ASCII-basierten Format gespeichert sind, kann " "zu Datenbeschädigung führen." -#: ../../library/stdtypes.rst:3577 +#: ../../builtins/stdtypes.rst:3577 msgid "" "The following methods on bytes and bytearray objects can be used with " "arbitrary binary data." @@ -6804,7 +6806,7 @@ msgstr "" "Die folgenden Methoden auf Bytes- und Bytearray-Objekten können mit " "beliebigen Binärdaten verwendet werden." -#: ../../library/stdtypes.rst:3583 +#: ../../builtins/stdtypes.rst:3583 msgid "" "Return the number of non-overlapping occurrences of subsequence *sub* in the " "range [*start*, *end*]. Optional arguments *start* and *end* are " @@ -6814,9 +6816,9 @@ msgstr "" "Bereich [*start*, *end*] zurück. Die optionalen Argumente *start* und *end* " "werden wie in der Slice-Notation interpretiert." -#: ../../library/stdtypes.rst:3587 ../../library/stdtypes.rst:3692 -#: ../../library/stdtypes.rst:3714 ../../library/stdtypes.rst:3780 -#: ../../library/stdtypes.rst:3793 +#: ../../builtins/stdtypes.rst:3587 ../../builtins/stdtypes.rst:3692 +#: ../../builtins/stdtypes.rst:3714 ../../builtins/stdtypes.rst:3780 +#: ../../builtins/stdtypes.rst:3793 msgid "" "The subsequence to search for may be any :term:`bytes-like object` or an " "integer in the range 0 to 255." @@ -6824,7 +6826,7 @@ msgstr "" "Die zu suchende Teilsequenz kann jedes :term:`Byte-ähnliche Objekt ` oder eine Ganzzahl im Bereich von 0 bis 255 sein." -#: ../../library/stdtypes.rst:3590 +#: ../../builtins/stdtypes.rst:3590 msgid "" "If *sub* is empty, returns the number of empty slices between characters " "which is the length of the bytes object plus one." @@ -6832,14 +6834,14 @@ msgstr "" "Wenn *sub* leer ist, wird die Anzahl der leeren Slices zwischen den Zeichen " "zurückgegeben, was der Länge des Bytes-Objekts plus eins entspricht." -#: ../../library/stdtypes.rst:3593 ../../library/stdtypes.rst:3704 -#: ../../library/stdtypes.rst:3717 ../../library/stdtypes.rst:3783 -#: ../../library/stdtypes.rst:3796 +#: ../../builtins/stdtypes.rst:3593 ../../builtins/stdtypes.rst:3704 +#: ../../builtins/stdtypes.rst:3717 ../../builtins/stdtypes.rst:3783 +#: ../../builtins/stdtypes.rst:3796 msgid "Also accept an integer in the range 0 to 255 as the subsequence." msgstr "" "Akzeptiert nun auch eine Ganzzahl im Bereich von 0 bis 255 als Teilsequenz." -#: ../../library/stdtypes.rst:3600 +#: ../../builtins/stdtypes.rst:3600 msgid "" "If the binary data starts with the *prefix* string, return " "``bytes[len(prefix):]``. Otherwise, return a copy of the original binary " @@ -6849,7 +6851,7 @@ msgstr "" "``bytes[len(prefix):]`` zurückgegeben. Andernfalls wird eine Kopie der " "ursprünglichen Binärdaten zurückgegeben::" -#: ../../library/stdtypes.rst:3604 +#: ../../builtins/stdtypes.rst:3604 msgid "" ">>> b'TestHook'.removeprefix(b'Test')\n" "b'Hook'\n" @@ -6861,21 +6863,21 @@ msgstr "" ">>> b'BaseTestCase'.removeprefix(b'Test')\n" "b'BaseTestCase'" -#: ../../library/stdtypes.rst:3609 +#: ../../builtins/stdtypes.rst:3609 msgid "The *prefix* may be any :term:`bytes-like object`." msgstr "" "Das *prefix* kann jedes :term:`Byte-ähnliche Objekt ` " "sein." -#: ../../library/stdtypes.rst:3613 ../../library/stdtypes.rst:3635 -#: ../../library/stdtypes.rst:3768 ../../library/stdtypes.rst:3861 -#: ../../library/stdtypes.rst:3875 ../../library/stdtypes.rst:3906 -#: ../../library/stdtypes.rst:3920 ../../library/stdtypes.rst:3963 -#: ../../library/stdtypes.rst:4035 ../../library/stdtypes.rst:4053 -#: ../../library/stdtypes.rst:4081 ../../library/stdtypes.rst:4220 -#: ../../library/stdtypes.rst:4275 ../../library/stdtypes.rst:4318 -#: ../../library/stdtypes.rst:4339 ../../library/stdtypes.rst:4361 -#: ../../library/stdtypes.rst:4563 +#: ../../builtins/stdtypes.rst:3613 ../../builtins/stdtypes.rst:3635 +#: ../../builtins/stdtypes.rst:3768 ../../builtins/stdtypes.rst:3861 +#: ../../builtins/stdtypes.rst:3875 ../../builtins/stdtypes.rst:3906 +#: ../../builtins/stdtypes.rst:3920 ../../builtins/stdtypes.rst:3963 +#: ../../builtins/stdtypes.rst:4035 ../../builtins/stdtypes.rst:4053 +#: ../../builtins/stdtypes.rst:4081 ../../builtins/stdtypes.rst:4220 +#: ../../builtins/stdtypes.rst:4275 ../../builtins/stdtypes.rst:4318 +#: ../../builtins/stdtypes.rst:4339 ../../builtins/stdtypes.rst:4361 +#: ../../builtins/stdtypes.rst:4563 msgid "" "The bytearray version of this method does *not* operate in place - it always " "produces a new object, even if no changes were made." @@ -6883,7 +6885,7 @@ msgstr "" "Die Bytearray-Version dieser Methode arbeitet *nicht* in-place – sie erzeugt " "immer ein neues Objekt, selbst wenn keine Änderungen vorgenommen wurden." -#: ../../library/stdtypes.rst:3622 +#: ../../builtins/stdtypes.rst:3622 msgid "" "If the binary data ends with the *suffix* string and that *suffix* is not " "empty, return ``bytes[:-len(suffix)]``. Otherwise, return a copy of the " @@ -6893,7 +6895,7 @@ msgstr "" "nicht leer ist, wird ``bytes[:-len(suffix)]`` zurückgegeben. Andernfalls " "wird eine Kopie der ursprünglichen Binärdaten zurückgegeben::" -#: ../../library/stdtypes.rst:3626 +#: ../../builtins/stdtypes.rst:3626 msgid "" ">>> b'MiscTests'.removesuffix(b'Tests')\n" "b'Misc'\n" @@ -6905,17 +6907,17 @@ msgstr "" ">>> b'TmpDirMixin'.removesuffix(b'Tests')\n" "b'TmpDirMixin'" -#: ../../library/stdtypes.rst:3631 +#: ../../builtins/stdtypes.rst:3631 msgid "The *suffix* may be any :term:`bytes-like object`." msgstr "" "Das *suffix* kann jedes :term:`Byte-ähnliche Objekt ` " "sein." -#: ../../library/stdtypes.rst:3644 +#: ../../builtins/stdtypes.rst:3644 msgid "Return the bytes decoded to a :class:`str`." msgstr "Gibt die als :class:`str` dekodierten Bytes zurück." -#: ../../library/stdtypes.rst:3649 +#: ../../builtins/stdtypes.rst:3649 msgid "" "*errors* controls how decoding errors are handled. If ``'strict'`` (the " "default), a :exc:`UnicodeError` exception is raised. Other possible values " @@ -6928,7 +6930,7 @@ msgstr "" "`codecs.register_error` registrierte Name. Siehe :ref:`error-handlers` für " "Details." -#: ../../library/stdtypes.rst:3655 +#: ../../builtins/stdtypes.rst:3655 msgid "" "For performance reasons, the value of *errors* is not checked for validity " "unless a decoding error actually occurs, :ref:`devmode` is enabled or a :ref:" @@ -6939,7 +6941,7 @@ msgstr "" "ref:`devmode` ist aktiviert oder es wird ein :ref:`Debug-Build ` verwendet." -#: ../../library/stdtypes.rst:3661 +#: ../../builtins/stdtypes.rst:3661 msgid "" "Passing the *encoding* argument to :class:`str` allows decoding any :term:" "`bytes-like object` directly, without needing to make a temporary :class:`!" @@ -6950,7 +6952,7 @@ msgstr "" "ein temporäres :class:`!bytes`- oder :class:`!bytearray`-Objekt erstellen zu " "müssen." -#: ../../library/stdtypes.rst:3676 +#: ../../builtins/stdtypes.rst:3676 msgid "" "Return ``True`` if the binary data ends with the specified *suffix*, " "otherwise return ``False``. *suffix* can also be a tuple of suffixes to " @@ -6962,13 +6964,13 @@ msgstr "" "Suffixen sein. Mit optionalem *start* wird ab dieser Position geprüft. Mit " "optionalem *end* wird der Vergleich an dieser Position beendet." -#: ../../library/stdtypes.rst:3681 +#: ../../builtins/stdtypes.rst:3681 msgid "The suffix(es) to search for may be any :term:`bytes-like object`." msgstr "" "Die zu suchenden Suffixe können jedes :term:`Byte-ähnliche Objekt ` sein." -#: ../../library/stdtypes.rst:3687 +#: ../../builtins/stdtypes.rst:3687 msgid "" "Return the lowest index in the data where the subsequence *sub* is found, " "such that *sub* is contained in the slice ``s[start:end]``. Optional " @@ -6980,7 +6982,7 @@ msgstr "" "optionalen Argumente *start* und *end* werden wie in der Slice-Notation " "interpretiert. Gibt ``-1`` zurück, wenn *sub* nicht gefunden wird." -#: ../../library/stdtypes.rst:3697 +#: ../../builtins/stdtypes.rst:3697 msgid "" "The :meth:`~bytes.find` method should be used only if you need to know the " "position of *sub*. To check if *sub* is a substring or not, use the :" @@ -6990,7 +6992,7 @@ msgstr "" "Position von *sub* benötigt wird. Um zu prüfen, ob *sub* ein Teilstring ist " "oder nicht, verwende den Operator :keyword:`in`::" -#: ../../library/stdtypes.rst:3701 +#: ../../builtins/stdtypes.rst:3701 msgid "" ">>> b'Py' in b'Python'\n" "True" @@ -6998,7 +7000,7 @@ msgstr "" ">>> b'Py' in b'Python'\n" "True" -#: ../../library/stdtypes.rst:3711 +#: ../../builtins/stdtypes.rst:3711 msgid "" "Like :meth:`~bytes.find`, but raise :exc:`ValueError` when the subsequence " "is not found." @@ -7006,7 +7008,7 @@ msgstr "" "Wie :meth:`~bytes.find`, löst jedoch einen :exc:`ValueError` aus, wenn die " "Teilsequenz nicht gefunden wird." -#: ../../library/stdtypes.rst:3724 +#: ../../builtins/stdtypes.rst:3724 msgid "" "Return a bytes or bytearray object which is the concatenation of the binary " "data sequences in *iterable*. A :exc:`TypeError` will be raised if there " @@ -7022,7 +7024,7 @@ msgstr "" "Trennzeichen zwischen den Elementen ist der Inhalt des Bytes- oder Bytearray-" "Objekts, das diese Methode bereitstellt." -#: ../../library/stdtypes.rst:3735 +#: ../../builtins/stdtypes.rst:3735 msgid "" "This static method returns a translation table usable for :meth:`bytes." "translate` that will map each character in *from* into the character at the " @@ -7034,7 +7036,7 @@ msgstr "" "derselben Position in *to* abbildet; *from* und *to* müssen beide :term:" "`Byte-ähnliche Objekte ` sein und dieselbe Länge haben." -#: ../../library/stdtypes.rst:3746 +#: ../../builtins/stdtypes.rst:3746 msgid "" "Split the sequence at the first occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself or its " @@ -7049,13 +7051,13 @@ msgstr "" "Kopie der ursprünglichen Sequenz gefolgt von zwei leeren Bytes- oder " "Bytearray-Objekten enthält." -#: ../../library/stdtypes.rst:3753 ../../library/stdtypes.rst:3810 +#: ../../builtins/stdtypes.rst:3753 ../../builtins/stdtypes.rst:3810 msgid "The separator to search for may be any :term:`bytes-like object`." msgstr "" "Das zu suchende Trennzeichen kann jedes :term:`Byte-ähnliche Objekt ` sein." -#: ../../library/stdtypes.rst:3759 +#: ../../builtins/stdtypes.rst:3759 msgid "" "Return a copy of the sequence with all occurrences of subsequence *old* " "replaced by *new*. If the optional argument *count* is given, only the " @@ -7065,7 +7067,7 @@ msgstr "" "*old* durch *new* ersetzt wurden. Wenn das optionale Argument *count* " "angegeben ist, werden nur die ersten *count* Vorkommen ersetzt." -#: ../../library/stdtypes.rst:3763 +#: ../../builtins/stdtypes.rst:3763 msgid "" "The subsequence to search for and its replacement may be any :term:`bytes-" "like object`." @@ -7073,7 +7075,7 @@ msgstr "" "Die zu suchende Teilsequenz und deren Ersetzung können jedes :term:`Byte-" "ähnliche Objekt ` sein." -#: ../../library/stdtypes.rst:3775 +#: ../../builtins/stdtypes.rst:3775 msgid "" "Return the highest index in the sequence where the subsequence *sub* is " "found, such that *sub* is contained within ``s[start:end]``. Optional " @@ -7085,7 +7087,7 @@ msgstr "" "Die optionalen Argumente *start* und *end* werden wie in der Slice-Notation " "interpretiert. Gibt im Fehlerfall ``-1`` zurück." -#: ../../library/stdtypes.rst:3790 +#: ../../builtins/stdtypes.rst:3790 msgid "" "Like :meth:`~bytes.rfind` but raises :exc:`ValueError` when the subsequence " "*sub* is not found." @@ -7093,7 +7095,7 @@ msgstr "" "Wie :meth:`~bytes.rfind`, löst jedoch einen :exc:`ValueError` aus, wenn die " "Teilsequenz *sub* nicht gefunden wird." -#: ../../library/stdtypes.rst:3803 +#: ../../builtins/stdtypes.rst:3803 msgid "" "Split the sequence at the last occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself or its " @@ -7108,7 +7110,7 @@ msgstr "" "leere Bytes- oder Bytearray-Objekte enthält, gefolgt von einer Kopie der " "ursprünglichen Sequenz." -#: ../../library/stdtypes.rst:3816 +#: ../../builtins/stdtypes.rst:3816 msgid "" "Return ``True`` if the binary data starts with the specified *prefix*, " "otherwise return ``False``. *prefix* can also be a tuple of prefixes to " @@ -7120,13 +7122,13 @@ msgstr "" "suchenden Präfixen sein. Mit optionalem *start* wird ab dieser Position " "geprüft. Mit optionalem *end* wird der Vergleich an dieser Position beendet." -#: ../../library/stdtypes.rst:3821 +#: ../../builtins/stdtypes.rst:3821 msgid "The prefix(es) to search for may be any :term:`bytes-like object`." msgstr "" "Die zu suchenden Präfixe können jedes :term:`Byte-ähnliche Objekt ` sein." -#: ../../library/stdtypes.rst:3827 +#: ../../builtins/stdtypes.rst:3827 msgid "" "Return a copy of the bytes or bytearray object where all bytes occurring in " "the optional argument *delete* are removed, and the remaining bytes have " @@ -7138,14 +7140,14 @@ msgstr "" "verbleibenden Bytes über die angegebene Übersetzungstabelle abgebildet " "wurden, die ein Bytes-Objekt der Länge 256 sein muss." -#: ../../library/stdtypes.rst:3832 +#: ../../builtins/stdtypes.rst:3832 msgid "" "You can use the :func:`bytes.maketrans` method to create a translation table." msgstr "" "Du kannst die Methode :func:`bytes.maketrans` verwenden, um eine " "Übersetzungstabelle zu erstellen." -#: ../../library/stdtypes.rst:3835 +#: ../../builtins/stdtypes.rst:3835 msgid "" "Set the *table* argument to ``None`` for translations that only delete " "characters::" @@ -7153,7 +7155,7 @@ msgstr "" "Setze das Argument *table* auf ``None`` für Übersetzungen, die lediglich " "Zeichen löschen::" -#: ../../library/stdtypes.rst:3838 +#: ../../builtins/stdtypes.rst:3838 msgid "" ">>> b'read this short text'.translate(None, b'aeiou')\n" "b'rd ths shrt txt'" @@ -7161,11 +7163,11 @@ msgstr "" ">>> b'read this short text'.translate(None, b'aeiou')\n" "b'rd ths shrt txt'" -#: ../../library/stdtypes.rst:3841 +#: ../../builtins/stdtypes.rst:3841 msgid "*delete* is now supported as a keyword argument." msgstr "*delete* wird nun als Schlüsselwort-Argument unterstützt." -#: ../../library/stdtypes.rst:3845 +#: ../../builtins/stdtypes.rst:3845 msgid "" "The following methods on bytes and bytearray objects have default behaviours " "that assume the use of ASCII compatible binary formats, but can still be " @@ -7180,7 +7182,7 @@ msgstr "" "Methoden in diesem Abschnitt *nicht* in-place arbeiten, sondern stattdessen " "neue Objekte erzeugen." -#: ../../library/stdtypes.rst:3854 +#: ../../builtins/stdtypes.rst:3854 msgid "" "Return a copy of the object centered in a sequence of length *width*. " "Padding is done using the specified *fillbyte* (default is an ASCII space). " @@ -7192,7 +7194,7 @@ msgstr "" "ein ASCII-Leerzeichen). Für :class:`bytes`-Objekte wird die ursprüngliche " "Sequenz zurückgegeben, wenn *width* kleiner oder gleich ``len(s)`` ist." -#: ../../library/stdtypes.rst:3868 +#: ../../builtins/stdtypes.rst:3868 msgid "" "Return a copy of the object left justified in a sequence of length *width*. " "Padding is done using the specified *fillbyte* (default is an ASCII space). " @@ -7204,7 +7206,7 @@ msgstr "" "ein ASCII-Leerzeichen). Für :class:`bytes`-Objekte wird die ursprüngliche " "Sequenz zurückgegeben, wenn *width* kleiner oder gleich ``len(s)`` ist." -#: ../../library/stdtypes.rst:3882 +#: ../../builtins/stdtypes.rst:3882 msgid "" "Return a copy of the sequence with specified leading bytes removed. The " "*bytes* argument is a binary sequence specifying the set of byte values to " @@ -7219,7 +7221,7 @@ msgstr "" "Whitespace `. Das Argument *bytes* ist kein Präfix; " "stattdessen werden alle Kombinationen seiner Werte entfernt::" -#: ../../library/stdtypes.rst:3889 +#: ../../builtins/stdtypes.rst:3889 msgid "" ">>> b' spacious '.lstrip()\n" "b'spacious '\n" @@ -7231,7 +7233,7 @@ msgstr "" ">>> b'www.example.com'.lstrip(b'cmowz.')\n" "b'example.com'" -#: ../../library/stdtypes.rst:3894 +#: ../../builtins/stdtypes.rst:3894 msgid "" "The binary sequence of byte values to remove may be any :term:`bytes-like " "object`. See :meth:`~bytes.removeprefix` for a method that will remove a " @@ -7242,7 +7244,7 @@ msgstr "" "für eine Methode, die einen einzelnen Präfix-String anstelle einer Menge " "aller Zeichen entfernt. Zum Beispiel::" -#: ../../library/stdtypes.rst:3899 +#: ../../builtins/stdtypes.rst:3899 msgid "" ">>> b'Arthur: three!'.lstrip(b'Arthur: ')\n" "b'ee!'\n" @@ -7254,7 +7256,7 @@ msgstr "" ">>> b'Arthur: three!'.removeprefix(b'Arthur: ')\n" "b'three!'" -#: ../../library/stdtypes.rst:3913 +#: ../../builtins/stdtypes.rst:3913 msgid "" "Return a copy of the object right justified in a sequence of length *width*. " "Padding is done using the specified *fillbyte* (default is an ASCII space). " @@ -7266,7 +7268,7 @@ msgstr "" "ein ASCII-Leerzeichen). Für :class:`bytes`-Objekte wird die ursprüngliche " "Sequenz zurückgegeben, wenn *width* kleiner oder gleich ``len(s)`` ist." -#: ../../library/stdtypes.rst:3927 +#: ../../builtins/stdtypes.rst:3927 msgid "" "Split the binary sequence into subsequences of the same type, using *sep* as " "the delimiter string. If *maxsplit* is given, at most *maxsplit* splits are " @@ -7284,7 +7286,7 @@ msgstr "" "meth:`rsplit` wie :meth:`split`, was weiter unten ausführlich beschrieben " "ist." -#: ../../library/stdtypes.rst:3939 +#: ../../builtins/stdtypes.rst:3939 msgid "" "Return a copy of the sequence with specified trailing bytes removed. The " "*bytes* argument is a binary sequence specifying the set of byte values to " @@ -7299,7 +7301,7 @@ msgstr "" "Whitespace `. Das Argument *bytes* ist kein Suffix; " "stattdessen werden alle Kombinationen seiner Werte entfernt::" -#: ../../library/stdtypes.rst:3946 +#: ../../builtins/stdtypes.rst:3946 msgid "" ">>> b' spacious '.rstrip()\n" "b' spacious'\n" @@ -7311,7 +7313,7 @@ msgstr "" ">>> b'mississippi'.rstrip(b'ipz')\n" "b'mississ'" -#: ../../library/stdtypes.rst:3951 +#: ../../builtins/stdtypes.rst:3951 msgid "" "The binary sequence of byte values to remove may be any :term:`bytes-like " "object`. See :meth:`~bytes.removesuffix` for a method that will remove a " @@ -7322,7 +7324,7 @@ msgstr "" "für eine Methode, die einen einzelnen Suffix-String anstelle einer Menge " "aller Zeichen entfernt. Zum Beispiel::" -#: ../../library/stdtypes.rst:3956 +#: ../../builtins/stdtypes.rst:3956 msgid "" ">>> b'Monty Python'.rstrip(b' Python')\n" "b'M'\n" @@ -7334,7 +7336,7 @@ msgstr "" ">>> b'Monty Python'.removesuffix(b' Python')\n" "b'Monty'" -#: ../../library/stdtypes.rst:3970 +#: ../../builtins/stdtypes.rst:3970 msgid "" "Split the binary sequence into subsequences of the same type, using *sep* as " "the delimiter string. If *maxsplit* is given and non-negative, at most " @@ -7349,7 +7351,7 @@ msgstr "" "``-1`` ist, gibt es keine Begrenzung für die Anzahl der Trennungen (alle " "möglichen Trennungen werden vorgenommen)." -#: ../../library/stdtypes.rst:3976 +#: ../../builtins/stdtypes.rst:3976 msgid "" "If *sep* is given, consecutive delimiters are not grouped together and are " "deemed to delimit empty subsequences (for example, ``b'1,,2'.split(b',')`` " @@ -7368,7 +7370,7 @@ msgstr "" "``[bytearray(b'')]`` zurück. Das Argument *sep* kann jedes :term:`Byte-" "ähnliche Objekt ` sein." -#: ../../library/stdtypes.rst:3986 +#: ../../builtins/stdtypes.rst:3986 msgid "" ">>> b'1,2,3'.split(b',')\n" "[b'1', b'2', b'3']\n" @@ -7388,7 +7390,7 @@ msgstr "" ">>> b'1<>2<>3<4'.split(b'<>')\n" "[b'1', b'2', b'3<4']" -#: ../../library/stdtypes.rst:3995 +#: ../../builtins/stdtypes.rst:3995 msgid "" "If *sep* is not specified or is ``None``, a different splitting algorithm is " "applied: runs of consecutive :meth:`ASCII whitespace ` are " @@ -7406,7 +7408,7 @@ msgstr "" "ausschließlich aus ASCII-Whitespace besteht, ohne angegebenes Trennzeichen " "``[]`` zurück." -#: ../../library/stdtypes.rst:4006 +#: ../../builtins/stdtypes.rst:4006 msgid "" ">>> b'1 2 3'.split()\n" "[b'1', b'2', b'3']\n" @@ -7422,7 +7424,7 @@ msgstr "" ">>> b' 1 2 3 '.split()\n" "[b'1', b'2', b'3']" -#: ../../library/stdtypes.rst:4017 +#: ../../builtins/stdtypes.rst:4017 msgid "" "Return a copy of the sequence with specified leading and trailing bytes " "removed. The *bytes* argument is a binary sequence specifying the set of " @@ -7439,7 +7441,7 @@ msgstr "" "Präfix oder Suffix; stattdessen werden alle Kombinationen seiner Werte " "entfernt::" -#: ../../library/stdtypes.rst:4025 +#: ../../builtins/stdtypes.rst:4025 msgid "" ">>> b' spacious '.strip()\n" "b'spacious'\n" @@ -7451,7 +7453,7 @@ msgstr "" ">>> b'www.example.com'.strip(b'cmowz.')\n" "b'example'" -#: ../../library/stdtypes.rst:4030 +#: ../../builtins/stdtypes.rst:4030 msgid "" "The binary sequence of byte values to remove may be any :term:`bytes-like " "object`." @@ -7459,7 +7461,7 @@ msgstr "" "Die binäre Sequenz der zu entfernenden Bytewerte kann jedes :term:`Byte-" "ähnliche Objekt ` sein." -#: ../../library/stdtypes.rst:4039 +#: ../../builtins/stdtypes.rst:4039 msgid "" "The following methods on bytes and bytearray objects assume the use of ASCII " "compatible binary formats and should not be applied to arbitrary binary " @@ -7472,7 +7474,7 @@ msgstr "" "Methoden in diesem Abschnitt *nicht* in-place arbeiten, sondern stattdessen " "neue Objekte erzeugen." -#: ../../library/stdtypes.rst:4047 +#: ../../builtins/stdtypes.rst:4047 msgid "" "Return a copy of the sequence with each byte interpreted as an ASCII " "character, and the first byte capitalized and the rest lowercased. Non-ASCII " @@ -7482,7 +7484,7 @@ msgstr "" "interpretiert wird, wobei das erste Byte großgeschrieben und der Rest " "kleingeschrieben wird. Nicht-ASCII-Bytewerte werden unverändert übernommen." -#: ../../library/stdtypes.rst:4060 +#: ../../builtins/stdtypes.rst:4060 msgid "" "Return a copy of the sequence where all ASCII tab characters are replaced by " "one or more ASCII spaces, depending on the current column and the given tab " @@ -7512,7 +7514,7 @@ msgstr "" "Bytewert wird unverändert kopiert und die aktuelle Spalte um eins erhöht, " "unabhängig davon, wie der Bytewert bei der Ausgabe dargestellt wird::" -#: ../../library/stdtypes.rst:4074 +#: ../../builtins/stdtypes.rst:4074 msgid "" ">>> b'01\\t012\\t0123\\t01234'.expandtabs()\n" "b'01 012 0123 01234'\n" @@ -7524,7 +7526,7 @@ msgstr "" ">>> b'01\\t012\\t0123\\t01234'.expandtabs(4)\n" "b'01 012 0123 01234'" -#: ../../library/stdtypes.rst:4088 +#: ../../builtins/stdtypes.rst:4088 msgid "" "Return ``True`` if all bytes in the sequence are alphabetical ASCII " "characters or ASCII decimal digits and the sequence is not empty, ``False`` " @@ -7539,7 +7541,7 @@ msgstr "" "ASCII-Dezimalziffern sind diejenigen Bytewerte in der Sequenz " "``b'0123456789'``." -#: ../../library/stdtypes.rst:4096 +#: ../../builtins/stdtypes.rst:4096 msgid "" ">>> b'ABCabc1'.isalnum()\n" "True\n" @@ -7551,7 +7553,7 @@ msgstr "" ">>> b'ABC abc1'.isalnum()\n" "False" -#: ../../library/stdtypes.rst:4105 +#: ../../builtins/stdtypes.rst:4105 msgid "" "Return ``True`` if all bytes in the sequence are alphabetic ASCII characters " "and the sequence is not empty, ``False`` otherwise. Alphabetic ASCII " @@ -7563,7 +7565,7 @@ msgstr "" "Alphabetische ASCII-Zeichen sind diejenigen Bytewerte in der Sequenz " "``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'``." -#: ../../library/stdtypes.rst:4112 +#: ../../builtins/stdtypes.rst:4112 msgid "" ">>> b'ABCabc'.isalpha()\n" "True\n" @@ -7575,7 +7577,7 @@ msgstr "" ">>> b'ABCabc1'.isalpha()\n" "False" -#: ../../library/stdtypes.rst:4121 +#: ../../builtins/stdtypes.rst:4121 msgid "" "Return ``True`` if the sequence is empty or all bytes in the sequence are " "ASCII, ``False`` otherwise. ASCII bytes are in the range 0-0x7F." @@ -7584,7 +7586,7 @@ msgstr "" "Sequenz ASCII sind, andernfalls ``False``. ASCII-Bytes liegen im Bereich 0–" "0x7F." -#: ../../library/stdtypes.rst:4131 +#: ../../builtins/stdtypes.rst:4131 msgid "" "Return ``True`` if all bytes in the sequence are ASCII decimal digits and " "the sequence is not empty, ``False`` otherwise. ASCII decimal digits are " @@ -7594,7 +7596,7 @@ msgstr "" "sind und die Sequenz nicht leer ist, andernfalls ``False``. ASCII-" "Dezimalziffern sind diejenigen Bytewerte in der Sequenz ``b'0123456789'``." -#: ../../library/stdtypes.rst:4137 +#: ../../builtins/stdtypes.rst:4137 msgid "" ">>> b'1234'.isdigit()\n" "True\n" @@ -7606,7 +7608,7 @@ msgstr "" ">>> b'1.23'.isdigit()\n" "False" -#: ../../library/stdtypes.rst:4146 +#: ../../builtins/stdtypes.rst:4146 msgid "" "Return ``True`` if there is at least one lowercase ASCII character in the " "sequence and no uppercase ASCII characters, ``False`` otherwise." @@ -7615,7 +7617,7 @@ msgstr "" "in der Sequenz vorhanden ist und keine großgeschriebenen ASCII-Zeichen, " "andernfalls ``False``." -#: ../../library/stdtypes.rst:4151 +#: ../../builtins/stdtypes.rst:4151 msgid "" ">>> b'hello world'.islower()\n" "True\n" @@ -7627,9 +7629,9 @@ msgstr "" ">>> b'Hello world'.islower()\n" "False" -#: ../../library/stdtypes.rst:4156 ../../library/stdtypes.rst:4198 -#: ../../library/stdtypes.rst:4214 ../../library/stdtypes.rst:4264 -#: ../../library/stdtypes.rst:4333 +#: ../../builtins/stdtypes.rst:4156 ../../builtins/stdtypes.rst:4198 +#: ../../builtins/stdtypes.rst:4214 ../../builtins/stdtypes.rst:4264 +#: ../../builtins/stdtypes.rst:4333 msgid "" "Lowercase ASCII characters are those byte values in the sequence " "``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte " @@ -7639,7 +7641,7 @@ msgstr "" "``b'abcdefghijklmnopqrstuvwxyz'``. Großgeschriebene ASCII-Zeichen sind " "diejenigen Bytewerte in der Sequenz ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``." -#: ../../library/stdtypes.rst:4164 +#: ../../builtins/stdtypes.rst:4164 msgid "" "Return ``True`` if all bytes in the sequence are ASCII whitespace and the " "sequence is not empty, ``False`` otherwise. ASCII whitespace characters are " @@ -7652,7 +7654,7 @@ msgstr "" "(Leerzeichen, Tabulator, Zeilenvorschub, Wagenrücklauf, vertikaler " "Tabulator, Seitenvorschub)." -#: ../../library/stdtypes.rst:4173 +#: ../../builtins/stdtypes.rst:4173 msgid "" "Return ``True`` if the sequence is ASCII titlecase and the sequence is not " "empty, ``False`` otherwise. See :meth:`bytes.title` for more details on the " @@ -7662,7 +7664,7 @@ msgstr "" "Sequenz nicht leer ist, andernfalls ``False``. Siehe :meth:`bytes.title` für " "weitere Details zur Definition von \"Titlecase\"." -#: ../../library/stdtypes.rst:4179 +#: ../../builtins/stdtypes.rst:4179 msgid "" ">>> b'Hello World'.istitle()\n" "True\n" @@ -7674,7 +7676,7 @@ msgstr "" ">>> b'Hello world'.istitle()\n" "False" -#: ../../library/stdtypes.rst:4188 +#: ../../builtins/stdtypes.rst:4188 msgid "" "Return ``True`` if there is at least one uppercase alphabetic ASCII " "character in the sequence and no lowercase ASCII characters, ``False`` " @@ -7684,7 +7686,7 @@ msgstr "" "ASCII-Zeichen in der Sequenz vorhanden ist und keine kleingeschriebenen " "ASCII-Zeichen, andernfalls ``False``." -#: ../../library/stdtypes.rst:4193 +#: ../../builtins/stdtypes.rst:4193 msgid "" ">>> b'HELLO WORLD'.isupper()\n" "True\n" @@ -7696,7 +7698,7 @@ msgstr "" ">>> b'Hello world'.isupper()\n" "False" -#: ../../library/stdtypes.rst:4206 +#: ../../builtins/stdtypes.rst:4206 msgid "" "Return a copy of the sequence with all the uppercase ASCII characters " "converted to their corresponding lowercase counterpart." @@ -7705,7 +7707,7 @@ msgstr "" "Zeichen in ihre entsprechenden kleingeschriebenen Gegenstücke umgewandelt " "wurden." -#: ../../library/stdtypes.rst:4211 +#: ../../builtins/stdtypes.rst:4211 msgid "" ">>> b'Hello World'.lower()\n" "b'hello world'" @@ -7713,7 +7715,7 @@ msgstr "" ">>> b'Hello World'.lower()\n" "b'hello world'" -#: ../../library/stdtypes.rst:4231 +#: ../../builtins/stdtypes.rst:4231 msgid "" "Return a list of the lines in the binary sequence, breaking at ASCII line " "boundaries. This method uses the :term:`universal newlines` approach to " @@ -7726,7 +7728,7 @@ msgstr "" "Zeilenumbrüche sind nicht in der Ergebnisliste enthalten, es sei denn, " "*keepends* ist angegeben und wahr." -#: ../../library/stdtypes.rst:4238 +#: ../../builtins/stdtypes.rst:4238 msgid "" ">>> b'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines()\n" "[b'ab c', b'', b'de fg', b'kl']\n" @@ -7738,7 +7740,7 @@ msgstr "" ">>> b'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines(keepends=True)\n" "[b'ab c\\n', b'\\n', b'de fg\\r', b'kl\\r\\n']" -#: ../../library/stdtypes.rst:4243 +#: ../../builtins/stdtypes.rst:4243 msgid "" "Unlike :meth:`~bytes.split` when a delimiter string *sep* is given, this " "method returns an empty list for the empty string, and a terminal line break " @@ -7748,7 +7750,7 @@ msgstr "" "ist, gibt diese Methode für den leeren String eine leere Liste zurück, und " "ein abschließender Zeilenumbruch führt nicht zu einer zusätzlichen Zeile::" -#: ../../library/stdtypes.rst:4247 +#: ../../builtins/stdtypes.rst:4247 msgid "" ">>> b\"\".split(b'\\n'), b\"Two lines\\n\".split(b'\\n')\n" "([b''], [b'Two lines', b''])\n" @@ -7760,7 +7762,7 @@ msgstr "" ">>> b\"\".splitlines(), b\"One line\\n\".splitlines()\n" "([], [b'One line'])" -#: ../../library/stdtypes.rst:4256 +#: ../../builtins/stdtypes.rst:4256 msgid "" "Return a copy of the sequence with all the lowercase ASCII characters " "converted to their corresponding uppercase counterpart and vice-versa." @@ -7769,7 +7771,7 @@ msgstr "" "Zeichen in ihre entsprechenden großgeschriebenen Gegenstücke umgewandelt " "wurden und umgekehrt." -#: ../../library/stdtypes.rst:4261 +#: ../../builtins/stdtypes.rst:4261 msgid "" ">>> b'Hello World'.swapcase()\n" "b'hELLO wORLD'" @@ -7777,7 +7779,7 @@ msgstr "" ">>> b'Hello World'.swapcase()\n" "b'hELLO wORLD'" -#: ../../library/stdtypes.rst:4268 +#: ../../builtins/stdtypes.rst:4268 msgid "" "Unlike :func:`str.swapcase`, it is always the case that ``bin.swapcase()." "swapcase() == bin`` for the binary versions. Case conversions are " @@ -7789,7 +7791,7 @@ msgstr "" "sind in ASCII symmetrisch, auch wenn dies für beliebige Unicode-Codepunkte " "im Allgemeinen nicht zutrifft." -#: ../../library/stdtypes.rst:4282 +#: ../../builtins/stdtypes.rst:4282 msgid "" "Return a titlecased version of the binary sequence where words start with an " "uppercase ASCII character and the remaining characters are lowercase. " @@ -7800,7 +7802,7 @@ msgstr "" "kleingeschrieben sind. Bytewerte ohne Groß-/Kleinschreibung bleiben " "unverändert." -#: ../../library/stdtypes.rst:4288 +#: ../../builtins/stdtypes.rst:4288 msgid "" ">>> b'Hello world'.title()\n" "b'Hello World'" @@ -7808,7 +7810,7 @@ msgstr "" ">>> b'Hello world'.title()\n" "b'Hello World'" -#: ../../library/stdtypes.rst:4291 +#: ../../builtins/stdtypes.rst:4291 msgid "" "Lowercase ASCII characters are those byte values in the sequence " "``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte " @@ -7820,7 +7822,7 @@ msgstr "" "diejenigen Bytewerte in der Sequenz ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. Alle " "anderen Bytewerte haben keine Groß-/Kleinschreibung." -#: ../../library/stdtypes.rst:4301 +#: ../../builtins/stdtypes.rst:4301 msgid "" ">>> b\"they're bill's friends from the UK\".title()\n" "b\"They'Re Bill'S Friends From The Uk\"" @@ -7828,14 +7830,14 @@ msgstr "" ">>> b\"they're bill's friends from the UK\".title()\n" "b\"They'Re Bill'S Friends From The Uk\"" -#: ../../library/stdtypes.rst:4304 +#: ../../builtins/stdtypes.rst:4304 msgid "" "A workaround for apostrophes can be constructed using regular expressions::" msgstr "" "Ein Workaround für Apostrophe kann mithilfe regulärer Ausdrücke konstruiert " "werden::" -#: ../../library/stdtypes.rst:4306 +#: ../../builtins/stdtypes.rst:4306 msgid "" ">>> import re\n" ">>> def titlecase(s):\n" @@ -7857,7 +7859,7 @@ msgstr "" ">>> titlecase(b\"they're bill's friends.\")\n" "b\"They're Bill's Friends.\"" -#: ../../library/stdtypes.rst:4325 +#: ../../builtins/stdtypes.rst:4325 msgid "" "Return a copy of the sequence with all the lowercase ASCII characters " "converted to their corresponding uppercase counterpart." @@ -7866,7 +7868,7 @@ msgstr "" "Zeichen in ihre entsprechenden großgeschriebenen Gegenstücke umgewandelt " "wurden." -#: ../../library/stdtypes.rst:4330 +#: ../../builtins/stdtypes.rst:4330 msgid "" ">>> b'Hello World'.upper()\n" "b'HELLO WORLD'" @@ -7874,7 +7876,7 @@ msgstr "" ">>> b'Hello World'.upper()\n" "b'HELLO WORLD'" -#: ../../library/stdtypes.rst:4346 +#: ../../builtins/stdtypes.rst:4346 msgid "" "Return a copy of the sequence left filled with ASCII ``b'0'`` digits to make " "a sequence of length *width*. A leading sign prefix (``b'+'``/ ``b'-'``) is " @@ -7889,7 +7891,7 @@ msgstr "" "`bytes`-Objekte wird die ursprüngliche Sequenz zurückgegeben, wenn *width* " "kleiner oder gleich ``len(seq)`` ist." -#: ../../library/stdtypes.rst:4354 +#: ../../builtins/stdtypes.rst:4354 msgid "" ">>> b\"42\".zfill(5)\n" "b'00042'\n" @@ -7901,11 +7903,11 @@ msgstr "" ">>> b\"-42\".zfill(5)\n" "b'-0042'" -#: ../../library/stdtypes.rst:4368 +#: ../../builtins/stdtypes.rst:4368 msgid "``printf``-style Bytes Formatting" msgstr "Bytes-Formatierung im ``printf``-Stil" -#: ../../library/stdtypes.rst:4385 +#: ../../builtins/stdtypes.rst:4385 msgid "" "The formatting operations described here exhibit a variety of quirks that " "lead to a number of common errors (such as failing to display tuples and " @@ -7917,7 +7919,7 @@ msgstr "" "Darstellen von Tupeln und Dictionaries). Wenn der auszugebende Wert ein " "Tupel oder Dictionary sein kann, packe ihn in ein Tupel." -#: ../../library/stdtypes.rst:4390 +#: ../../builtins/stdtypes.rst:4390 msgid "" "Bytes objects (``bytes``/``bytearray``) have one unique built-in operation: " "the ``%`` operator (modulo). This is also known as the bytes *formatting* or " @@ -7934,7 +7936,7 @@ msgstr "" "*values* ersetzt. Die Wirkung ähnelt der Verwendung von :c:func:`sprintf` in " "der Sprache C." -#: ../../library/stdtypes.rst:4397 +#: ../../builtins/stdtypes.rst:4397 msgid "" "If *format* requires a single argument, *values* may be a single non-tuple " "object. [5]_ Otherwise, *values* must be a tuple with exactly the number of " @@ -7946,7 +7948,7 @@ msgstr "" "der durch das Format-Bytes-Objekt angegebenen Anzahl von Elementen oder ein " "einzelnes Mapping-Objekt (z. B. ein Dictionary) sein." -#: ../../library/stdtypes.rst:4431 +#: ../../builtins/stdtypes.rst:4431 msgid "" "When the right argument is a dictionary (or other mapping type), then the " "formats in the bytes object *must* include a parenthesised mapping key into " @@ -7959,19 +7961,19 @@ msgstr "" "eingefügt wird. Der Mapping-Schlüssel wählt den zu formatierenden Wert aus " "dem Mapping aus. Zum Beispiel:" -#: ../../library/stdtypes.rst:4483 +#: ../../builtins/stdtypes.rst:4483 msgid "\\(8)" msgstr "\\(8)" -#: ../../library/stdtypes.rst:4505 +#: ../../builtins/stdtypes.rst:4505 msgid "Single byte (accepts integer or single byte objects)." msgstr "Einzelnes Byte (akzeptiert Ganzzahl oder Einzel-Byte-Objekte)." -#: ../../library/stdtypes.rst:4508 +#: ../../builtins/stdtypes.rst:4508 msgid "``'b'``" msgstr "``'b'``" -#: ../../library/stdtypes.rst:4508 +#: ../../builtins/stdtypes.rst:4508 msgid "" "Bytes (any object that follows the :ref:`buffer protocol ` or " "has :meth:`~object.__bytes__`)." @@ -7979,7 +7981,7 @@ msgstr "" "Bytes (jedes Objekt, das dem :ref:`Pufferprotokoll ` folgt " "oder :meth:`~object.__bytes__` besitzt)." -#: ../../library/stdtypes.rst:4512 +#: ../../builtins/stdtypes.rst:4512 msgid "" "``'s'`` is an alias for ``'b'`` and should only be used for Python2/3 code " "bases." @@ -7987,7 +7989,7 @@ msgstr "" "``'s'`` ist ein Alias für ``'b'`` und sollte nur für Python-2/3-Codebasen " "verwendet werden." -#: ../../library/stdtypes.rst:4515 +#: ../../builtins/stdtypes.rst:4515 msgid "" "Bytes (converts any Python object using ``repr(obj).encode('ascii', " "'backslashreplace')``)." @@ -7995,7 +7997,7 @@ msgstr "" "Bytes (konvertiert jedes Python-Objekt mittels ``repr(obj).encode('ascii', " "'backslashreplace')``)." -#: ../../library/stdtypes.rst:4518 +#: ../../builtins/stdtypes.rst:4518 msgid "" "``'r'`` is an alias for ``'a'`` and should only be used for Python2/3 code " "bases." @@ -8003,29 +8005,29 @@ msgstr "" "``'r'`` ist ein Alias für ``'a'`` und sollte nur für Python-2/3-Codebasen " "verwendet werden." -#: ../../library/stdtypes.rst:4518 +#: ../../builtins/stdtypes.rst:4518 msgid "\\(7)" msgstr "\\(7)" -#: ../../library/stdtypes.rst:4553 +#: ../../builtins/stdtypes.rst:4553 msgid "``b'%s'`` is deprecated, but will not be removed during the 3.x series." msgstr "" "``b'%s'`` ist veraltet, wird jedoch während der 3.x-Reihe nicht entfernt." -#: ../../library/stdtypes.rst:4556 +#: ../../builtins/stdtypes.rst:4556 msgid "``b'%r'`` is deprecated, but will not be removed during the 3.x series." msgstr "" "``b'%r'`` ist veraltet, wird jedoch während der 3.x-Reihe nicht entfernt." -#: ../../library/stdtypes.rst:4568 +#: ../../builtins/stdtypes.rst:4568 msgid ":pep:`461` - Adding % formatting to bytes and bytearray" msgstr ":pep:`461` - Adding % formatting to bytes and bytearray" -#: ../../library/stdtypes.rst:4575 +#: ../../builtins/stdtypes.rst:4575 msgid "Memory Views" msgstr "Memory-Views" -#: ../../library/stdtypes.rst:4577 +#: ../../builtins/stdtypes.rst:4577 msgid "" ":class:`memoryview` objects allow Python code to access the internal data of " "an object that supports the :ref:`buffer protocol ` without " @@ -8035,7 +8037,7 @@ msgstr "" "die internen Daten eines Objekts zuzugreifen, das das :ref:`Pufferprotokoll " "` unterstützt." -#: ../../library/stdtypes.rst:4583 +#: ../../builtins/stdtypes.rst:4583 msgid "" "Create a :class:`memoryview` that references *object*. *object* must " "support the buffer protocol. Built-in objects that support the buffer " @@ -8045,7 +8047,7 @@ msgstr "" "das Pufferprotokoll unterstützen. Zu den eingebauten Objekten, die das " "Pufferprotokoll unterstützen, gehören :class:`bytes` und :class:`bytearray`." -#: ../../library/stdtypes.rst:4587 +#: ../../builtins/stdtypes.rst:4587 msgid "" "A :class:`memoryview` has the notion of an *element*, which is the atomic " "memory unit handled by the originating *object*. For many simple types such " @@ -8058,7 +8060,7 @@ msgstr "" "`bytearray` ist ein Element ein einzelnes Byte, andere Typen wie :class:" "`array.array` können jedoch größere Elemente haben." -#: ../../library/stdtypes.rst:4592 +#: ../../builtins/stdtypes.rst:4592 msgid "" ":class:`!memoryview`\\s are :ref:`generic ` over the type of their " "underlying data." @@ -8066,7 +8068,7 @@ msgstr "" ":class:`!memoryview`\\s sind über einen Typparameter :ref:`generisch " "`, der den Typ ihrer zugrunde liegenden Daten angibt." -#: ../../library/stdtypes.rst:4595 +#: ../../builtins/stdtypes.rst:4595 msgid "" "``len(view)`` is equal to the length of :meth:`~memoryview.tolist`, which is " "the nested list representation of the view. If ``view.ndim == 1``, this is " @@ -8076,7 +8078,7 @@ msgstr "" "verschachtelten Listendarstellung des Views entspricht. Wenn ``view.ndim == " "1`` ist, entspricht dies der Anzahl der Elemente im View." -#: ../../library/stdtypes.rst:4599 +#: ../../builtins/stdtypes.rst:4599 msgid "" "If ``view.ndim == 0``, ``len(view)`` now raises :exc:`TypeError` instead of " "returning 1." @@ -8084,7 +8086,7 @@ msgstr "" "Wenn ``view.ndim == 0`` ist, löst ``len(view)`` nun einen :exc:`TypeError` " "aus, anstatt 1 zurückzugeben." -#: ../../library/stdtypes.rst:4602 +#: ../../builtins/stdtypes.rst:4602 msgid "" "The :class:`~memoryview.itemsize` attribute will give you the number of " "bytes in a single element." @@ -8092,7 +8094,7 @@ msgstr "" "Das Attribut :class:`~memoryview.itemsize` gibt die Anzahl der Bytes in " "einem einzelnen Element an." -#: ../../library/stdtypes.rst:4605 +#: ../../builtins/stdtypes.rst:4605 msgid "" "A :class:`memoryview` supports slicing and indexing to expose its data. One-" "dimensional slicing will result in a subview::" @@ -8100,7 +8102,7 @@ msgstr "" "Eine :class:`memoryview` unterstützt Slicing und Indizierung zum " "Bereitstellen ihrer Daten. Eindimensionales Slicing führt zu einem Subview::" -#: ../../library/stdtypes.rst:4608 +#: ../../builtins/stdtypes.rst:4608 msgid "" ">>> v = memoryview(b'abcefg')\n" ">>> v[1]\n" @@ -8122,7 +8124,7 @@ msgstr "" ">>> bytes(v[1:4])\n" "b'bce'" -#: ../../library/stdtypes.rst:4618 +#: ../../builtins/stdtypes.rst:4618 msgid "" "If :class:`~memoryview.format` is one of the native format specifiers from " "the :mod:`struct` module, indexing with an integer or a tuple of integers is " @@ -8141,11 +8143,11 @@ msgstr "" "wobei *ndim* die Anzahl der Dimensionen ist. Nulldimensionale Memoryviews " "können mit dem leeren Tupel indiziert werden." -#: ../../library/stdtypes.rst:4627 +#: ../../builtins/stdtypes.rst:4627 msgid "Here is an example with a non-byte format::" msgstr "Hier ist ein Beispiel mit einem Nicht-Byte-Format::" -#: ../../library/stdtypes.rst:4629 +#: ../../builtins/stdtypes.rst:4629 msgid "" ">>> import array\n" ">>> a = array.array('l', [-11111111, 22222222, -33333333, 44444444])\n" @@ -8167,7 +8169,7 @@ msgstr "" ">>> m[::2].tolist()\n" "[-11111111, -33333333]" -#: ../../library/stdtypes.rst:4639 +#: ../../builtins/stdtypes.rst:4639 msgid "" "If the underlying object is writable, the memoryview supports one-" "dimensional slice assignment. Resizing is not allowed::" @@ -8176,7 +8178,7 @@ msgstr "" "Memoryview die eindimensionale Slice-Zuweisung. Größenänderungen sind nicht " "erlaubt::" -#: ../../library/stdtypes.rst:4642 +#: ../../builtins/stdtypes.rst:4642 msgid "" ">>> data = bytearray(b'abcefg')\n" ">>> v = memoryview(data)\n" @@ -8216,7 +8218,7 @@ msgstr "" ">>> data\n" "bytearray(b'z1spam')" -#: ../../library/stdtypes.rst:4660 +#: ../../builtins/stdtypes.rst:4660 msgid "" "One-dimensional memoryviews of :term:`hashable` (read-only) types with " "formats 'B', 'b' or 'c' are also hashable. The hash is defined as ``hash(m) " @@ -8226,7 +8228,7 @@ msgstr "" "(schreibgeschützten) Typen mit den Formaten 'B', 'b' oder 'c' sind ebenfalls " "hashbar. Der Hash ist definiert als ``hash(m) == hash(m.tobytes())``::" -#: ../../library/stdtypes.rst:4664 +#: ../../builtins/stdtypes.rst:4664 msgid "" ">>> v = memoryview(b'abcefg')\n" ">>> hash(v) == hash(b'abcefg')\n" @@ -8244,7 +8246,7 @@ msgstr "" ">>> hash(v[::-2]) == hash(b'abcefg'[::-2])\n" "True" -#: ../../library/stdtypes.rst:4672 +#: ../../builtins/stdtypes.rst:4672 msgid "" "One-dimensional memoryviews can now be sliced. One-dimensional memoryviews " "with formats 'B', 'b' or 'c' are now :term:`hashable`." @@ -8253,7 +8255,7 @@ msgstr "" "Memoryviews mit den Formaten 'B', 'b' oder 'c' sind nun :term:`hashbar " "`." -#: ../../library/stdtypes.rst:4676 +#: ../../builtins/stdtypes.rst:4676 msgid "" "memoryview is now registered automatically with :class:`collections.abc." "Sequence`" @@ -8261,19 +8263,19 @@ msgstr "" "memoryview wird nun automatisch bei :class:`collections.abc.Sequence` " "registriert" -#: ../../library/stdtypes.rst:4680 +#: ../../builtins/stdtypes.rst:4680 msgid "memoryviews can now be indexed with a tuple of integers." msgstr "Memoryviews können nun mit Tupeln aus Ganzzahlen indiziert werden." -#: ../../library/stdtypes.rst:4683 +#: ../../builtins/stdtypes.rst:4683 msgid "memoryview is now a :term:`generic type`." msgstr "memoryview ist nun ein :term:`generischer Typ `." -#: ../../library/stdtypes.rst:4686 +#: ../../builtins/stdtypes.rst:4686 msgid ":class:`memoryview` has several methods:" msgstr ":class:`memoryview` besitzt mehrere Methoden:" -#: ../../library/stdtypes.rst:4690 +#: ../../builtins/stdtypes.rst:4690 msgid "" "A memoryview and a :pep:`3118` exporter are equal if their shapes are " "equivalent and if all corresponding values are equal when the operands' " @@ -8284,7 +8286,7 @@ msgstr "" "jeweiligen Formatcodes der Operanden unter Verwendung der :mod:`struct`-" "Syntax interpretiert werden." -#: ../../library/stdtypes.rst:4694 +#: ../../builtins/stdtypes.rst:4694 msgid "" "For the subset of :mod:`struct` format strings currently supported by :meth:" "`tolist`, ``v`` and ``w`` are equal if ``v.tolist() == w.tolist()``::" @@ -8293,7 +8295,7 @@ msgstr "" "`tolist` unterstützt werden, sind ``v`` und ``w`` gleich, wenn ``v.tolist() " "== w.tolist()`` gilt::" -#: ../../library/stdtypes.rst:4697 +#: ../../builtins/stdtypes.rst:4697 msgid "" ">>> import array\n" ">>> a = array.array('I', [1, 2, 3, 4, 5])\n" @@ -8327,7 +8329,7 @@ msgstr "" ">>> z.tolist() == c.tolist()\n" "True" -#: ../../library/stdtypes.rst:4713 +#: ../../builtins/stdtypes.rst:4713 msgid "" "If either format string is not supported by the :mod:`struct` module, then " "the objects will always compare as unequal (even if the format strings and " @@ -8337,7 +8339,7 @@ msgstr "" "unterstützt wird, werden die Objekte immer als ungleich bewertet (selbst " "wenn die Format-Strings und Pufferinhalte identisch sind)::" -#: ../../library/stdtypes.rst:4717 +#: ../../builtins/stdtypes.rst:4717 msgid "" ">>> from ctypes import BigEndianStructure, c_long\n" ">>> class BEPoint(BigEndianStructure):\n" @@ -8363,7 +8365,7 @@ msgstr "" ">>> a == b\n" "False" -#: ../../library/stdtypes.rst:4729 +#: ../../builtins/stdtypes.rst:4729 msgid "" "Note that, as with floating-point numbers, ``v is w`` does *not* imply ``v " "== w`` for memoryview objects." @@ -8371,7 +8373,7 @@ msgstr "" "Beachte, dass wie bei Gleitkommazahlen für Memoryview-Objekte ``v is w`` " "*nicht* bedeutet, dass ``v == w`` gilt." -#: ../../library/stdtypes.rst:4732 +#: ../../builtins/stdtypes.rst:4732 msgid "" "Previous versions compared the raw memory disregarding the item format and " "the logical array structure." @@ -8379,7 +8381,7 @@ msgstr "" "Frühere Versionen verglichen den Rohspeicher ohne Berücksichtigung des " "Elementformats und der logischen Array-Struktur." -#: ../../library/stdtypes.rst:4738 +#: ../../builtins/stdtypes.rst:4738 msgid "" "Return the data in the buffer as a bytestring. This is equivalent to " "calling the :class:`bytes` constructor on the memoryview. ::" @@ -8387,7 +8389,7 @@ msgstr "" "Gibt die Daten im Puffer als Byte-String zurück. Dies entspricht dem Aufruf " "des :class:`bytes`-Konstruktors auf der Memoryview. ::" -#: ../../library/stdtypes.rst:4741 +#: ../../builtins/stdtypes.rst:4741 msgid "" ">>> m = memoryview(b\"abc\")\n" ">>> m.tobytes()\n" @@ -8401,7 +8403,7 @@ msgstr "" ">>> bytes(m)\n" "b'abc'" -#: ../../library/stdtypes.rst:4747 +#: ../../builtins/stdtypes.rst:4747 msgid "" "For non-contiguous arrays the result is equal to the flattened list " "representation with all elements converted to bytes. :meth:`tobytes` " @@ -8413,7 +8415,7 @@ msgstr "" "`tobytes` unterstützt alle Format-Strings, einschließlich derer, die nicht " "in der Syntax des Moduls :mod:`struct` vorliegen." -#: ../../library/stdtypes.rst:4752 +#: ../../builtins/stdtypes.rst:4752 msgid "" "*order* can be {'C', 'F', 'A'}. When *order* is 'C' or 'F', the data of the " "original array is converted to C or Fortran order. For contiguous views, 'A' " @@ -8428,7 +8430,7 @@ msgstr "" "erhalten. Für nicht-zusammenhängende Views werden die Daten zuerst nach C " "konvertiert. *order=None* entspricht *order='C'*." -#: ../../library/stdtypes.rst:4762 +#: ../../builtins/stdtypes.rst:4762 msgid "" "Return a string object containing two hexadecimal digits for each byte in " "the buffer. ::" @@ -8436,7 +8438,7 @@ msgstr "" "Gibt ein String-Objekt zurück, das zwei Hexadezimalziffern für jedes Byte im " "Puffer enthält. ::" -#: ../../library/stdtypes.rst:4765 +#: ../../builtins/stdtypes.rst:4765 msgid "" ">>> m = memoryview(b\"abc\")\n" ">>> m.hex()\n" @@ -8446,7 +8448,7 @@ msgstr "" ">>> m.hex()\n" "'616263'" -#: ../../library/stdtypes.rst:4771 +#: ../../builtins/stdtypes.rst:4771 msgid "" "Similar to :meth:`bytes.hex`, :meth:`memoryview.hex` now supports optional " "*sep* and *bytes_per_sep* parameters to insert separators between bytes in " @@ -8456,11 +8458,11 @@ msgstr "" "die optionalen Parameter *sep* und *bytes_per_sep*, um Trennzeichen zwischen " "Bytes in der Hex-Ausgabe einzufügen." -#: ../../library/stdtypes.rst:4778 +#: ../../builtins/stdtypes.rst:4778 msgid "Return the data in the buffer as a list of elements. ::" msgstr "Gibt die Daten im Puffer als eine Liste von Elementen zurück. ::" -#: ../../library/stdtypes.rst:4780 +#: ../../builtins/stdtypes.rst:4780 msgid "" ">>> memoryview(b'abc').tolist()\n" "[97, 98, 99]\n" @@ -8478,7 +8480,7 @@ msgstr "" ">>> m.tolist()\n" "[1.1, 2.2, 3.3]" -#: ../../library/stdtypes.rst:4788 +#: ../../builtins/stdtypes.rst:4788 msgid "" ":meth:`tolist` now supports all single character native formats in :mod:" "`struct` module syntax as well as multi-dimensional representations." @@ -8486,7 +8488,7 @@ msgstr "" ":meth:`tolist` unterstützt nun alle nativen Einzelzeichen-Formate in der " "Syntax des Moduls :mod:`struct` sowie mehrdimensionale Darstellungen." -#: ../../library/stdtypes.rst:4795 +#: ../../builtins/stdtypes.rst:4795 msgid "" "Return a readonly version of the memoryview object. The original memoryview " "object is unchanged. ::" @@ -8494,7 +8496,7 @@ msgstr "" "Gibt eine schreibgeschützte Version des Memoryview-Objekts zurück. Das " "ursprüngliche Memoryview-Objekt bleibt unverändert. ::" -#: ../../library/stdtypes.rst:4798 +#: ../../builtins/stdtypes.rst:4798 msgid "" ">>> m = memoryview(bytearray(b'abc'))\n" ">>> mm = m.toreadonly()\n" @@ -8520,7 +8522,7 @@ msgstr "" ">>> mm.tolist()\n" "[43, 98, 99]" -#: ../../library/stdtypes.rst:4814 +#: ../../builtins/stdtypes.rst:4814 msgid "" "Release the underlying buffer exposed by the memoryview object. Many " "objects take special actions when a view is held on them (for example, a :" @@ -8535,7 +8537,7 @@ msgstr "" "praktisch, um diese Einschränkungen so schnell wie möglich aufzuheben (und " "verbleibende Ressourcen freizugeben)." -#: ../../library/stdtypes.rst:4820 +#: ../../builtins/stdtypes.rst:4820 msgid "" "After this method has been called, any further operation on the view raises " "a :class:`ValueError` (except :meth:`release` itself which can be called " @@ -8545,7 +8547,7 @@ msgstr "" "View einen :class:`ValueError` aus (außer :meth:`release` selbst, das " "mehrmals aufgerufen werden kann)::" -#: ../../library/stdtypes.rst:4824 +#: ../../builtins/stdtypes.rst:4824 msgid "" ">>> m = memoryview(b'abc')\n" ">>> m.release()\n" @@ -8561,7 +8563,7 @@ msgstr "" " File \"\", line 1, in \n" "ValueError: operation forbidden on released memoryview object" -#: ../../library/stdtypes.rst:4831 +#: ../../builtins/stdtypes.rst:4831 msgid "" "The context management protocol can be used for a similar effect, using the " "``with`` statement::" @@ -8569,7 +8571,7 @@ msgstr "" "Das Kontextmanagement-Protokoll kann für einen ähnlichen Effekt unter " "Verwendung der ``with``-Anweisung genutzt werden::" -#: ../../library/stdtypes.rst:4834 +#: ../../builtins/stdtypes.rst:4834 msgid "" ">>> with memoryview(b'abc') as m:\n" "... m[0]\n" @@ -8589,7 +8591,7 @@ msgstr "" " File \"\", line 1, in \n" "ValueError: operation forbidden on released memoryview object" -#: ../../library/stdtypes.rst:4848 +#: ../../builtins/stdtypes.rst:4848 msgid "" "Cast a memoryview to a new format or shape. *shape* defaults to " "``[byte_length//new_itemsize]``, which means that the result view will be " @@ -8604,7 +8606,7 @@ msgstr "" "Typumwandlungen (Casts) sind 1D -> C-:term:`zusammenhängend ` " "und C-zusammenhängend -> 1D." -#: ../../library/stdtypes.rst:4854 +#: ../../builtins/stdtypes.rst:4854 msgid "" "The destination format is restricted to a single element native format in :" "mod:`struct` syntax. One of the formats must be a byte format ('B', 'b' or " @@ -8617,11 +8619,11 @@ msgstr "" "übereinstimmen. Beachte, dass alle Byte-Längen vom Betriebssystem abhängen " "können." -#: ../../library/stdtypes.rst:4860 +#: ../../builtins/stdtypes.rst:4860 msgid "Cast 1D/long to 1D/unsigned bytes::" msgstr "Umwandlung von 1D/Long in 1D/Unsigned Bytes::" -#: ../../library/stdtypes.rst:4862 +#: ../../builtins/stdtypes.rst:4862 msgid "" ">>> import array\n" ">>> a = array.array('l', [1,2,3])\n" @@ -8665,11 +8667,11 @@ msgstr "" ">>> y.nbytes\n" "24" -#: ../../library/stdtypes.rst:4883 +#: ../../builtins/stdtypes.rst:4883 msgid "Cast 1D/unsigned bytes to 1D/char::" msgstr "Umwandlung von 1D/Unsigned Bytes in 1D/Char::" -#: ../../library/stdtypes.rst:4885 +#: ../../builtins/stdtypes.rst:4885 msgid "" ">>> b = bytearray(b'zyz')\n" ">>> x = memoryview(b)\n" @@ -8693,11 +8695,11 @@ msgstr "" ">>> b\n" "bytearray(b'ayz')" -#: ../../library/stdtypes.rst:4896 +#: ../../builtins/stdtypes.rst:4896 msgid "Cast 1D/bytes to 3D/ints to 1D/signed char::" msgstr "Umwandlung von 1D/Bytes in 3D/Ints in 1D/Signed Char::" -#: ../../library/stdtypes.rst:4898 +#: ../../builtins/stdtypes.rst:4898 msgid "" ">>> import struct\n" ">>> buf = struct.pack(\"i\"*12, *list(range(12)))\n" @@ -8747,11 +8749,11 @@ msgstr "" ">>> z.nbytes\n" "48" -#: ../../library/stdtypes.rst:4922 +#: ../../builtins/stdtypes.rst:4922 msgid "Cast 1D/unsigned long to 2D/unsigned long::" msgstr "Umwandlung von 1D/Unsigned Long in 2D/Unsigned Long::" -#: ../../library/stdtypes.rst:4924 +#: ../../builtins/stdtypes.rst:4924 msgid "" ">>> buf = struct.pack(\"L\"*6, *list(range(6)))\n" ">>> x = memoryview(buf)\n" @@ -8773,17 +8775,17 @@ msgstr "" ">>> y.tolist()\n" "[[0, 1, 2], [3, 4, 5]]" -#: ../../library/stdtypes.rst:4936 +#: ../../builtins/stdtypes.rst:4936 msgid "The source format is no longer restricted when casting to a byte view." msgstr "" "Das Quellformat ist bei der Umwandlung in einen Byte-View nicht mehr " "eingeschränkt." -#: ../../library/stdtypes.rst:4941 +#: ../../builtins/stdtypes.rst:4941 msgid "Count the number of occurrences of *value*." msgstr "Zählt die Anzahl der Vorkommen von *value*." -#: ../../library/stdtypes.rst:4947 +#: ../../builtins/stdtypes.rst:4947 msgid "" "Return the index of the first occurrence of *value* (at or after index " "*start* and before index *stop*)." @@ -8791,20 +8793,20 @@ msgstr "" "Gibt den Index des ersten Vorkommens von *value* zurück (an oder nach Index " "*start* und vor Index *stop*)." -#: ../../library/stdtypes.rst:4950 +#: ../../builtins/stdtypes.rst:4950 msgid "Raises a :exc:`ValueError` if *value* cannot be found." msgstr "" "Löst einen :exc:`ValueError` aus, wenn *value* nicht gefunden werden kann." -#: ../../library/stdtypes.rst:4954 +#: ../../builtins/stdtypes.rst:4954 msgid "There are also several readonly attributes available:" msgstr "Es stehen außerdem mehrere schreibgeschützte Attribute zur Verfügung:" -#: ../../library/stdtypes.rst:4958 +#: ../../builtins/stdtypes.rst:4958 msgid "The underlying object of the memoryview::" msgstr "Das zugrunde liegende Objekt der Memoryview::" -#: ../../library/stdtypes.rst:4960 +#: ../../builtins/stdtypes.rst:4960 msgid "" ">>> b = bytearray(b'xyz')\n" ">>> m = memoryview(b)\n" @@ -8816,7 +8818,7 @@ msgstr "" ">>> m.obj is b\n" "True" -#: ../../library/stdtypes.rst:4969 +#: ../../builtins/stdtypes.rst:4969 msgid "" "``nbytes == product(shape) * itemsize == len(m.tobytes())``. This is the " "amount of space in bytes that the array would use in a contiguous " @@ -8826,7 +8828,7 @@ msgstr "" "Speicherplatz in Bytes, den das Array in einer zusammenhängenden Darstellung " "belegen würde. Er ist nicht zwingend gleich ``len(m)``::" -#: ../../library/stdtypes.rst:4973 +#: ../../builtins/stdtypes.rst:4973 msgid "" ">>> import array\n" ">>> a = array.array('i', [1,2,3,4,5])\n" @@ -8858,11 +8860,11 @@ msgstr "" ">>> len(y.tobytes())\n" "12" -#: ../../library/stdtypes.rst:4988 +#: ../../builtins/stdtypes.rst:4988 msgid "Multi-dimensional arrays::" msgstr "Mehrdimensionale Arrays::" -#: ../../library/stdtypes.rst:4990 +#: ../../builtins/stdtypes.rst:4990 msgid "" ">>> import struct\n" ">>> buf = struct.pack(\"d\"*12, *[1.5*x for x in range(12)])\n" @@ -8886,11 +8888,11 @@ msgstr "" ">>> y.nbytes\n" "96" -#: ../../library/stdtypes.rst:5005 +#: ../../builtins/stdtypes.rst:5005 msgid "A bool indicating whether the memory is read only." msgstr "Ein boolescher Wert, der angibt, ob der Speicher schreibgeschützt ist." -#: ../../library/stdtypes.rst:5009 +#: ../../builtins/stdtypes.rst:5009 msgid "" "A string containing the format (in :mod:`struct` module style) for each " "element in the view. A memoryview can be created from exporters with " @@ -8902,7 +8904,7 @@ msgstr "" "Format-Strings erzeugt werden, einige Methoden (z. B. :meth:`tolist`) sind " "jedoch auf native Einzel-Element-Formate beschränkt." -#: ../../library/stdtypes.rst:5014 +#: ../../builtins/stdtypes.rst:5014 msgid "" "format ``'B'`` is now handled according to the struct module syntax. This " "means that ``memoryview(b'abc')[0] == b'abc'[0] == 97``." @@ -8910,11 +8912,11 @@ msgstr "" "Das Format ``'B'`` wird nun gemäß der Syntax des Moduls struct behandelt. " "Das bedeutet, dass ``memoryview(b'abc')[0] == b'abc'[0] == 97`` gilt." -#: ../../library/stdtypes.rst:5020 +#: ../../builtins/stdtypes.rst:5020 msgid "The size in bytes of each element of the memoryview::" msgstr "Die Größe jedes Elements der Memoryview in Bytes::" -#: ../../library/stdtypes.rst:5022 +#: ../../builtins/stdtypes.rst:5022 msgid "" ">>> import array, struct\n" ">>> m = memoryview(array.array('H', [32000, 32001, 32002]))\n" @@ -8934,7 +8936,7 @@ msgstr "" ">>> struct.calcsize('H') == m.itemsize\n" "True" -#: ../../library/stdtypes.rst:5033 +#: ../../builtins/stdtypes.rst:5033 msgid "" "An integer indicating how many dimensions of a multi-dimensional array the " "memory represents." @@ -8942,7 +8944,7 @@ msgstr "" "Eine Ganzzahl, die angibt, wie viele Dimensionen eines mehrdimensionalen " "Arrays der Speicher darstellt." -#: ../../library/stdtypes.rst:5038 +#: ../../builtins/stdtypes.rst:5038 msgid "" "A tuple of integers the length of :attr:`ndim` giving the shape of the " "memory as an N-dimensional array." @@ -8950,11 +8952,11 @@ msgstr "" "Ein Tupel aus Ganzzahlen mit der Länge von :attr:`ndim`, das das Shape des " "Speichers als N-dimensionales Array angibt." -#: ../../library/stdtypes.rst:5041 ../../library/stdtypes.rst:5049 +#: ../../builtins/stdtypes.rst:5041 ../../builtins/stdtypes.rst:5049 msgid "An empty tuple instead of ``None`` when ndim = 0." msgstr "Ein leeres Tupel anstelle von ``None``, wenn ndim = 0 ist." -#: ../../library/stdtypes.rst:5046 +#: ../../builtins/stdtypes.rst:5046 msgid "" "A tuple of integers the length of :attr:`ndim` giving the size in bytes to " "access each element for each dimension of the array." @@ -8962,31 +8964,31 @@ msgstr "" "Ein Tupel aus Ganzzahlen mit der Länge von :attr:`ndim`, das die Größe in " "Bytes für den Zugriff auf jedes Element für jede Dimension des Arrays angibt." -#: ../../library/stdtypes.rst:5054 +#: ../../builtins/stdtypes.rst:5054 msgid "Used internally for PIL-style arrays. The value is informational only." msgstr "" "Wird intern für Arrays im PIL-Stil verwendet. Der Wert dient nur zur " "Information." -#: ../../library/stdtypes.rst:5058 +#: ../../builtins/stdtypes.rst:5058 msgid "A bool indicating whether the memory is C-:term:`contiguous`." msgstr "" "Ein boolescher Wert, der angibt, ob der Speicher C-:term:`zusammenhängend " "` ist." -#: ../../library/stdtypes.rst:5064 +#: ../../builtins/stdtypes.rst:5064 msgid "A bool indicating whether the memory is Fortran :term:`contiguous`." msgstr "" "Ein boolescher Wert, der angibt, ob der Speicher Fortran-:term:" "`zusammenhängend ` ist." -#: ../../library/stdtypes.rst:5070 +#: ../../builtins/stdtypes.rst:5070 msgid "A bool indicating whether the memory is :term:`contiguous`." msgstr "" "Ein boolescher Wert, der angibt, ob der Speicher :term:`zusammenhängend " "` ist." -#: ../../library/stdtypes.rst:5074 +#: ../../builtins/stdtypes.rst:5074 msgid "" "For information on the thread safety of :class:`memoryview` objects in the :" "term:`free-threaded build`, see :ref:`thread-safety-memoryview`." @@ -8995,11 +8997,11 @@ msgstr "" "term:`Build mit freien Threads ` findest du unter :ref:" "`thread-safety-memoryview`." -#: ../../library/stdtypes.rst:5081 +#: ../../builtins/stdtypes.rst:5081 msgid "Set Types --- :class:`set`, :class:`frozenset`" msgstr "Mengen-Typen – :class:`set`, :class:`frozenset`" -#: ../../library/stdtypes.rst:5085 +#: ../../builtins/stdtypes.rst:5085 msgid "" "A :dfn:`set` object is an unordered collection of distinct :term:`hashable` " "objects. Common uses include membership testing, removing duplicates from a " @@ -9018,7 +9020,7 @@ msgstr "" "`tuple` sowie das Modul :mod:`collections`.) Siehe :ref:`time-complexity` " "für die Kosten der verschiedenen Set-Operationen." -#: ../../library/stdtypes.rst:5093 +#: ../../builtins/stdtypes.rst:5093 msgid "" "Like other collections, sets support ``x in set``, ``len(set)``, and ``for x " "in set``. Being an unordered collection, sets do not record element " @@ -9031,7 +9033,7 @@ msgstr "" "unterstützen Mengen weder Indizierung, Slicing noch anderes sequenzartiges " "Verhalten." -#: ../../library/stdtypes.rst:5098 +#: ../../builtins/stdtypes.rst:5098 msgid "" "There are currently two built-in set types, :class:`set` and :class:" "`frozenset`. The :class:`set` type is mutable --- the contents can be " @@ -9052,7 +9054,7 @@ msgstr "" "als Dictionary-Schlüssel oder als Element einer anderen Menge verwendet " "werden." -#: ../../library/stdtypes.rst:5107 +#: ../../builtins/stdtypes.rst:5107 msgid "" "Non-empty sets (not frozensets) can be created by placing a comma-separated " "list of elements within braces, for example: ``{'jack', 'sjoerd'}``, in " @@ -9062,11 +9064,11 @@ msgstr "" "`set` auch durch eine kommagetrennte Liste von Elementen in geschweiften " "Klammern erstellt werden, zum Beispiel: ``{'jack', 'sjoerd'}``." -#: ../../library/stdtypes.rst:5111 +#: ../../builtins/stdtypes.rst:5111 msgid "The constructors for both classes work the same:" msgstr "Die Konstruktoren für beide Klassen funktionieren gleich:" -#: ../../library/stdtypes.rst:5116 +#: ../../builtins/stdtypes.rst:5116 msgid "" "Return a new set or frozenset object whose elements are taken from " "*iterable*. The elements of a set must be :term:`hashable`. To represent " @@ -9079,25 +9081,25 @@ msgstr "" "Mengen :class:`frozenset`-Objekte sein. Wenn *iterable* nicht angegeben ist, " "wird eine neue leere Menge zurückgegeben." -#: ../../library/stdtypes.rst:5122 +#: ../../builtins/stdtypes.rst:5122 msgid "Sets can be created by several means:" msgstr "Mengen können auf verschiedene Arten erstellt werden:" -#: ../../library/stdtypes.rst:5124 +#: ../../builtins/stdtypes.rst:5124 msgid "" "Use a comma-separated list of elements within braces: ``{'jack', 'sjoerd'}``" msgstr "" "Verwendung einer kommagetrennten Liste von Elementen in geschweiften " "Klammern: ``{'jack', 'sjoerd'}``" -#: ../../library/stdtypes.rst:5125 +#: ../../builtins/stdtypes.rst:5125 msgid "" "Use a set comprehension: ``{c for c in 'abracadabra' if c not in 'abc'}``" msgstr "" "Verwendung einer Set-Comprehension: ``{c for c in 'abracadabra' if c not in " "'abc'}``" -#: ../../library/stdtypes.rst:5126 +#: ../../builtins/stdtypes.rst:5126 msgid "" "Use the type constructor: ``set()``, ``set('foobar')``, ``set(['a', 'b', " "'foo'])``" @@ -9105,7 +9107,7 @@ msgstr "" "Verwendung des Typ-Konstruktors: ``set()``, ``set('foobar')``, ``set(['a', " "'b', 'foo'])``" -#: ../../library/stdtypes.rst:5128 +#: ../../builtins/stdtypes.rst:5128 msgid "" "Instances of :class:`set` and :class:`frozenset` provide the following " "operations:" @@ -9113,20 +9115,20 @@ msgstr "" "Instanzen von :class:`set` und :class:`frozenset` bieten die folgenden " "Operationen:" -#: ../../library/stdtypes.rst:5133 +#: ../../builtins/stdtypes.rst:5133 msgid "Return the number of elements in set *s* (cardinality of *s*)." msgstr "" "Gibt die Anzahl der Elemente in der Menge *s* zurück (Kardinalität von *s*)." -#: ../../library/stdtypes.rst:5137 +#: ../../builtins/stdtypes.rst:5137 msgid "Test *x* for membership in *s*." msgstr "Prüft *x* auf Mitgliedschaft in *s*." -#: ../../library/stdtypes.rst:5141 +#: ../../builtins/stdtypes.rst:5141 msgid "Test *x* for non-membership in *s*." msgstr "Prüft *x* auf Nicht-Mitgliedschaft in *s*." -#: ../../library/stdtypes.rst:5146 +#: ../../builtins/stdtypes.rst:5146 msgid "" "Return ``True`` if the set has no elements in common with *other*. Sets are " "disjoint if and only if their intersection is the empty set." @@ -9135,11 +9137,11 @@ msgstr "" "hat. Mengen sind genau dann disjunkt, wenn ihre Schnittmenge die leere Menge " "ist." -#: ../../library/stdtypes.rst:5153 +#: ../../builtins/stdtypes.rst:5153 msgid "Test whether every element in the set is in *other*." msgstr "Prüft, ob jedes Element der Menge in *other* enthalten ist." -#: ../../library/stdtypes.rst:5157 +#: ../../builtins/stdtypes.rst:5157 msgid "" "Test whether the set is a proper subset of *other*, that is, ``set <= other " "and set != other``." @@ -9147,11 +9149,11 @@ msgstr "" "Prüft, ob die Menge eine echte Teilmenge von *other* ist, das heißt ``set <= " "other and set != other``." -#: ../../library/stdtypes.rst:5164 +#: ../../builtins/stdtypes.rst:5164 msgid "Test whether every element in *other* is in the set." msgstr "Prüft, ob jedes Element in *other* in der Menge enthalten ist." -#: ../../library/stdtypes.rst:5168 +#: ../../builtins/stdtypes.rst:5168 msgid "" "Test whether the set is a proper superset of *other*, that is, ``set >= " "other and set != other``." @@ -9159,35 +9161,35 @@ msgstr "" "Prüft, ob die Menge eine echte Obermenge von *other* ist, das heißt ``set >= " "other and set != other``." -#: ../../library/stdtypes.rst:5175 +#: ../../builtins/stdtypes.rst:5175 msgid "Return a new set with elements from the set and all others." msgstr "" "Gibt eine neue Menge mit Elementen aus der Menge und allen anderen zurück." -#: ../../library/stdtypes.rst:5181 +#: ../../builtins/stdtypes.rst:5181 msgid "Return a new set with elements common to the set and all others." msgstr "" "Gibt eine neue Menge mit Elementen zurück, die der Menge und allen anderen " "gemeinsam sind." -#: ../../library/stdtypes.rst:5187 +#: ../../builtins/stdtypes.rst:5187 msgid "Return a new set with elements in the set that are not in the others." msgstr "" "Gibt eine neue Menge mit Elementen der Menge zurück, die nicht in den " "anderen enthalten sind." -#: ../../library/stdtypes.rst:5193 +#: ../../builtins/stdtypes.rst:5193 msgid "" "Return a new set with elements in either the set or *other* but not both." msgstr "" "Gibt eine neue Menge mit Elementen zurück, die entweder in der Menge oder in " "*other*, aber nicht in beiden enthalten sind." -#: ../../library/stdtypes.rst:5198 +#: ../../builtins/stdtypes.rst:5198 msgid "Return a shallow copy of the set." msgstr "Gibt eine flache Kopie (Shallow Copy) der Menge zurück." -#: ../../library/stdtypes.rst:5201 +#: ../../builtins/stdtypes.rst:5201 msgid "" "Note, the non-operator versions of :meth:`~frozenset.union`, :meth:" "`~frozenset.intersection`, :meth:`~frozenset.difference`, :meth:`~frozenset." @@ -9206,7 +9208,7 @@ msgstr "" "``set('abc') & 'cbs'`` zugunsten des lesbareren ``set('abc')." "intersection('cbs')`` aus." -#: ../../library/stdtypes.rst:5208 +#: ../../builtins/stdtypes.rst:5208 msgid "" "Both :class:`set` and :class:`frozenset` support set to set comparisons. Two " "sets are equal if and only if every element of each set is contained in the " @@ -9224,7 +9226,7 @@ msgstr "" "dann, wenn die erste Menge eine echte Obermenge der zweiten Menge ist (eine " "Obermenge ist, aber nicht gleich ist)." -#: ../../library/stdtypes.rst:5215 +#: ../../builtins/stdtypes.rst:5215 msgid "" "Instances of :class:`set` are compared to instances of :class:`frozenset` " "based on their members. For example, ``set('abc') == frozenset('abc')`` " @@ -9235,7 +9237,7 @@ msgstr "" "== frozenset('abc')`` ``True`` zurück, ebenso wie ``set('abc') in " "set([frozenset('abc')])``." -#: ../../library/stdtypes.rst:5219 +#: ../../builtins/stdtypes.rst:5219 msgid "" "The subset and equality comparisons do not generalize to a total ordering " "function. For example, any two nonempty disjoint sets are not equal and are " @@ -9248,7 +9250,7 @@ msgstr "" "*alle* der folgenden Vergleiche ``False`` zurückgeben: ``ab``." -#: ../../library/stdtypes.rst:5224 +#: ../../builtins/stdtypes.rst:5224 msgid "" "Since sets only define partial ordering (subset relationships), the output " "of the :meth:`list.sort` method is undefined for lists of sets." @@ -9256,13 +9258,13 @@ msgstr "" "Da Mengen nur eine Halbordnung (Teilmengenbeziehungen) definieren, ist die " "Ausgabe der Methode :meth:`list.sort` für Listen von Mengen undefiniert." -#: ../../library/stdtypes.rst:5227 +#: ../../builtins/stdtypes.rst:5227 msgid "Set elements, like dictionary keys, must be :term:`hashable`." msgstr "" "Mengenelemente müssen, wie Dictionary-Schlüssel, :term:`hashbar ` " "sein." -#: ../../library/stdtypes.rst:5229 +#: ../../builtins/stdtypes.rst:5229 msgid "" "Binary operations that mix :class:`set` instances with :class:`frozenset` " "return the type of the first operand. For example: ``frozenset('ab') | " @@ -9272,7 +9274,7 @@ msgstr "" "mischen, geben den Typ des ersten Operanden zurück. Zum Beispiel gibt " "``frozenset('ab') | set('bc')`` eine Instanz von :class:`frozenset` zurück." -#: ../../library/stdtypes.rst:5233 +#: ../../builtins/stdtypes.rst:5233 msgid "" "The following table lists operations available for :class:`set` that do not " "apply to immutable instances of :class:`frozenset`:" @@ -9281,33 +9283,33 @@ msgstr "" "sind, jedoch nicht für unveränderliche Instanzen von :class:`frozenset` " "gelten:" -#: ../../library/stdtypes.rst:5239 +#: ../../builtins/stdtypes.rst:5239 msgid "Update the set, adding elements from all others." msgstr "Aktualisiert die Menge und fügt Elemente aus allen anderen hinzu." -#: ../../library/stdtypes.rst:5244 +#: ../../builtins/stdtypes.rst:5244 msgid "Update the set, keeping only elements found in it and all others." msgstr "" "Aktualisiert die Menge und behält nur Elemente bei, die sowohl in ihr als " "auch in allen anderen vorkommen." -#: ../../library/stdtypes.rst:5249 +#: ../../builtins/stdtypes.rst:5249 msgid "Update the set, removing elements found in others." msgstr "" "Aktualisiert die Menge und entfernt Elemente, die in den anderen vorkommen." -#: ../../library/stdtypes.rst:5254 +#: ../../builtins/stdtypes.rst:5254 msgid "" "Update the set, keeping only elements found in either set, but not in both." msgstr "" "Aktualisiert die Menge und behält nur Elemente bei, die in einer der beiden " "Mengen vorkommen, jedoch nicht in beiden." -#: ../../library/stdtypes.rst:5258 +#: ../../builtins/stdtypes.rst:5258 msgid "Add element *elem* to the set." msgstr "Fügt das Element *elem* zur Menge hinzu." -#: ../../library/stdtypes.rst:5262 +#: ../../builtins/stdtypes.rst:5262 msgid "" "Remove element *elem* from the set. Raises :exc:`KeyError` if *elem* is not " "contained in the set." @@ -9315,11 +9317,11 @@ msgstr "" "Entfernt das Element *elem* aus der Menge. Löst einen :exc:`KeyError` aus, " "wenn *elem* nicht in der Menge enthalten ist." -#: ../../library/stdtypes.rst:5267 +#: ../../builtins/stdtypes.rst:5267 msgid "Remove element *elem* from the set if it is present." msgstr "Entfernt das Element *elem* aus der Menge, falls es vorhanden ist." -#: ../../library/stdtypes.rst:5271 +#: ../../builtins/stdtypes.rst:5271 msgid "" "Remove and return an arbitrary element from the set. Raises :exc:`KeyError` " "if the set is empty." @@ -9327,11 +9329,11 @@ msgstr "" "Entfernt ein beliebiges Element aus der Menge und gibt es zurück. Löst " "einen :exc:`KeyError` aus, wenn die Menge leer ist." -#: ../../library/stdtypes.rst:5276 +#: ../../builtins/stdtypes.rst:5276 msgid "Remove all elements from the set." msgstr "Entfernt alle Elemente aus der Menge." -#: ../../library/stdtypes.rst:5279 +#: ../../builtins/stdtypes.rst:5279 msgid "" "Note, the non-operator versions of the :meth:`~set.update`, :meth:`~set." "intersection_update`, :meth:`~set.difference_update`, and :meth:`~set." @@ -9342,7 +9344,7 @@ msgstr "" "und :meth:`~set.symmetric_difference_update` jedes Iterable als Argument " "akzeptieren." -#: ../../library/stdtypes.rst:5284 +#: ../../builtins/stdtypes.rst:5284 msgid "" "Note, the *elem* argument to the :meth:`~object.__contains__`, :meth:`~set." "remove`, and :meth:`~set.discard` methods may be a set. To support " @@ -9354,7 +9356,7 @@ msgstr "" "kann. Um die Suche nach einem äquivalenten Frozenset zu unterstützen, wird " "aus *elem* vorübergehend ein solches erstellt." -#: ../../library/stdtypes.rst:5291 +#: ../../builtins/stdtypes.rst:5291 msgid "" "For detailed information on thread-safety guarantees for :class:`set` " "objects, see :ref:`thread-safety-set`." @@ -9362,7 +9364,7 @@ msgstr "" "Detaillierte Informationen zu den Thread-Sicherheitsgarantien für Objekte " "vom Typ :class:`set` findest du unter :ref:`thread-safety-set`." -#: ../../library/stdtypes.rst:5294 +#: ../../builtins/stdtypes.rst:5294 msgid "" "Sets and frozensets are :ref:`generic ` over the type of their " "elements." @@ -9370,11 +9372,11 @@ msgstr "" "Sets und Frozensets sind über einen Typparameter :ref:`generisch " "`, der den Typ ihrer Elemente angibt." -#: ../../library/stdtypes.rst:5300 +#: ../../builtins/stdtypes.rst:5300 msgid "Mapping Types --- :class:`dict`" msgstr "Mapping-Typen – :class:`dict`" -#: ../../library/stdtypes.rst:5310 +#: ../../builtins/stdtypes.rst:5310 msgid "" "A :term:`mapping` object maps :term:`hashable` values to arbitrary objects. " "Mappings are mutable objects. There is currently only one standard mapping " @@ -9390,7 +9392,7 @@ msgstr "" "class:`tuple` sowie das Modul :mod:`collections`.) Siehe :ref:`time-" "complexity` für die Kosten der verschiedenen Dictionary-Operationen." -#: ../../library/stdtypes.rst:5318 +#: ../../builtins/stdtypes.rst:5318 msgid "" "A dictionary's keys are *almost* arbitrary values. Values that are not :" "term:`hashable`, that is, values containing lists, dictionaries or other " @@ -9406,7 +9408,7 @@ msgstr "" "können austauschbar verwendet werden, um denselben Dictionary-Eintrag zu " "indizieren." -#: ../../library/stdtypes.rst:5329 +#: ../../builtins/stdtypes.rst:5329 msgid "" "Return a new dictionary initialized from an optional positional argument and " "a possibly empty set of keyword arguments." @@ -9415,11 +9417,11 @@ msgstr "" "Positionsargument und einer möglicherweise leeren Menge von Schlüsselwort-" "Argumenten." -#: ../../library/stdtypes.rst:5332 +#: ../../builtins/stdtypes.rst:5332 msgid "Dictionaries can be created by several means:" msgstr "Dictionaries können auf verschiedene Arten erstellt werden:" -#: ../../library/stdtypes.rst:5334 +#: ../../builtins/stdtypes.rst:5334 msgid "" "Use a comma-separated list of ``key: value`` pairs within braces: ``{'jack': " "4098, 'sjoerd': 4127}`` or ``{4098: 'jack', 4127: 'sjoerd'}``" @@ -9428,13 +9430,13 @@ msgstr "" "geschweiften Klammern: ``{'jack': 4098, 'sjoerd': 4127}`` oder ``{4098: " "'jack', 4127: 'sjoerd'}``" -#: ../../library/stdtypes.rst:5336 +#: ../../builtins/stdtypes.rst:5336 msgid "Use a dict comprehension: ``{}``, ``{x: x ** 2 for x in range(10)}``" msgstr "" "Verwendung einer Dict-Comprehension: ``{}``, ``{x: x ** 2 for x in range(10)}" "``" -#: ../../library/stdtypes.rst:5337 +#: ../../builtins/stdtypes.rst:5337 msgid "" "Use the type constructor: ``dict()``, ``dict([('foo', 100), ('bar', " "200)])``, ``dict(foo=100, bar=200)``" @@ -9442,7 +9444,7 @@ msgstr "" "Verwendung des Typ-Konstruktors: ``dict()``, ``dict([('foo', 100), ('bar', " "200)])``, ``dict(foo=100, bar=200)``" -#: ../../library/stdtypes.rst:5340 +#: ../../builtins/stdtypes.rst:5340 msgid "" "If no positional argument is given, an empty dictionary is created. If a " "positional argument is given and it defines a ``keys()`` method, a " @@ -9465,7 +9467,7 @@ msgstr "" "entsprechenden Wert. Wenn ein Schlüssel mehrfach vorkommt, wird der letzte " "Wert für diesen Schlüssel zum entsprechenden Wert im neuen Dictionary." -#: ../../library/stdtypes.rst:5350 +#: ../../builtins/stdtypes.rst:5350 msgid "" "If keyword arguments are given, the keyword arguments and their values are " "added to the dictionary created from the positional argument. If a key " @@ -9477,7 +9479,7 @@ msgstr "" "hinzuzufügender Schlüssel bereits vorhanden ist, ersetzt der Wert aus dem " "Schlüsselwort-Argument den Wert aus dem Positionsargument." -#: ../../library/stdtypes.rst:5355 +#: ../../builtins/stdtypes.rst:5355 msgid "" "Dictionaries compare equal if and only if they have the same ``(key, " "value)`` pairs (regardless of ordering). Order comparisons ('<', '<=', '>=', " @@ -9492,7 +9494,7 @@ msgstr "" "Dictionary zurück, das gleich ``{\"one\": 1, \"two\": 2, \"three\": 3}`` " "ist::" -#: ../../library/stdtypes.rst:5361 +#: ../../builtins/stdtypes.rst:5361 msgid "" ">>> a = dict(one=1, two=2, three=3)\n" ">>> b = {'one': 1, 'two': 2, 'three': 3}\n" @@ -9512,7 +9514,7 @@ msgstr "" ">>> a == b == c == d == e == f\n" "True" -#: ../../library/stdtypes.rst:5370 +#: ../../builtins/stdtypes.rst:5370 msgid "" "Providing keyword arguments as in the first example only works for keys that " "are valid Python identifiers. Otherwise, any valid keys can be used." @@ -9521,7 +9523,7 @@ msgstr "" "funktioniert nur für Schlüssel, die gültige Python-Bezeichner sind. " "Andernfalls können alle gültigen Schlüssel verwendet werden." -#: ../../library/stdtypes.rst:5373 +#: ../../builtins/stdtypes.rst:5373 msgid "" "Dictionaries preserve insertion order. Note that updating a key does not " "affect the order. Keys added after deletion are inserted at the end. ::" @@ -9530,7 +9532,7 @@ msgstr "" "Aktualisieren eines Schlüssels die Reihenfolge nicht beeinflusst. Schlüssel, " "die nach dem Löschen hinzugefügt werden, werden am Ende eingefügt. ::" -#: ../../library/stdtypes.rst:5376 +#: ../../builtins/stdtypes.rst:5376 msgid "" ">>> d = {\"one\": 1, \"two\": 2, \"three\": 3, \"four\": 4}\n" ">>> d\n" @@ -9562,7 +9564,7 @@ msgstr "" ">>> d\n" "{'one': 42, 'three': 3, 'four': 4, 'two': None}" -#: ../../library/stdtypes.rst:5391 +#: ../../builtins/stdtypes.rst:5391 msgid "" "Dictionary order is guaranteed to be insertion order. This behavior was an " "implementation detail of CPython from 3.6." @@ -9570,7 +9572,7 @@ msgstr "" "Die Dictionary-Reihenfolge ist garantiert die Einfügereihenfolge. Dieses " "Verhalten war ab 3.6 ein Implementierungsdetail von CPython." -#: ../../library/stdtypes.rst:5395 +#: ../../builtins/stdtypes.rst:5395 msgid "" "Dictionaries are :ref:`generic ` over two types, signifying " "(respectively) the types of the dictionary's keys and values." @@ -9578,7 +9580,7 @@ msgstr "" "Dictionaries sind über zwei Typparameter :ref:`generisch `, was " "(jeweils) die Typen der Schlüssel und Werte des Dictionarys angeben." -#: ../../library/stdtypes.rst:5398 +#: ../../builtins/stdtypes.rst:5398 msgid "" "These are the operations that dictionaries support (and therefore, custom " "mapping types should support too):" @@ -9586,15 +9588,15 @@ msgstr "" "Dies sind die Operationen, die Dictionaries unterstützen (und die daher auch " "benutzerdefinierte Mapping-Typen unterstützen sollten):" -#: ../../library/stdtypes.rst:5403 +#: ../../builtins/stdtypes.rst:5403 msgid "Return a list of all the keys used in the dictionary *d*." msgstr "Gibt eine Liste aller im Dictionary *d* verwendeten Schlüssel zurück." -#: ../../library/stdtypes.rst:5407 +#: ../../builtins/stdtypes.rst:5407 msgid "Return the number of items in the dictionary *d*." msgstr "Gibt die Anzahl der Elemente im Dictionary *d* zurück." -#: ../../library/stdtypes.rst:5411 +#: ../../builtins/stdtypes.rst:5411 msgid "" "Return the item of *d* with key *key*. Raises a :exc:`KeyError` if *key* is " "not in the map." @@ -9602,7 +9604,7 @@ msgstr "" "Gibt das Element von *d* mit dem Schlüssel *key* zurück. Löst einen :exc:" "`KeyError` aus, wenn *key* nicht in der Map vorhanden ist." -#: ../../library/stdtypes.rst:5416 +#: ../../builtins/stdtypes.rst:5416 msgid "" "If a subclass of dict defines a method :meth:`~object.__missing__` and *key* " "is not present, the ``d[key]`` operation calls that method with the key " @@ -9621,7 +9623,7 @@ msgstr "" "ist, wird ein :exc:`KeyError` ausgelöst. :meth:`~object.__missing__` muss " "eine Methode sein; es kann keine Instanzvariable sein::" -#: ../../library/stdtypes.rst:5424 +#: ../../builtins/stdtypes.rst:5424 msgid "" ">>> class Counter(dict):\n" "... def __missing__(self, key):\n" @@ -9645,7 +9647,7 @@ msgstr "" ">>> c['red']\n" "1" -#: ../../library/stdtypes.rst:5435 +#: ../../builtins/stdtypes.rst:5435 msgid "" "The example above shows part of the implementation of :class:`collections." "Counter`. A different :meth:`!__missing__` method is used by :class:" @@ -9655,11 +9657,11 @@ msgstr "" "`collections.Counter`. Eine andere :meth:`!__missing__`-Methode wird von :" "class:`collections.defaultdict` verwendet." -#: ../../library/stdtypes.rst:5442 +#: ../../builtins/stdtypes.rst:5442 msgid "Set ``d[key]`` to *value*." msgstr "Setzt ``d[key]`` auf *value*." -#: ../../library/stdtypes.rst:5446 +#: ../../builtins/stdtypes.rst:5446 msgid "" "Remove ``d[key]`` from *d*. Raises a :exc:`KeyError` if *key* is not in the " "map." @@ -9667,17 +9669,17 @@ msgstr "" "Entfernt ``d[key]`` aus *d*. Löst einen :exc:`KeyError` aus, wenn *key* " "nicht in der Map vorhanden ist." -#: ../../library/stdtypes.rst:5451 +#: ../../builtins/stdtypes.rst:5451 msgid "Return ``True`` if *d* has a key *key*, else ``False``." msgstr "" "Gibt ``True`` zurück, wenn *d* einen Schlüssel *key* besitzt, andernfalls " "``False``." -#: ../../library/stdtypes.rst:5455 +#: ../../builtins/stdtypes.rst:5455 msgid "Equivalent to ``not key in d``." msgstr "Äquivalent zu ``not key in d``." -#: ../../library/stdtypes.rst:5459 +#: ../../builtins/stdtypes.rst:5459 msgid "" "Return an iterator over the keys of the dictionary. This is a shortcut for " "``iter(d.keys())``." @@ -9685,22 +9687,22 @@ msgstr "" "Gibt einen Iterator über die Schlüssel des Dictionaries zurück. Dies ist " "eine Abkürzung für ``iter(d.keys())``." -#: ../../library/stdtypes.rst:5464 +#: ../../builtins/stdtypes.rst:5464 msgid "Remove all items from the dictionary." msgstr "Entfernt alle Elemente aus dem Dictionary." -#: ../../library/stdtypes.rst:5468 +#: ../../builtins/stdtypes.rst:5468 msgid "Return a shallow copy of the dictionary." msgstr "Gibt eine flache Kopie des Dictionaries zurück." -#: ../../library/stdtypes.rst:5472 +#: ../../builtins/stdtypes.rst:5472 msgid "" "Create a new dictionary with keys from *iterable* and values set to *value*." msgstr "" "Erstellt ein neues Dictionary mit Schlüsseln aus *iterable* und auf *value* " "gesetzten Werten." -#: ../../library/stdtypes.rst:5474 +#: ../../builtins/stdtypes.rst:5474 msgid "" ":meth:`fromkeys` is a class method that returns a new dictionary. *value* " "defaults to ``None``. All of the values refer to just a single instance, so " @@ -9714,7 +9716,7 @@ msgstr "" "ein veränderliches Objekt wie eine leere Liste ist. Um verschiedene Werte zu " "erhalten, verwende stattdessen eine :ref:`Dict-Comprehension `." -#: ../../library/stdtypes.rst:5482 +#: ../../builtins/stdtypes.rst:5482 msgid "" "Return the value for *key* if *key* is in the dictionary, else *default*. If " "*default* is not given, it defaults to ``None``, so that this method never " @@ -9725,7 +9727,7 @@ msgstr "" "Standardwert ``None``, sodass diese Methode niemals einen :exc:`KeyError` " "auslöst." -#: ../../library/stdtypes.rst:5488 +#: ../../builtins/stdtypes.rst:5488 msgid "" "Return a new view of the dictionary's items (``(key, value)`` pairs). See " "the :ref:`documentation of view objects `." @@ -9733,7 +9735,7 @@ msgstr "" "Gibt einen neuen View der Elemente des Dictionaries (``(key, value)``-Paare) " "zurück. Siehe die :ref:`Dokumentation zu View-Objekten `." -#: ../../library/stdtypes.rst:5493 +#: ../../builtins/stdtypes.rst:5493 msgid "" "Return a new view of the dictionary's keys. See the :ref:`documentation of " "view objects `." @@ -9741,7 +9743,7 @@ msgstr "" "Gibt einen neuen View der Schlüssel des Dictionaries zurück. Siehe die :ref:" "`Dokumentation zu View-Objekten `." -#: ../../library/stdtypes.rst:5499 +#: ../../builtins/stdtypes.rst:5499 msgid "" "If *key* is in the dictionary, remove it and return its value, else return " "*default*. If *default* is not given and *key* is not in the dictionary, a :" @@ -9752,7 +9754,7 @@ msgstr "" "und *key* nicht im Dictionary vorhanden ist, wird ein :exc:`KeyError` " "ausgelöst." -#: ../../library/stdtypes.rst:5505 +#: ../../builtins/stdtypes.rst:5505 msgid "" "Remove and return a ``(key, value)`` pair from the dictionary. Pairs are " "returned in :abbr:`LIFO (last-in, first-out)` order." @@ -9760,7 +9762,7 @@ msgstr "" "Entfernt ein ``(key, value)``-Paar aus dem Dictionary und gibt es zurück. " "Paare werden in :abbr:`LIFO (last-in, first-out)`-Reihenfolge zurückgegeben." -#: ../../library/stdtypes.rst:5508 +#: ../../builtins/stdtypes.rst:5508 msgid "" ":meth:`popitem` is useful to destructively iterate over a dictionary, as " "often used in set algorithms. If the dictionary is empty, calling :meth:" @@ -9771,7 +9773,7 @@ msgstr "" "Dictionary leer ist, löst der Aufruf von :meth:`popitem` einen :exc:" "`KeyError` aus." -#: ../../library/stdtypes.rst:5512 +#: ../../builtins/stdtypes.rst:5512 msgid "" "LIFO order is now guaranteed. In prior versions, :meth:`popitem` would " "return an arbitrary key/value pair." @@ -9779,7 +9781,7 @@ msgstr "" "Die LIFO-Reihenfolge ist nun garantiert. In früheren Versionen gab :meth:" "`popitem` ein beliebiges Schlüssel/Wert-Paar zurück." -#: ../../library/stdtypes.rst:5518 +#: ../../builtins/stdtypes.rst:5518 msgid "" "Return a reverse iterator over the keys of the dictionary. This is a " "shortcut for ``reversed(d.keys())``." @@ -9787,7 +9789,7 @@ msgstr "" "Gibt einen umgekehrten Iterator über die Schlüssel des Dictionaries zurück. " "Dies ist eine Abkürzung für ``reversed(d.keys())``." -#: ../../library/stdtypes.rst:5525 +#: ../../builtins/stdtypes.rst:5525 msgid "" "If *key* is in the dictionary, return its value. If not, insert *key* with " "a value of *default* and return *default*. *default* defaults to ``None``." @@ -9796,7 +9798,7 @@ msgstr "" "füge *key* mit einem Wert von *default* ein und gib *default* zurück. " "*default* ist standardmäßig ``None``." -#: ../../library/stdtypes.rst:5533 +#: ../../builtins/stdtypes.rst:5533 msgid "" "Update the dictionary with the key/value pairs from *mapping* or *iterable* " "and *kwargs*, overwriting existing keys. Return ``None``." @@ -9805,7 +9807,7 @@ msgstr "" "*iterable* und *kwargs*, wobei bestehende Schlüssel überschrieben werden. " "Gibt ``None`` zurück." -#: ../../library/stdtypes.rst:5536 +#: ../../builtins/stdtypes.rst:5536 msgid "" ":meth:`update` accepts either another object with a ``keys()`` method (in " "which case :meth:`~object.__getitem__` is called with every key returned " @@ -9820,7 +9822,7 @@ msgstr "" "Schlüsselwort-Argumente angegeben sind, wird das Dictionary mit diesen " "Schlüssel/Wert-Paaren aktualisiert: ``d.update(red=1, blue=2)``." -#: ../../library/stdtypes.rst:5544 +#: ../../builtins/stdtypes.rst:5544 msgid "" "Return a new view of the dictionary's values. See the :ref:`documentation " "of view objects `." @@ -9828,7 +9830,7 @@ msgstr "" "Gibt einen neuen View der Werte des Dictionaries zurück. Siehe die :ref:" "`Dokumentation zu View-Objekten `." -#: ../../library/stdtypes.rst:5547 +#: ../../builtins/stdtypes.rst:5547 msgid "" "An equality comparison between one ``dict.values()`` view and another will " "always return ``False``. This also applies when comparing ``dict.values()`` " @@ -9838,7 +9840,7 @@ msgstr "" "anderen gibt immer ``False`` zurück. Dies gilt auch für den Vergleich von " "``dict.values()`` mit sich selbst::" -#: ../../library/stdtypes.rst:5551 +#: ../../builtins/stdtypes.rst:5551 msgid "" ">>> d = {'a': 1}\n" ">>> d.values() == d.values()\n" @@ -9848,7 +9850,7 @@ msgstr "" ">>> d.values() == d.values()\n" "False" -#: ../../library/stdtypes.rst:5557 +#: ../../builtins/stdtypes.rst:5557 msgid "" "Create a new dictionary with the merged keys and values of *d* and *other*, " "which must both be dictionaries. The values of *other* take priority when " @@ -9859,7 +9861,7 @@ msgstr "" "von *other* haben Vorrang, wenn *d* und *other* gemeinsame Schlüssel " "besitzen." -#: ../../library/stdtypes.rst:5565 +#: ../../builtins/stdtypes.rst:5565 msgid "" "Update the dictionary *d* with keys and values from *other*, which may be " "either a :term:`mapping` or an :term:`iterable` of key/value pairs. The " @@ -9870,11 +9872,11 @@ msgstr "" "` von Schlüssel/Wert-Paaren sein kann. Die Werte von *other* haben " "Vorrang, wenn *d* und *other* gemeinsame Schlüssel besitzen." -#: ../../library/stdtypes.rst:5571 +#: ../../builtins/stdtypes.rst:5571 msgid "Dictionaries and dictionary views are reversible. ::" msgstr "Dictionaries und Dictionary-Views sind umkehrbar (reversible). ::" -#: ../../library/stdtypes.rst:5573 +#: ../../builtins/stdtypes.rst:5573 msgid "" ">>> d = {\"one\": 1, \"two\": 2, \"three\": 3, \"four\": 4}\n" ">>> d\n" @@ -9896,11 +9898,11 @@ msgstr "" ">>> list(reversed(d.items()))\n" "[('four', 4), ('three', 3), ('two', 2), ('one', 1)]" -#: ../../library/stdtypes.rst:5583 +#: ../../builtins/stdtypes.rst:5583 msgid "Dictionaries are now reversible." msgstr "Dictionaries sind nun umkehrbar." -#: ../../library/stdtypes.rst:5588 +#: ../../builtins/stdtypes.rst:5588 msgid "" ":class:`types.MappingProxyType` can be used to create a read-only view of a :" "class:`dict`." @@ -9908,7 +9910,7 @@ msgstr "" ":class:`types.MappingProxyType` kann verwendet werden, um einen " "schreibgeschützten View eines :class:`dict` zu erstellen." -#: ../../library/stdtypes.rst:5594 +#: ../../builtins/stdtypes.rst:5594 msgid "" "For detailed information on thread-safety guarantees for :class:`dict` " "objects, see :ref:`thread-safety-dict`." @@ -9916,11 +9918,11 @@ msgstr "" "Detaillierte Informationen zu den Thread-Sicherheitsgarantien für Objekte " "vom Typ :class:`dict` findest du unter :ref:`thread-safety-dict`." -#: ../../library/stdtypes.rst:5601 +#: ../../builtins/stdtypes.rst:5601 msgid "Dictionary view objects" msgstr "Dictionary-View-Objekte" -#: ../../library/stdtypes.rst:5603 +#: ../../builtins/stdtypes.rst:5603 msgid "" "The objects returned by :meth:`dict.keys`, :meth:`dict.values` and :meth:" "`dict.items` are *view objects*. They provide a dynamic view on the " @@ -9932,7 +9934,7 @@ msgstr "" "View auf die Einträge des Dictionaries, was bedeutet, dass der View " "Änderungen am Dictionary widerspiegelt." -#: ../../library/stdtypes.rst:5608 +#: ../../builtins/stdtypes.rst:5608 msgid "" "Dictionary views can be iterated over to yield their respective data, and " "support membership tests:" @@ -9940,11 +9942,11 @@ msgstr "" "Über Dictionary-Views kann iteriert werden, um ihre jeweiligen Daten " "abzurufen, und sie unterstützen Mitgliedschaftstests:" -#: ../../library/stdtypes.rst:5613 +#: ../../builtins/stdtypes.rst:5613 msgid "Return the number of entries in the dictionary." msgstr "Gibt die Anzahl der Einträge im Dictionary zurück." -#: ../../library/stdtypes.rst:5617 +#: ../../builtins/stdtypes.rst:5617 msgid "" "Return an iterator over the keys, values or items (represented as tuples of " "``(key, value)``) in the dictionary." @@ -9952,7 +9954,7 @@ msgstr "" "Gibt einen Iterator über die Schlüssel, Werte oder Elemente (dargestellt als " "Tupel von ``(key, value)``) im Dictionary zurück." -#: ../../library/stdtypes.rst:5620 +#: ../../builtins/stdtypes.rst:5620 msgid "" "Keys and values are iterated over in insertion order. This allows the " "creation of ``(value, key)`` pairs using :func:`zip`: ``pairs = zip(d." @@ -9964,7 +9966,7 @@ msgstr "" "``pairs = zip(d.values(), d.keys())``. Eine andere Möglichkeit, dieselbe " "Liste zu erstellen, ist ``pairs = [(v, k) for (k, v) in d.items()]``." -#: ../../library/stdtypes.rst:5625 +#: ../../builtins/stdtypes.rst:5625 msgid "" "Iterating views while adding or deleting entries in the dictionary may raise " "a :exc:`RuntimeError` or fail to iterate over all entries." @@ -9973,11 +9975,11 @@ msgstr "" "gelöscht werden, kann einen :exc:`RuntimeError` auslösen oder dazu führen, " "dass nicht alle Einträge durchlaufen werden." -#: ../../library/stdtypes.rst:5628 +#: ../../builtins/stdtypes.rst:5628 msgid "Dictionary order is guaranteed to be insertion order." msgstr "Die Dictionary-Reihenfolge ist garantiert die Einfügereihenfolge." -#: ../../library/stdtypes.rst:5633 +#: ../../builtins/stdtypes.rst:5633 msgid "" "Return ``True`` if *x* is in the underlying dictionary's keys, values or " "items (in the latter case, *x* should be a ``(key, value)`` tuple)." @@ -9986,7 +9988,7 @@ msgstr "" "zugrunde liegenden Dictionaries enthalten ist (im letzteren Fall sollte *x* " "ein ``(key, value)``-Tupel sein)." -#: ../../library/stdtypes.rst:5638 +#: ../../builtins/stdtypes.rst:5638 msgid "" "Return a reverse iterator over the keys, values or items of the dictionary. " "The view will be iterated in reverse order of the insertion." @@ -9995,11 +9997,11 @@ msgstr "" "Dictionaries zurück. Der View wird in umgekehrter Reihenfolge der Einfügung " "durchlaufen." -#: ../../library/stdtypes.rst:5641 +#: ../../builtins/stdtypes.rst:5641 msgid "Dictionary views are now reversible." msgstr "Dictionary-Views sind nun umkehrbar." -#: ../../library/stdtypes.rst:5646 +#: ../../builtins/stdtypes.rst:5646 msgid "" "Return a :class:`types.MappingProxyType` that wraps the original dictionary " "to which the view refers." @@ -10007,7 +10009,7 @@ msgstr "" "Gibt einen :class:`types.MappingProxyType` zurück, der das ursprüngliche " "Dictionary umhüllt, auf das sich der View bezieht." -#: ../../library/stdtypes.rst:5651 +#: ../../builtins/stdtypes.rst:5651 msgid "" "Keys views are set-like since their entries are unique and :term:`hashable`. " "Items views also have set-like operations since the (key, value) pairs are " @@ -10032,11 +10034,11 @@ msgstr "" "akzeptieren mengenartige Views jedes Iterable als weiteren Operanden, im " "Gegensatz zu Mengen, die nur Mengen als Eingabe akzeptieren." -#: ../../library/stdtypes.rst:5663 +#: ../../builtins/stdtypes.rst:5663 msgid "An example of dictionary view usage::" msgstr "Ein Beispiel für die Verwendung von Dictionary-Views::" -#: ../../library/stdtypes.rst:5665 +#: ../../builtins/stdtypes.rst:5665 msgid "" ">>> dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}\n" ">>> keys = dishes.keys()\n" @@ -10114,11 +10116,11 @@ msgstr "" ">>> values.mapping['spam']\n" "500" -#: ../../library/stdtypes.rst:5707 +#: ../../builtins/stdtypes.rst:5707 msgid "Context Manager Types" msgstr "Kontext-Manager-Typen" -#: ../../library/stdtypes.rst:5714 +#: ../../builtins/stdtypes.rst:5714 msgid "" "Python's :keyword:`with` statement supports the concept of a runtime context " "defined by a context manager. This is implemented using a pair of methods " @@ -10132,7 +10134,7 @@ msgstr "" "Ausführung des Anweisungskörpers betreten und beim Beenden der Anweisung " "verlassen wird:" -#: ../../library/stdtypes.rst:5722 +#: ../../builtins/stdtypes.rst:5722 msgid "" "Enter the runtime context and return either this object or another object " "related to the runtime context. The value returned by this method is bound " @@ -10145,7 +10147,7 @@ msgstr "" "Klausel von :keyword:`with`-Anweisungen gebunden, die diesen Kontext-Manager " "verwenden." -#: ../../library/stdtypes.rst:5727 +#: ../../builtins/stdtypes.rst:5727 msgid "" "An example of a context manager that returns itself is a :term:`file " "object`. File objects return themselves from __enter__() to allow :func:" @@ -10156,7 +10158,7 @@ msgstr "" "__enter__() zurück, damit :func:`open` als Kontextausdruck in einer :keyword:" "`with`-Anweisung verwendet werden kann." -#: ../../library/stdtypes.rst:5731 +#: ../../builtins/stdtypes.rst:5731 msgid "" "An example of a context manager that returns a related object is the one " "returned by :func:`decimal.localcontext`. These managers set the active " @@ -10172,7 +10174,7 @@ msgstr "" "am aktuellen Dezimalkontext im Körper der :keyword:`with`-Anweisung, ohne " "Code außerhalb der :keyword:`!with`-Anweisung zu beeinflussen." -#: ../../library/stdtypes.rst:5741 +#: ../../builtins/stdtypes.rst:5741 msgid "" "Exit the runtime context and return a Boolean flag indicating if any " "exception that occurred should be suppressed. If an exception occurred while " @@ -10186,7 +10188,7 @@ msgstr "" "aufgetreten ist, enthalten die Argumente den Ausnahmetyp, den Wert und " "Traceback-Informationen. Andernfalls sind alle drei Argumente ``None``." -#: ../../library/stdtypes.rst:5746 +#: ../../builtins/stdtypes.rst:5746 msgid "" "Returning a true value from this method will cause the :keyword:`with` " "statement to suppress the exception and continue execution with the " @@ -10199,7 +10201,7 @@ msgstr "" "Andernfalls wird die Ausnahme nach Beendigung dieser Methode weiter " "propagiert." -#: ../../library/stdtypes.rst:5751 +#: ../../builtins/stdtypes.rst:5751 msgid "" "If this method raises an exception while handling an earlier exception from " "the :keyword:`with` block, the new exception is raised, and the original " @@ -10210,7 +10212,7 @@ msgstr "" "weitergegeben, und die ursprüngliche Ausnahme wird in ihrem Attribut :attr:" "`~BaseException.__context__` gespeichert." -#: ../../library/stdtypes.rst:5755 +#: ../../builtins/stdtypes.rst:5755 msgid "" "The exception passed in should never be reraised explicitly - instead, this " "method should return a false value to indicate that the method completed " @@ -10225,7 +10227,7 @@ msgstr "" "Kontextmanagement-Code, leicht zu erkennen, ob eine :meth:`~object.__exit__`-" "Methode tatsächlich fehlgeschlagen ist oder nicht." -#: ../../library/stdtypes.rst:5761 +#: ../../builtins/stdtypes.rst:5761 msgid "" "Python defines several context managers to support easy thread " "synchronisation, prompt closure of files or other objects, and simpler " @@ -10240,7 +10242,7 @@ msgstr "" "Kontextmanagement-Protokolls hinaus nicht besonders behandelt. Siehe das " "Modul :mod:`contextlib` für einige Beispiele." -#: ../../library/stdtypes.rst:5767 +#: ../../builtins/stdtypes.rst:5767 msgid "" "Python's :term:`generator`\\s and the :class:`contextlib.contextmanager` " "decorator provide a convenient way to implement these protocols. If a " @@ -10257,7 +10259,7 @@ msgstr "" "meth:`~contextmanager.__exit__` implementiert, anstelle des Iterators, der " "von einer undekorierten Generatorfunktion erzeugt wird." -#: ../../library/stdtypes.rst:5774 +#: ../../builtins/stdtypes.rst:5774 msgid "" "Note that there is no specific slot for any of these methods in the type " "structure for Python objects in the Python/C API. Extension types wanting to " @@ -10272,7 +10274,7 @@ msgstr "" "des Laufzeitkontexts ist der Overhead eines einzelnen Class-Dictionary-" "Lookups zu vernachlässigen." -#: ../../library/stdtypes.rst:5782 +#: ../../builtins/stdtypes.rst:5782 msgid "" "Type Annotation Types --- :ref:`Generic Alias `, :ref:" "`Union `" @@ -10280,7 +10282,7 @@ msgstr "" "Typ-Annotations-Typen – :ref:`Generic Alias `, :ref:" "`Union `" -#: ../../library/stdtypes.rst:5787 +#: ../../builtins/stdtypes.rst:5787 msgid "" "The core built-in types for :term:`type annotations ` are :ref:" "`Generic Alias ` and :ref:`Union `." @@ -10289,11 +10291,11 @@ msgstr "" "sind :ref:`Generic Alias ` und :ref:`Union `." -#: ../../library/stdtypes.rst:5794 +#: ../../builtins/stdtypes.rst:5794 msgid "Generic Alias Type" msgstr "Generic-Alias-Typ" -#: ../../library/stdtypes.rst:5800 +#: ../../builtins/stdtypes.rst:5800 msgid "" "``GenericAlias`` objects are generally created by :ref:`subscripting " "` a class. They are most often used with :ref:`container " @@ -10310,7 +10312,7 @@ msgstr "" "erstellt wird. ``GenericAlias``-Objekte sind in erster Linie für die " "Verwendung mit :term:`Typ-Annotationen ` vorgesehen." -#: ../../library/stdtypes.rst:5810 +#: ../../builtins/stdtypes.rst:5810 msgid "" "It is generally only possible to subscript a class if the class implements " "the special method :meth:`~object.__class_getitem__`." @@ -10318,7 +10320,7 @@ msgstr "" "Das Subskribieren einer Klasse ist im Allgemeinen nur möglich, wenn die " "Klasse die spezielle Methode :meth:`~object.__class_getitem__` implementiert." -#: ../../library/stdtypes.rst:5813 +#: ../../builtins/stdtypes.rst:5813 msgid "" "A ``GenericAlias`` object acts as a proxy for a :term:`generic type`, " "implementing *parameterized generics*." @@ -10326,7 +10328,7 @@ msgstr "" "Ein ``GenericAlias``-Objekt fungiert als Proxy für einen :term:`generischen " "Typ ` und implementiert *parametrisierte Generics*." -#: ../../library/stdtypes.rst:5816 +#: ../../builtins/stdtypes.rst:5816 msgid "" "For a container class, the argument(s) supplied to a :ref:`subscription " "` of the class may indicate the type(s) of the elements an " @@ -10340,7 +10342,7 @@ msgstr "" "``set[bytes]`` in Typ-Annotationen verwendet werden, um ein :class:`set` zu " "kennzeichnen, in dem alle Elemente vom Typ :class:`bytes` sind." -#: ../../library/stdtypes.rst:5822 +#: ../../builtins/stdtypes.rst:5822 msgid "" "For a class which defines :meth:`~object.__class_getitem__` but is not a " "container, the argument(s) supplied to a subscription of the class will " @@ -10355,7 +10357,7 @@ msgstr "" "den Datentyp :class:`str` als auch auf den Datentyp :class:`bytes` " "angewendet werden:" -#: ../../library/stdtypes.rst:5828 +#: ../../builtins/stdtypes.rst:5828 msgid "" "If ``x = re.search('foo', 'foo')``, ``x`` will be a :ref:`re.Match ` object where the return values of ``x.group(0)`` and ``x[0]`` will " @@ -10367,7 +10369,7 @@ msgstr "" "``x[0]`` beide vom Typ :class:`str` sind. Wir können diese Art von Objekt in " "Typ-Annotationen mit dem ``GenericAlias`` ``re.Match[str]`` darstellen." -#: ../../library/stdtypes.rst:5834 +#: ../../builtins/stdtypes.rst:5834 msgid "" "If ``y = re.search(b'bar', b'bar')``, (note the ``b`` for :class:`bytes`), " "``y`` will also be an instance of ``re.Match``, but the return values of ``y." @@ -10381,7 +10383,7 @@ msgstr "" "class:`bytes`. In Typ-Annotationen würden wir diese Variante von :ref:`re." "Match `-Objekten mit ``re.Match[bytes]`` darstellen." -#: ../../library/stdtypes.rst:5840 +#: ../../builtins/stdtypes.rst:5840 msgid "" "``GenericAlias`` objects are instances of the class :class:`types." "GenericAlias`, which can also be used to create ``GenericAlias`` objects " @@ -10395,7 +10397,7 @@ msgstr "" "` sind möglicherweise keine Instanzen von :class:`types." "GenericAlias`, bieten aber ähnliche Funktionalität." -#: ../../library/stdtypes.rst:5847 +#: ../../builtins/stdtypes.rst:5847 msgid "" "Creates a ``GenericAlias`` representing a type ``T`` parameterized by types " "*X*, *Y*, and more depending on the ``T`` used. For example, a function " @@ -10406,7 +10408,7 @@ msgstr "" "Beispielsweise eine Funktion, die eine :class:`list` mit :class:`float`-" "Elementen erwartet::" -#: ../../library/stdtypes.rst:5852 +#: ../../builtins/stdtypes.rst:5852 msgid "" "def average(values: list[float]) -> float:\n" " return sum(values) / len(values)" @@ -10414,7 +10416,7 @@ msgstr "" "def average(values: list[float]) -> float:\n" " return sum(values) / len(values)" -#: ../../library/stdtypes.rst:5855 +#: ../../builtins/stdtypes.rst:5855 msgid "" "Another example for :term:`mapping` objects, using a :class:`dict`, which is " "a generic type expecting two type parameters representing the key type and " @@ -10427,7 +10429,7 @@ msgstr "" "die Funktion ein ``dict`` mit Schlüsseln vom Typ :class:`str` und Werten vom " "Typ :class:`int`::" -#: ../../library/stdtypes.rst:5860 +#: ../../builtins/stdtypes.rst:5860 msgid "" "def send_post_request(url: str, body: dict[str, int]) -> None:\n" " ..." @@ -10435,7 +10437,7 @@ msgstr "" "def send_post_request(url: str, body: dict[str, int]) -> None:\n" " ..." -#: ../../library/stdtypes.rst:5863 +#: ../../builtins/stdtypes.rst:5863 msgid "" "The builtin functions :func:`isinstance` and :func:`issubclass` do not " "accept ``GenericAlias`` types for their second argument::" @@ -10443,7 +10445,7 @@ msgstr "" "Die eingebauten Funktionen :func:`isinstance` und :func:`issubclass` " "akzeptieren keine ``GenericAlias``-Typen als zweites Argument::" -#: ../../library/stdtypes.rst:5866 +#: ../../builtins/stdtypes.rst:5866 msgid "" ">>> isinstance([1, 2], list[str])\n" "Traceback (most recent call last):\n" @@ -10455,7 +10457,7 @@ msgstr "" " File \"\", line 1, in \n" "TypeError: isinstance() argument 2 cannot be a parameterized generic" -#: ../../library/stdtypes.rst:5871 +#: ../../builtins/stdtypes.rst:5871 msgid "" "The Python runtime does not enforce :term:`type annotations `. " "This extends to generic types and their type parameters. When creating a " @@ -10470,7 +10472,7 @@ msgstr "" "überprüft. Der folgende Code wird beispielsweise nicht empfohlen, läuft aber " "fehlerfrei durch::" -#: ../../library/stdtypes.rst:5877 +#: ../../builtins/stdtypes.rst:5877 msgid "" ">>> t = list[str]\n" ">>> t([1, 2, 3])\n" @@ -10480,7 +10482,7 @@ msgstr "" ">>> t([1, 2, 3])\n" "[1, 2, 3]" -#: ../../library/stdtypes.rst:5881 +#: ../../builtins/stdtypes.rst:5881 msgid "" "Furthermore, parameterized generics erase type parameters during object " "creation::" @@ -10488,7 +10490,7 @@ msgstr "" "Darüber hinaus löschen parametrisierte Generics Typparameter während der " "Objekterstellung (Type Erasure)::" -#: ../../library/stdtypes.rst:5884 +#: ../../builtins/stdtypes.rst:5884 msgid "" ">>> t = list[str]\n" ">>> type(t)\n" @@ -10506,7 +10508,7 @@ msgstr "" ">>> type(l)\n" "" -#: ../../library/stdtypes.rst:5893 +#: ../../builtins/stdtypes.rst:5893 msgid "" "Instances of ``GenericAlias`` are not classes at runtime, even though they " "behave like classes (they can be instantiated and subclassed)::" @@ -10515,7 +10517,7 @@ msgstr "" "sie sich wie Klassen verhalten (sie können instanziiert und abgeleitet " "werden)::" -#: ../../library/stdtypes.rst:5895 +#: ../../builtins/stdtypes.rst:5895 msgid "" ">>> import inspect\n" ">>> inspect.isclass(list[int])\n" @@ -10525,14 +10527,14 @@ msgstr "" ">>> inspect.isclass(list[int])\n" "False" -#: ../../library/stdtypes.rst:5899 +#: ../../builtins/stdtypes.rst:5899 msgid "" "This is true for :ref:`user-defined generics ` also." msgstr "" "Dies gilt auch für :ref:`benutzerdefinierte Generics `." -#: ../../library/stdtypes.rst:5901 +#: ../../builtins/stdtypes.rst:5901 msgid "" "Calling :func:`repr` or :func:`str` on a generic shows the parameterized " "type::" @@ -10540,7 +10542,7 @@ msgstr "" "Der Aufruf von :func:`repr` oder :func:`str` auf einem Generic zeigt den " "parametrisierten Typ::" -#: ../../library/stdtypes.rst:5903 +#: ../../builtins/stdtypes.rst:5903 msgid "" ">>> repr(list[int])\n" "'list[int]'\n" @@ -10554,7 +10556,7 @@ msgstr "" ">>> str(list[int])\n" "'list[int]'" -#: ../../library/stdtypes.rst:5909 +#: ../../builtins/stdtypes.rst:5909 msgid "" "The :meth:`~object.__getitem__` method of generic containers will raise an " "exception to disallow mistakes like ``dict[str][str]``::" @@ -10562,7 +10564,7 @@ msgstr "" "Die Methode :meth:`~object.__getitem__` generischer Container löst eine " "Ausnahme aus, um Fehler wie ``dict[str][str]`` zu verhindern::" -#: ../../library/stdtypes.rst:5912 +#: ../../builtins/stdtypes.rst:5912 msgid "" ">>> dict[str][str]\n" "Traceback (most recent call last):\n" @@ -10574,7 +10576,7 @@ msgstr "" " ...\n" "TypeError: dict[str] is not a generic class" -#: ../../library/stdtypes.rst:5917 +#: ../../builtins/stdtypes.rst:5917 msgid "" "However, such expressions are valid when :ref:`type variables ` " "are used. The index must have as many elements as there are type variable " @@ -10585,7 +10587,7 @@ msgstr "" "Typvariablen-Einträge in :attr:`~genericalias.__args__` des ``GenericAlias``-" "Objekts gibt. ::" -#: ../../library/stdtypes.rst:5921 +#: ../../builtins/stdtypes.rst:5921 msgid "" ">>> from typing import TypeVar\n" ">>> Y = TypeVar('Y')\n" @@ -10597,11 +10599,11 @@ msgstr "" ">>> dict[str, Y][int]\n" "dict[str, int]" -#: ../../library/stdtypes.rst:5928 +#: ../../builtins/stdtypes.rst:5928 msgid "Standard Generic Classes" msgstr "Standard-Generische Klassen" -#: ../../library/stdtypes.rst:5930 +#: ../../builtins/stdtypes.rst:5930 msgid "" "The following standard library classes support parameterized generics. This " "list is non-exhaustive." @@ -10609,246 +10611,246 @@ msgstr "" "Die folgenden Klassen der Standardbibliothek unterstützen parametrisierte " "Generics. Diese Liste ist nicht vollständig." -#: ../../library/stdtypes.rst:5933 +#: ../../builtins/stdtypes.rst:5933 msgid ":class:`tuple`" msgstr ":class:`tuple`" -#: ../../library/stdtypes.rst:5934 +#: ../../builtins/stdtypes.rst:5934 msgid ":class:`list`" msgstr ":class:`list`" -#: ../../library/stdtypes.rst:5935 +#: ../../builtins/stdtypes.rst:5935 msgid ":class:`dict`" msgstr ":class:`dict`" -#: ../../library/stdtypes.rst:5936 +#: ../../builtins/stdtypes.rst:5936 msgid ":class:`set`" msgstr ":class:`set`" -#: ../../library/stdtypes.rst:5937 +#: ../../builtins/stdtypes.rst:5937 msgid ":class:`frozenset`" msgstr ":class:`frozenset`" -#: ../../library/stdtypes.rst:5938 +#: ../../builtins/stdtypes.rst:5938 msgid ":class:`type`" msgstr ":class:`type`" -#: ../../library/stdtypes.rst:5939 +#: ../../builtins/stdtypes.rst:5939 msgid ":class:`asyncio.Future`" msgstr ":class:`asyncio.Future`" -#: ../../library/stdtypes.rst:5940 +#: ../../builtins/stdtypes.rst:5940 msgid ":class:`asyncio.Task`" msgstr ":class:`asyncio.Task`" -#: ../../library/stdtypes.rst:5941 +#: ../../builtins/stdtypes.rst:5941 msgid ":class:`collections.deque`" msgstr ":class:`collections.deque`" -#: ../../library/stdtypes.rst:5942 +#: ../../builtins/stdtypes.rst:5942 msgid ":class:`collections.defaultdict`" msgstr ":class:`collections.defaultdict`" -#: ../../library/stdtypes.rst:5943 +#: ../../builtins/stdtypes.rst:5943 msgid ":class:`collections.OrderedDict`" msgstr ":class:`collections.OrderedDict`" -#: ../../library/stdtypes.rst:5944 +#: ../../builtins/stdtypes.rst:5944 msgid ":class:`collections.Counter`" msgstr ":class:`collections.Counter`" -#: ../../library/stdtypes.rst:5945 +#: ../../builtins/stdtypes.rst:5945 msgid ":class:`collections.ChainMap`" msgstr ":class:`collections.ChainMap`" -#: ../../library/stdtypes.rst:5946 +#: ../../builtins/stdtypes.rst:5946 msgid ":class:`collections.abc.Awaitable`" msgstr ":class:`collections.abc.Awaitable`" -#: ../../library/stdtypes.rst:5947 +#: ../../builtins/stdtypes.rst:5947 msgid ":class:`collections.abc.Coroutine`" msgstr ":class:`collections.abc.Coroutine`" -#: ../../library/stdtypes.rst:5948 +#: ../../builtins/stdtypes.rst:5948 msgid ":class:`collections.abc.AsyncIterable`" msgstr ":class:`collections.abc.AsyncIterable`" -#: ../../library/stdtypes.rst:5949 +#: ../../builtins/stdtypes.rst:5949 msgid ":class:`collections.abc.AsyncIterator`" msgstr ":class:`collections.abc.AsyncIterator`" -#: ../../library/stdtypes.rst:5950 +#: ../../builtins/stdtypes.rst:5950 msgid ":class:`collections.abc.AsyncGenerator`" msgstr ":class:`collections.abc.AsyncGenerator`" -#: ../../library/stdtypes.rst:5951 +#: ../../builtins/stdtypes.rst:5951 msgid ":class:`collections.abc.Iterable`" msgstr ":class:`collections.abc.Iterable`" -#: ../../library/stdtypes.rst:5952 +#: ../../builtins/stdtypes.rst:5952 msgid ":class:`collections.abc.Iterator`" msgstr ":class:`collections.abc.Iterator`" -#: ../../library/stdtypes.rst:5953 +#: ../../builtins/stdtypes.rst:5953 msgid ":class:`collections.abc.Generator`" msgstr ":class:`collections.abc.Generator`" -#: ../../library/stdtypes.rst:5954 +#: ../../builtins/stdtypes.rst:5954 msgid ":class:`collections.abc.Reversible`" msgstr ":class:`collections.abc.Reversible`" -#: ../../library/stdtypes.rst:5955 +#: ../../builtins/stdtypes.rst:5955 msgid ":class:`collections.abc.Container`" msgstr ":class:`collections.abc.Container`" -#: ../../library/stdtypes.rst:5956 +#: ../../builtins/stdtypes.rst:5956 msgid ":class:`collections.abc.Collection`" msgstr ":class:`collections.abc.Collection`" -#: ../../library/stdtypes.rst:5957 +#: ../../builtins/stdtypes.rst:5957 msgid ":class:`collections.abc.Callable`" msgstr ":class:`collections.abc.Callable`" -#: ../../library/stdtypes.rst:5958 +#: ../../builtins/stdtypes.rst:5958 msgid ":class:`collections.abc.Set`" msgstr ":class:`collections.abc.Set`" -#: ../../library/stdtypes.rst:5959 +#: ../../builtins/stdtypes.rst:5959 msgid ":class:`collections.abc.MutableSet`" msgstr ":class:`collections.abc.MutableSet`" -#: ../../library/stdtypes.rst:5960 +#: ../../builtins/stdtypes.rst:5960 msgid ":class:`collections.abc.Mapping`" msgstr ":class:`collections.abc.Mapping`" -#: ../../library/stdtypes.rst:5961 +#: ../../builtins/stdtypes.rst:5961 msgid ":class:`collections.abc.MutableMapping`" msgstr ":class:`collections.abc.MutableMapping`" -#: ../../library/stdtypes.rst:5962 +#: ../../builtins/stdtypes.rst:5962 msgid ":class:`collections.abc.Sequence`" msgstr ":class:`collections.abc.Sequence`" -#: ../../library/stdtypes.rst:5963 +#: ../../builtins/stdtypes.rst:5963 msgid ":class:`collections.abc.MutableSequence`" msgstr ":class:`collections.abc.MutableSequence`" -#: ../../library/stdtypes.rst:5964 +#: ../../builtins/stdtypes.rst:5964 msgid ":class:`collections.abc.ByteString`" msgstr ":class:`collections.abc.ByteString`" -#: ../../library/stdtypes.rst:5965 +#: ../../builtins/stdtypes.rst:5965 msgid ":class:`collections.abc.MappingView`" msgstr ":class:`collections.abc.MappingView`" -#: ../../library/stdtypes.rst:5966 +#: ../../builtins/stdtypes.rst:5966 msgid ":class:`collections.abc.KeysView`" msgstr ":class:`collections.abc.KeysView`" -#: ../../library/stdtypes.rst:5967 +#: ../../builtins/stdtypes.rst:5967 msgid ":class:`collections.abc.ItemsView`" msgstr ":class:`collections.abc.ItemsView`" -#: ../../library/stdtypes.rst:5968 +#: ../../builtins/stdtypes.rst:5968 msgid ":class:`collections.abc.ValuesView`" msgstr ":class:`collections.abc.ValuesView`" -#: ../../library/stdtypes.rst:5969 +#: ../../builtins/stdtypes.rst:5969 msgid ":class:`contextlib.AbstractContextManager`" msgstr ":class:`contextlib.AbstractContextManager`" -#: ../../library/stdtypes.rst:5970 +#: ../../builtins/stdtypes.rst:5970 msgid ":class:`contextlib.AbstractAsyncContextManager`" msgstr ":class:`contextlib.AbstractAsyncContextManager`" -#: ../../library/stdtypes.rst:5971 +#: ../../builtins/stdtypes.rst:5971 msgid ":class:`dataclasses.Field`" msgstr ":class:`dataclasses.Field`" -#: ../../library/stdtypes.rst:5972 +#: ../../builtins/stdtypes.rst:5972 msgid ":class:`functools.cached_property`" msgstr ":class:`functools.cached_property`" -#: ../../library/stdtypes.rst:5973 +#: ../../builtins/stdtypes.rst:5973 msgid ":class:`functools.partialmethod`" msgstr ":class:`functools.partialmethod`" -#: ../../library/stdtypes.rst:5974 +#: ../../builtins/stdtypes.rst:5974 msgid ":class:`os.PathLike`" msgstr ":class:`os.PathLike`" -#: ../../library/stdtypes.rst:5975 +#: ../../builtins/stdtypes.rst:5975 msgid ":class:`queue.LifoQueue`" msgstr ":class:`queue.LifoQueue`" -#: ../../library/stdtypes.rst:5976 +#: ../../builtins/stdtypes.rst:5976 msgid ":class:`queue.Queue`" msgstr ":class:`queue.Queue`" -#: ../../library/stdtypes.rst:5977 +#: ../../builtins/stdtypes.rst:5977 msgid ":class:`queue.PriorityQueue`" msgstr ":class:`queue.PriorityQueue`" -#: ../../library/stdtypes.rst:5978 +#: ../../builtins/stdtypes.rst:5978 msgid ":class:`queue.SimpleQueue`" msgstr ":class:`queue.SimpleQueue`" -#: ../../library/stdtypes.rst:5979 +#: ../../builtins/stdtypes.rst:5979 msgid ":ref:`re.Pattern `" msgstr ":ref:`re.Pattern `" -#: ../../library/stdtypes.rst:5980 +#: ../../builtins/stdtypes.rst:5980 msgid ":ref:`re.Match `" msgstr ":ref:`re.Match `" -#: ../../library/stdtypes.rst:5981 +#: ../../builtins/stdtypes.rst:5981 msgid ":class:`shelve.BsdDbShelf`" msgstr ":class:`shelve.BsdDbShelf`" -#: ../../library/stdtypes.rst:5982 +#: ../../builtins/stdtypes.rst:5982 msgid ":class:`shelve.DbfilenameShelf`" msgstr ":class:`shelve.DbfilenameShelf`" -#: ../../library/stdtypes.rst:5983 +#: ../../builtins/stdtypes.rst:5983 msgid ":class:`shelve.Shelf`" msgstr ":class:`shelve.Shelf`" -#: ../../library/stdtypes.rst:5984 +#: ../../builtins/stdtypes.rst:5984 msgid ":class:`types.MappingProxyType`" msgstr ":class:`types.MappingProxyType`" -#: ../../library/stdtypes.rst:5985 +#: ../../builtins/stdtypes.rst:5985 msgid ":class:`weakref.WeakKeyDictionary`" msgstr ":class:`weakref.WeakKeyDictionary`" -#: ../../library/stdtypes.rst:5986 +#: ../../builtins/stdtypes.rst:5986 msgid ":class:`weakref.WeakMethod`" msgstr ":class:`weakref.WeakMethod`" -#: ../../library/stdtypes.rst:5987 +#: ../../builtins/stdtypes.rst:5987 msgid ":class:`weakref.WeakSet`" msgstr ":class:`weakref.WeakSet`" -#: ../../library/stdtypes.rst:5988 +#: ../../builtins/stdtypes.rst:5988 msgid ":class:`weakref.WeakValueDictionary`" msgstr ":class:`weakref.WeakValueDictionary`" -#: ../../library/stdtypes.rst:5993 +#: ../../builtins/stdtypes.rst:5993 msgid "Special Attributes of ``GenericAlias`` objects" msgstr "Spezielle Attribute von ``GenericAlias``-Objekten" -#: ../../library/stdtypes.rst:5995 +#: ../../builtins/stdtypes.rst:5995 msgid "All parameterized generics implement special read-only attributes." msgstr "" "Alle parametrisierten Generics implementieren spezielle schreibgeschützte " "Attribute." -#: ../../library/stdtypes.rst:5999 +#: ../../builtins/stdtypes.rst:5999 msgid "This attribute points at the non-parameterized generic class::" msgstr "" "Dieses Attribut verweist auf die nicht-parametrisierte generische Klasse::" -#: ../../library/stdtypes.rst:6001 +#: ../../builtins/stdtypes.rst:6001 msgid "" ">>> list[int].__origin__\n" "" @@ -10856,7 +10858,7 @@ msgstr "" ">>> list[int].__origin__\n" "" -#: ../../library/stdtypes.rst:6007 +#: ../../builtins/stdtypes.rst:6007 msgid "" "This attribute is a :class:`tuple` (possibly of length 1) of generic types " "passed to the original :meth:`~object.__class_getitem__` of the generic " @@ -10866,7 +10868,7 @@ msgstr "" "generischen Typen, die an das ursprüngliche :meth:`~object." "__class_getitem__` der generischen Klasse übergeben wurden::" -#: ../../library/stdtypes.rst:6011 +#: ../../builtins/stdtypes.rst:6011 msgid "" ">>> dict[str, list[int]].__args__\n" "(, list[int])" @@ -10874,7 +10876,7 @@ msgstr "" ">>> dict[str, list[int]].__args__\n" "(, list[int])" -#: ../../library/stdtypes.rst:6017 +#: ../../builtins/stdtypes.rst:6017 msgid "" "This attribute is a lazily computed tuple (possibly empty) of unique type " "variables found in ``__args__``::" @@ -10882,7 +10884,7 @@ msgstr "" "Dieses Attribut ist ein verzögert ausgewertetes (möglicherweise leeres) " "Tupel von eindeutigen Typvariablen, die in ``__args__`` gefunden wurden::" -#: ../../library/stdtypes.rst:6020 +#: ../../builtins/stdtypes.rst:6020 msgid "" ">>> from typing import TypeVar\n" "\n" @@ -10896,7 +10898,7 @@ msgstr "" ">>> list[T].__parameters__\n" "(~T,)" -#: ../../library/stdtypes.rst:6028 +#: ../../builtins/stdtypes.rst:6028 msgid "" "A ``GenericAlias`` object with :class:`typing.ParamSpec` parameters may not " "have correct ``__parameters__`` after substitution because :class:`typing." @@ -10907,7 +10909,7 @@ msgstr "" "class:`typing.ParamSpec` in erster Linie für die statische Typprüfung " "gedacht ist." -#: ../../library/stdtypes.rst:6035 +#: ../../builtins/stdtypes.rst:6035 msgid "" "A boolean that is true if the alias has been unpacked using the ``*`` " "operator (see :data:`~typing.TypeVarTuple`)." @@ -10915,19 +10917,19 @@ msgstr "" "Ein boolescher Wert, der wahr ist, wenn das Alias mit dem Operator ``*`` " "entpackt wurde (siehe :data:`~typing.TypeVarTuple`)." -#: ../../library/stdtypes.rst:6043 +#: ../../builtins/stdtypes.rst:6043 msgid ":pep:`484` - Type Hints" msgstr ":pep:`484` - Type Hints" -#: ../../library/stdtypes.rst:6044 +#: ../../builtins/stdtypes.rst:6044 msgid "Introducing Python's framework for type annotations." msgstr "Einführung von Pythons Framework für Typ-Annotationen." -#: ../../library/stdtypes.rst:6046 +#: ../../builtins/stdtypes.rst:6046 msgid ":pep:`585` - Type Hinting Generics In Standard Collections" msgstr ":pep:`585` - Type Hinting Generics In Standard Collections" -#: ../../library/stdtypes.rst:6047 +#: ../../builtins/stdtypes.rst:6047 msgid "" "Introducing the ability to natively parameterize standard-library classes, " "provided they implement the special class method :meth:`~object." @@ -10937,7 +10939,7 @@ msgstr "" "Standardbibliotheksklassen, sofern sie die spezielle Klassenmethode :meth:" "`~object.__class_getitem__` implementieren." -#: ../../library/stdtypes.rst:6051 +#: ../../builtins/stdtypes.rst:6051 msgid "" ":ref:`Generics`, :ref:`user-defined generics ` and :" "class:`typing.Generic`" @@ -10945,7 +10947,7 @@ msgstr "" ":ref:`Generics`, :ref:`benutzerdefinierte Generics ` " "und :class:`typing.Generic`" -#: ../../library/stdtypes.rst:6052 +#: ../../builtins/stdtypes.rst:6052 msgid "" "Documentation on how to implement generic classes that can be parameterized " "at runtime and understood by static type-checkers." @@ -10953,11 +10955,11 @@ msgstr "" "Dokumentation zur Implementierung generischer Klassen, die zur Laufzeit " "parametrisiert und von statischen Typprüfern verstanden werden können." -#: ../../library/stdtypes.rst:6061 +#: ../../builtins/stdtypes.rst:6061 msgid "Union Type" msgstr "Union-Typ" -#: ../../library/stdtypes.rst:6067 +#: ../../builtins/stdtypes.rst:6067 msgid "" "A union object holds the value of the ``|`` (bitwise or) operation on " "multiple :ref:`type objects `. These types are intended " @@ -10971,7 +10973,7 @@ msgstr "" "Typ-Ausdruck ermöglicht eine sauberere Type-Hinting-Syntax im Vergleich zur " "Subskription von :class:`typing.Union`." -#: ../../library/stdtypes.rst:6074 +#: ../../builtins/stdtypes.rst:6074 msgid "" "Defines a union object which holds types *X*, *Y*, and so forth. ``X | Y`` " "means either X or Y. It is equivalent to ``typing.Union[X, Y]``. For " @@ -10983,7 +10985,7 @@ msgstr "" "Beispiel erwartet die folgende Funktion ein Argument vom Typ :class:`int` " "oder :class:`float`::" -#: ../../library/stdtypes.rst:6079 +#: ../../builtins/stdtypes.rst:6079 msgid "" "def square(number: int | float) -> int | float:\n" " return number ** 2" @@ -10991,7 +10993,7 @@ msgstr "" "def square(number: int | float) -> int | float:\n" " return number ** 2" -#: ../../library/stdtypes.rst:6084 +#: ../../builtins/stdtypes.rst:6084 msgid "" "The ``|`` operator cannot be used at runtime to define unions where one or " "more members is a forward reference. For example, ``int | \"Foo\"``, where " @@ -11006,42 +11008,42 @@ msgstr "" "ist. Für Unions, die Vorwärtsreferenzen enthalten, sollte der gesamte " "Ausdruck als String angegeben werden, z. B. ``\"int | Foo\"``." -#: ../../library/stdtypes.rst:6092 +#: ../../builtins/stdtypes.rst:6092 msgid "" "Union objects can be tested for equality with other union objects. Details:" msgstr "" "Union-Objekte können mit anderen Union-Objekten auf Gleichheit getestet " "werden. Details:" -#: ../../library/stdtypes.rst:6094 +#: ../../builtins/stdtypes.rst:6094 msgid "Unions of unions are flattened::" msgstr "Unions von Unions werden verflacht::" -#: ../../library/stdtypes.rst:6096 +#: ../../builtins/stdtypes.rst:6096 msgid "(int | str) | float == int | str | float" msgstr "(int | str) | float == int | str | float" -#: ../../library/stdtypes.rst:6098 +#: ../../builtins/stdtypes.rst:6098 msgid "Redundant types are removed::" msgstr "Redundante Typen werden entfernt::" -#: ../../library/stdtypes.rst:6100 +#: ../../builtins/stdtypes.rst:6100 msgid "int | str | int == int | str" msgstr "int | str | int == int | str" -#: ../../library/stdtypes.rst:6102 +#: ../../builtins/stdtypes.rst:6102 msgid "When comparing unions, the order is ignored::" msgstr "Beim Vergleich von Unions wird die Reihenfolge ignoriert::" -#: ../../library/stdtypes.rst:6104 +#: ../../builtins/stdtypes.rst:6104 msgid "int | str == str | int" msgstr "int | str == str | int" -#: ../../library/stdtypes.rst:6106 +#: ../../builtins/stdtypes.rst:6106 msgid "It creates instances of :class:`typing.Union`::" msgstr "Es erzeugt Instanzen von :class:`typing.Union`::" -#: ../../library/stdtypes.rst:6108 +#: ../../builtins/stdtypes.rst:6108 msgid "" "int | str == typing.Union[int, str]\n" "type(int | str) is typing.Union" @@ -11049,15 +11051,15 @@ msgstr "" "int | str == typing.Union[int, str]\n" "type(int | str) is typing.Union" -#: ../../library/stdtypes.rst:6111 +#: ../../builtins/stdtypes.rst:6111 msgid "Optional types can be spelled as a union with ``None``::" msgstr "Optionale Typen können als Union mit ``None`` geschrieben werden::" -#: ../../library/stdtypes.rst:6113 +#: ../../builtins/stdtypes.rst:6113 msgid "str | None == typing.Optional[str]" msgstr "str | None == typing.Optional[str]" -#: ../../library/stdtypes.rst:6118 +#: ../../builtins/stdtypes.rst:6118 msgid "" "Calls to :func:`isinstance` and :func:`issubclass` are also supported with a " "union object::" @@ -11065,7 +11067,7 @@ msgstr "" "Aufrufe von :func:`isinstance` und :func:`issubclass` werden ebenfalls mit " "einem Union-Objekt unterstützt::" -#: ../../library/stdtypes.rst:6121 +#: ../../builtins/stdtypes.rst:6121 msgid "" ">>> isinstance(\"\", int | str)\n" "True" @@ -11073,7 +11075,7 @@ msgstr "" ">>> isinstance(\"\", int | str)\n" "True" -#: ../../library/stdtypes.rst:6124 +#: ../../builtins/stdtypes.rst:6124 msgid "" "However, :ref:`parameterized generics ` in union objects " "cannot be checked::" @@ -11081,7 +11083,7 @@ msgstr "" ":ref:`Parametrisierte Generics ` in Union-Objekten " "können jedoch nicht geprüft werden::" -#: ../../library/stdtypes.rst:6127 +#: ../../builtins/stdtypes.rst:6127 msgid "" ">>> isinstance(1, int | list[int]) # short-circuit evaluation\n" "True\n" @@ -11097,7 +11099,7 @@ msgstr "" " ...\n" "TypeError: isinstance() argument 2 cannot be a parameterized generic" -#: ../../library/stdtypes.rst:6134 +#: ../../builtins/stdtypes.rst:6134 msgid "" "The user-exposed type for the union object can be accessed from :class:" "`typing.Union` and used for :func:`isinstance` checks::" @@ -11105,7 +11107,7 @@ msgstr "" "Der für Benutzer sichtbare Typ für das Union-Objekt kann über :class:`typing." "Union` aufgerufen und für :func:`isinstance`-Prüfungen verwendet werden::" -#: ../../library/stdtypes.rst:6137 +#: ../../builtins/stdtypes.rst:6137 msgid "" ">>> import typing\n" ">>> isinstance(int | str, typing.Union)\n" @@ -11123,7 +11125,7 @@ msgstr "" " File \"\", line 1, in \n" "TypeError: cannot create 'typing.Union' instances" -#: ../../library/stdtypes.rst:6146 +#: ../../builtins/stdtypes.rst:6146 msgid "" "The :meth:`!__or__` method for type objects was added to support the syntax " "``X | Y``. If a metaclass implements :meth:`!__or__`, the Union may " @@ -11133,7 +11135,7 @@ msgstr "" "``X | Y`` zu unterstützen. Wenn eine Metaklasse :meth:`!__or__` " "implementiert, kann die Union diese überschreiben:" -#: ../../library/stdtypes.rst:6150 +#: ../../builtins/stdtypes.rst:6150 msgid "" ">>> class M(type):\n" "... def __or__(self, other):\n" @@ -11159,12 +11161,12 @@ msgstr "" ">>> int | C\n" "int | C" -#: ../../library/stdtypes.rst:6166 +#: ../../builtins/stdtypes.rst:6166 msgid ":pep:`604` -- PEP proposing the ``X | Y`` syntax and the Union type." msgstr "" ":pep:`604` -- PEP zum Vorschlag der Syntax ``X | Y`` und des Union-Typs." -#: ../../library/stdtypes.rst:6172 +#: ../../builtins/stdtypes.rst:6172 msgid "" "Union objects are now instances of :class:`typing.Union`. Previously, they " "were instances of :class:`types.UnionType`, which remains an alias for :" @@ -11174,11 +11176,11 @@ msgstr "" "Instanzen von :class:`types.UnionType`, welches ein Alias für :class:`typing." "Union` bleibt." -#: ../../library/stdtypes.rst:6179 +#: ../../builtins/stdtypes.rst:6179 msgid "Other Built-in Types" msgstr "Andere eingebaute Typen" -#: ../../library/stdtypes.rst:6181 +#: ../../builtins/stdtypes.rst:6181 msgid "" "The interpreter supports several other kinds of objects. Most of these " "support only one or two operations." @@ -11186,11 +11188,11 @@ msgstr "" "Der Interpreter unterstützt mehrere andere Arten von Objekten. Die meisten " "von ihnen unterstützen nur eine oder zwei Operationen." -#: ../../library/stdtypes.rst:6188 +#: ../../builtins/stdtypes.rst:6188 msgid "Modules" msgstr "Module" -#: ../../library/stdtypes.rst:6190 +#: ../../builtins/stdtypes.rst:6190 msgid "" "The only special operation on a module is attribute access: ``m.name``, " "where *m* is a module and *name* accesses a name defined in *m*'s symbol " @@ -11208,7 +11210,7 @@ msgstr "" "ein Modulobjekt namens *foo* existiert, sondern eine (externe) *Definition* " "für ein Modul namens *foo* irgendwo vorhanden ist.)" -#: ../../library/stdtypes.rst:6197 +#: ../../builtins/stdtypes.rst:6197 msgid "" "A special attribute of every module is :attr:`~object.__dict__`. This is the " "dictionary containing the module's symbol table. Modifying this dictionary " @@ -11226,7 +11228,7 @@ msgstr "" "definiert, aber nicht ``m.__dict__ = {}``). Die direkte Modifikation von :" "attr:`~object.__dict__` wird nicht empfohlen." -#: ../../library/stdtypes.rst:6205 +#: ../../builtins/stdtypes.rst:6205 msgid "" "Modules built into the interpreter are written like this: ````. If loaded from a file, they are written as ````. Wenn sie aus einer Datei geladen werden, werden sie als " "```` geschrieben." -#: ../../library/stdtypes.rst:6213 +#: ../../builtins/stdtypes.rst:6213 msgid "Classes and Class Instances" msgstr "Klassen und Klasseninstanzen" -#: ../../library/stdtypes.rst:6215 +#: ../../builtins/stdtypes.rst:6215 msgid "See :ref:`objects` and :ref:`class` for these." msgstr "Siehe :ref:`objects` und :ref:`class` für diese." -#: ../../library/stdtypes.rst:6221 +#: ../../builtins/stdtypes.rst:6221 msgid "Functions" msgstr "Funktionen" -#: ../../library/stdtypes.rst:6223 +#: ../../builtins/stdtypes.rst:6223 msgid "" "Function objects are created by function definitions. The only operation on " "a function object is to call it: ``func(argument-list)``." @@ -11257,7 +11259,7 @@ msgstr "" "Operation auf einem Funktionsobjekt ist dessen Aufruf: ``func(argument-" "list)``." -#: ../../library/stdtypes.rst:6226 +#: ../../builtins/stdtypes.rst:6226 msgid "" "There are really two flavors of function objects: built-in functions and " "user-defined functions. Both support the same operation (to call the " @@ -11269,15 +11271,15 @@ msgstr "" "Operation (den Funktionsaufruf), die Implementierung ist jedoch " "unterschiedlich, daher die verschiedenen Objekttypen." -#: ../../library/stdtypes.rst:6230 +#: ../../builtins/stdtypes.rst:6230 msgid "See :ref:`function` for more information." msgstr "Siehe :ref:`function` für weitere Informationen." -#: ../../library/stdtypes.rst:6236 +#: ../../builtins/stdtypes.rst:6236 msgid "Methods" msgstr "Methoden" -#: ../../library/stdtypes.rst:6240 +#: ../../builtins/stdtypes.rst:6240 msgid "" "Methods are functions that are called using the attribute notation. There " "are two flavors: :ref:`built-in methods ` (such as :meth:" @@ -11290,7 +11292,7 @@ msgstr "" "methods>`. Eingebaute Methoden werden bei den Typen beschrieben, die sie " "unterstützen." -#: ../../library/stdtypes.rst:6246 +#: ../../builtins/stdtypes.rst:6246 msgid "" "If you access a method (a function defined in a class namespace) through an " "instance, you get a special object: a :dfn:`bound method` (also called :ref:" @@ -11313,7 +11315,7 @@ msgstr "" "``m(arg-1, arg-2, ..., arg-n)`` ist vollkommen äquivalent zum Aufruf von ``m." "__func__(m.__self__, arg-1, arg-2, ..., arg-n)``." -#: ../../library/stdtypes.rst:6257 +#: ../../builtins/stdtypes.rst:6257 msgid "" "Like :ref:`function objects `, bound method objects " "support getting arbitrary attributes. However, since method attributes are " @@ -11332,7 +11334,7 @@ msgstr "" "wird. Um ein Methodenattribut zu setzen, muss es explizit auf dem zugrunde " "liegenden Funktionsobjekt gesetzt werden:" -#: ../../library/stdtypes.rst:6265 +#: ../../builtins/stdtypes.rst:6265 msgid "" ">>> class C:\n" "... def method(self):\n" @@ -11360,15 +11362,15 @@ msgstr "" ">>> c.method.whoami\n" "'my name is method'" -#: ../../library/stdtypes.rst:6280 +#: ../../builtins/stdtypes.rst:6280 msgid "See :ref:`instance-methods` for more information." msgstr "Siehe :ref:`instance-methods` für weitere Informationen." -#: ../../library/stdtypes.rst:6288 +#: ../../builtins/stdtypes.rst:6288 msgid "Code Objects" msgstr "Code-Objekte" -#: ../../library/stdtypes.rst:6294 +#: ../../builtins/stdtypes.rst:6294 msgid "" "Code objects are used by the implementation to represent \"pseudo-compiled\" " "executable Python code such as a function body. They differ from function " @@ -11385,7 +11387,7 @@ msgstr "" "zurückgegeben und können über ihr Attribut :attr:`~function.__code__` aus " "Funktionsobjekten extrahiert werden. Siehe auch das Modul :mod:`code`." -#: ../../library/stdtypes.rst:6301 +#: ../../builtins/stdtypes.rst:6301 msgid "" "Accessing :attr:`~function.__code__` raises an :ref:`auditing event " "` ``object.__getattr__`` with arguments ``obj`` and " @@ -11395,7 +11397,7 @@ msgstr "" "` ``object.__getattr__`` mit den Argumenten ``obj`` und " "``\"__code__\"`` aus." -#: ../../library/stdtypes.rst:6308 +#: ../../builtins/stdtypes.rst:6308 msgid "" "A code object can be executed or evaluated by passing it (instead of a " "source string) to the :func:`exec` or :func:`eval` built-in functions." @@ -11404,15 +11406,15 @@ msgstr "" "eines Quell-Strings) an die eingebauten Funktionen :func:`exec` oder :func:" "`eval` übergeben wird." -#: ../../library/stdtypes.rst:6311 +#: ../../builtins/stdtypes.rst:6311 msgid "See :ref:`types` for more information." msgstr "Siehe :ref:`types` für weitere Informationen." -#: ../../library/stdtypes.rst:6317 +#: ../../builtins/stdtypes.rst:6317 msgid "Type Objects" msgstr "Typ-Objekte" -#: ../../library/stdtypes.rst:6323 +#: ../../builtins/stdtypes.rst:6323 msgid "" "Type objects represent the various object types. An object's type is " "accessed by the built-in function :func:`type`. There are no special " @@ -11424,15 +11426,15 @@ msgstr "" "keine speziellen Operationen auf Typen. Das Standardmodul :mod:`types` " "definiert Namen für alle standardmäßigen eingebauten Typen." -#: ../../library/stdtypes.rst:6328 +#: ../../builtins/stdtypes.rst:6328 msgid "Types are written like this: ````." msgstr "Typen werden so geschrieben: ````." -#: ../../library/stdtypes.rst:6334 +#: ../../builtins/stdtypes.rst:6334 msgid "The Null Object" msgstr "Das Null-Objekt" -#: ../../library/stdtypes.rst:6336 +#: ../../builtins/stdtypes.rst:6336 msgid "" "This object is returned by functions that don't explicitly return a value. " "It supports no special operations. There is exactly one null object, named " @@ -11443,15 +11445,15 @@ msgstr "" "ein Null-Objekt namens ``None`` (ein eingebauter Name). ``type(None)()`` " "erzeugt dasselbe Singleton." -#: ../../library/stdtypes.rst:6340 +#: ../../builtins/stdtypes.rst:6340 msgid "It is written as ``None``." msgstr "Es wird als ``None`` geschrieben." -#: ../../library/stdtypes.rst:6347 +#: ../../builtins/stdtypes.rst:6347 msgid "The Ellipsis Object" msgstr "Das Ellipsis-Objekt" -#: ../../library/stdtypes.rst:6349 +#: ../../builtins/stdtypes.rst:6349 msgid "" "This object is commonly used to indicate that something is omitted. It " "supports no special operations. There is exactly one ellipsis object, " @@ -11463,11 +11465,11 @@ msgstr "" "genau ein Ellipsis-Objekt namens :const:`Ellipsis` (ein eingebauter Name). " "``type(Ellipsis)()`` erzeugt das Singleton :const:`Ellipsis`." -#: ../../library/stdtypes.rst:6354 +#: ../../builtins/stdtypes.rst:6354 msgid "It is written as ``Ellipsis`` or ``...``." msgstr "Es wird als ``Ellipsis`` oder ``...`` geschrieben." -#: ../../library/stdtypes.rst:6356 +#: ../../builtins/stdtypes.rst:6356 msgid "" "In typical use, ``...`` as the ``Ellipsis`` object appears in a few " "different places, for instance:" @@ -11475,7 +11477,7 @@ msgstr "" "In typischer Verwendung erscheint ``...`` als das ``Ellipsis``-Objekt an " "einigen verschiedenen Stellen, zum Beispiel:" -#: ../../library/stdtypes.rst:6359 +#: ../../builtins/stdtypes.rst:6359 msgid "" "In type annotations, such as :ref:`callable arguments ` or :ref:`tuple elements `." @@ -11483,13 +11485,13 @@ msgstr "" "In Typ-Annotationen, wie z. B. :ref:`Callable-Argumente ` oder :ref:`Tupel-Elemente `." -#: ../../library/stdtypes.rst:6362 +#: ../../builtins/stdtypes.rst:6362 msgid "" "As the body of a function instead of a :ref:`pass statement `." msgstr "" "Als Körper einer Funktion anstelle einer :ref:`pass-Anweisung `." -#: ../../library/stdtypes.rst:6364 +#: ../../builtins/stdtypes.rst:6364 msgid "" "In third-party libraries, such as `Numpy's slicing and striding `_." @@ -11498,7 +11500,7 @@ msgstr "" "`_." -#: ../../library/stdtypes.rst:6367 +#: ../../builtins/stdtypes.rst:6367 msgid "" "Python also uses three dots in ways that are not ``Ellipsis`` objects, for " "instance:" @@ -11506,7 +11508,7 @@ msgstr "" "Python verwendet drei Punkte auch auf Weisen, die keine ``Ellipsis``-Objekte " "sind, zum Beispiel:" -#: ../../library/stdtypes.rst:6369 +#: ../../builtins/stdtypes.rst:6369 msgid "" "Doctest's :const:`ELLIPSIS `, as a pattern for missing " "content." @@ -11514,7 +11516,7 @@ msgstr "" "Doctests :const:`ELLIPSIS `, als Muster für fehlenden " "Inhalt." -#: ../../library/stdtypes.rst:6371 +#: ../../builtins/stdtypes.rst:6371 msgid "" "The default Python prompt of the :term:`interactive` shell when partial " "input is incomplete." @@ -11522,7 +11524,7 @@ msgstr "" "Der Standard-Python-Prompt der :term:`interaktiven ` Shell, " "wenn eine unvollständige Eingabe vorliegt." -#: ../../library/stdtypes.rst:6373 +#: ../../builtins/stdtypes.rst:6373 msgid "" "Lastly, the Python documentation often uses three dots in conventional " "English usage to mean omitted content, even in code examples that also use " @@ -11532,11 +11534,11 @@ msgstr "" "herkömmlichen Sprachgebrauchs, um ausgelassenen Inhalt zu kennzeichnen, " "selbst in Codebeispielen, die sie auch als ``Ellipsis`` verwenden." -#: ../../library/stdtypes.rst:6381 +#: ../../builtins/stdtypes.rst:6381 msgid "The NotImplemented Object" msgstr "Das NotImplemented-Objekt" -#: ../../library/stdtypes.rst:6383 +#: ../../builtins/stdtypes.rst:6383 msgid "" "This object is returned from comparisons and binary operations when they are " "asked to operate on types they don't support. See :ref:`comparisons` for " @@ -11549,15 +11551,15 @@ msgstr "" "`NotImplemented`-Objekt. :code:`type(NotImplemented)()` erzeugt die " "Singleton-Instanz." -#: ../../library/stdtypes.rst:6388 +#: ../../builtins/stdtypes.rst:6388 msgid "It is written as :code:`NotImplemented`." msgstr "Es wird als :code:`NotImplemented` geschrieben." -#: ../../library/stdtypes.rst:6394 +#: ../../builtins/stdtypes.rst:6394 msgid "Internal Objects" msgstr "Interne Objekte" -#: ../../library/stdtypes.rst:6396 +#: ../../builtins/stdtypes.rst:6396 msgid "" "See :ref:`types` for this information. It describes :ref:`stack frame " "objects `, :ref:`traceback objects `, and " @@ -11567,11 +11569,11 @@ msgstr "" "Objekte `, :ref:`Traceback-Objekte ` und " "Slice-Objekte beschrieben." -#: ../../library/stdtypes.rst:6404 +#: ../../builtins/stdtypes.rst:6404 msgid "Special Attributes" msgstr "Spezielle Attribute" -#: ../../library/stdtypes.rst:6406 +#: ../../builtins/stdtypes.rst:6406 msgid "" "The implementation adds a few special read-only attributes to several object " "types, where they are relevant. Some of these are not reported by the :func:" @@ -11581,14 +11583,14 @@ msgstr "" "schreibgeschützte Attribute hinzu, wo sie relevant sind. Einige davon werden " "von der eingebauten Funktion :func:`dir` nicht gemeldet." -#: ../../library/stdtypes.rst:6413 +#: ../../builtins/stdtypes.rst:6413 msgid "" "The name of the class, function, method, descriptor, or generator instance." msgstr "" "Der Name der Klasse, Funktion, Methode, des Deskriptors oder der " "Generatorinstanz." -#: ../../library/stdtypes.rst:6419 +#: ../../builtins/stdtypes.rst:6419 msgid "" "The :term:`qualified name` of the class, function, method, descriptor, or " "generator instance." @@ -11596,18 +11598,18 @@ msgstr "" "Der :term:`voll qualifizierte Name ` der Klasse, Funktion, " "Methode, des Deskriptors oder der Generatorinstanz." -#: ../../library/stdtypes.rst:6427 +#: ../../builtins/stdtypes.rst:6427 msgid "The name of the module in which a class or function was defined." msgstr "Der Name des Moduls, in dem eine Klasse oder Funktion definiert wurde." -#: ../../library/stdtypes.rst:6432 +#: ../../builtins/stdtypes.rst:6432 msgid "" "The documentation string of a class or function, or ``None`` if undefined." msgstr "" "Der Dokumentations-String (Docstring) einer Klasse oder Funktion oder " "``None``, falls nicht definiert." -#: ../../library/stdtypes.rst:6437 +#: ../../builtins/stdtypes.rst:6437 msgid "" "The :ref:`type parameters ` of generic classes, functions, and :" "ref:`type aliases `. For classes and functions that are not " @@ -11617,11 +11619,11 @@ msgstr "" "ref:`Typaliase `. Für Klassen und Funktionen, die nicht " "generisch sind, ist dies ein leeres Tupel." -#: ../../library/stdtypes.rst:6447 +#: ../../builtins/stdtypes.rst:6447 msgid "Integer string conversion length limitation" msgstr "Längenbeschränkung bei der Ganzzahl-String-Konvertierung" -#: ../../library/stdtypes.rst:6449 +#: ../../builtins/stdtypes.rst:6449 msgid "" "CPython has a global limit for converting between :class:`int` and :class:" "`str` to mitigate denial of service attacks. This limit *only* applies to " @@ -11634,7 +11636,7 @@ msgstr "" "Zweierpotenz sind. Hexadezimale, oktale und binäre Konvertierungen sind " "unbegrenzt. Das Limit kann konfiguriert werden." -#: ../../library/stdtypes.rst:6454 +#: ../../builtins/stdtypes.rst:6454 msgid "" "The :class:`int` type in CPython is an arbitrary length number stored in " "binary form (commonly known as a \"bignum\"). There exists no algorithm that " @@ -11652,14 +11654,14 @@ msgstr "" "eines großen Werts wie ``int('1' * 500_000)`` kann auf einer schnellen CPU " "über eine Sekunde dauern." -#: ../../library/stdtypes.rst:6461 +#: ../../builtins/stdtypes.rst:6461 msgid "" "Limiting conversion size offers a practical way to avoid :cve:`2020-10735`." msgstr "" "Die Begrenzung der Konvertierungsgröße bietet eine praktische Möglichkeit, :" "cve:`2020-10735` zu vermeiden." -#: ../../library/stdtypes.rst:6463 +#: ../../builtins/stdtypes.rst:6463 msgid "" "The limit is applied to the number of digit characters in the input or " "output string when a non-linear conversion algorithm would be involved. " @@ -11669,14 +11671,14 @@ msgstr "" "String angewendet, wenn ein nicht-linearer Konvertierungsalgorithmus " "beteiligt wäre. Unterstriche und das Vorzeichen zählen nicht zum Limit." -#: ../../library/stdtypes.rst:6467 +#: ../../builtins/stdtypes.rst:6467 msgid "" "When an operation would exceed the limit, a :exc:`ValueError` is raised:" msgstr "" "Wenn eine Operation das Limit überschreiten würde, wird ein :exc:" "`ValueError` ausgelöst:" -#: ../../library/stdtypes.rst:6469 +#: ../../builtins/stdtypes.rst:6469 msgid "" ">>> import sys\n" ">>> sys.set_int_max_str_digits(4300) # Illustrative, this is the default.\n" @@ -11720,7 +11722,7 @@ msgstr "" "7144\n" ">>> assert int(hex(i_squared), base=16) == i*i # Hexadecimal is unlimited." -#: ../../library/stdtypes.rst:6489 +#: ../../builtins/stdtypes.rst:6489 msgid "" "The default limit is 4300 digits as provided in :data:`sys.int_info." "default_max_str_digits `. The lowest limit that can be " @@ -11732,11 +11734,11 @@ msgstr "" "konfiguriert werden kann, beträgt 640 Ziffern, wie in :data:`sys.int_info." "str_digits_check_threshold ` angegeben." -#: ../../library/stdtypes.rst:6494 +#: ../../builtins/stdtypes.rst:6494 msgid "Verification:" msgstr "Verifizierung:" -#: ../../library/stdtypes.rst:6496 +#: ../../builtins/stdtypes.rst:6496 msgid "" ">>> import sys\n" ">>> assert sys.int_info.default_max_str_digits == 4300, sys.int_info\n" @@ -11754,11 +11756,11 @@ msgstr "" "... '571186405732').to_bytes(53, 'big')\n" "..." -#: ../../library/stdtypes.rst:6509 +#: ../../builtins/stdtypes.rst:6509 msgid "Affected APIs" msgstr "Betroffene APIs" -#: ../../library/stdtypes.rst:6511 +#: ../../builtins/stdtypes.rst:6511 msgid "" "The limitation only applies to potentially slow conversions between :class:" "`int` and :class:`str` or :class:`bytes`:" @@ -11766,23 +11768,23 @@ msgstr "" "Die Einschränkung gilt nur für potenziell langsame Konvertierungen zwischen :" "class:`int` und :class:`str` oder :class:`bytes`:" -#: ../../library/stdtypes.rst:6514 +#: ../../builtins/stdtypes.rst:6514 msgid "``int(string)`` with default base 10." msgstr "``int(string)`` mit der Standardbasis 10." -#: ../../library/stdtypes.rst:6515 +#: ../../builtins/stdtypes.rst:6515 msgid "``int(string, base)`` for all bases that are not a power of 2." msgstr "``int(string, base)`` für alle Basen, die keine Zweierpotenz sind." -#: ../../library/stdtypes.rst:6516 +#: ../../builtins/stdtypes.rst:6516 msgid "``str(integer)``." msgstr "``str(integer)``." -#: ../../library/stdtypes.rst:6517 +#: ../../builtins/stdtypes.rst:6517 msgid "``repr(integer)``." msgstr "``repr(integer)``." -#: ../../library/stdtypes.rst:6518 +#: ../../builtins/stdtypes.rst:6518 msgid "" "any other string conversion to base 10, for example ``f\"{integer}\"``, " "``\"{}\".format(integer)``, or ``b\"%d\" % integer``." @@ -11790,41 +11792,41 @@ msgstr "" "jede andere String-Konvertierung zur Basis 10, zum Beispiel " "``f\"{integer}\"``, ``\"{}\".format(integer)`` oder ``b\"%d\" % integer``." -#: ../../library/stdtypes.rst:6521 +#: ../../builtins/stdtypes.rst:6521 msgid "The limitations do not apply to functions with a linear algorithm:" msgstr "" "Die Einschränkungen gelten nicht für Funktionen mit einem linearen " "Algorithmus:" -#: ../../library/stdtypes.rst:6523 +#: ../../builtins/stdtypes.rst:6523 msgid "``int(string, base)`` with base 2, 4, 8, 16, or 32." msgstr "``int(string, base)`` mit Basis 2, 4, 8, 16 oder 32." -#: ../../library/stdtypes.rst:6524 +#: ../../builtins/stdtypes.rst:6524 msgid ":func:`int.from_bytes` and :func:`int.to_bytes`." msgstr ":func:`int.from_bytes` und :func:`int.to_bytes`." -#: ../../library/stdtypes.rst:6525 +#: ../../builtins/stdtypes.rst:6525 msgid ":func:`hex`, :func:`oct`, :func:`bin`." msgstr ":func:`hex`, :func:`oct`, :func:`bin`." -#: ../../library/stdtypes.rst:6526 +#: ../../builtins/stdtypes.rst:6526 msgid ":ref:`formatspec` for hex, octal, and binary numbers." msgstr ":ref:`formatspec` für Hexadezimal-, Oktal- und Binärzahlen." -#: ../../library/stdtypes.rst:6527 +#: ../../builtins/stdtypes.rst:6527 msgid ":class:`str` to :class:`float`." msgstr ":class:`str` zu :class:`float`." -#: ../../library/stdtypes.rst:6528 +#: ../../builtins/stdtypes.rst:6528 msgid ":class:`str` to :class:`decimal.Decimal`." msgstr ":class:`str` zu :class:`decimal.Decimal`." -#: ../../library/stdtypes.rst:6531 +#: ../../builtins/stdtypes.rst:6531 msgid "Configuring the limit" msgstr "Konfigurieren des Limits" -#: ../../library/stdtypes.rst:6533 +#: ../../builtins/stdtypes.rst:6533 msgid "" "Before Python starts up you can use an environment variable or an " "interpreter command line flag to configure the limit:" @@ -11832,7 +11834,7 @@ msgstr "" "Vor dem Start von Python kann eine Umgebungsvariable oder ein Kommandozeilen-" "Flag des Interpreters verwendet werden, um das Limit zu konfigurieren:" -#: ../../library/stdtypes.rst:6536 +#: ../../builtins/stdtypes.rst:6536 msgid "" ":envvar:`PYTHONINTMAXSTRDIGITS`, e.g. ``PYTHONINTMAXSTRDIGITS=640 python3`` " "to set the limit to 640 or ``PYTHONINTMAXSTRDIGITS=0 python3`` to disable " @@ -11842,7 +11844,7 @@ msgstr "" "python3``, um das Limit auf 640 zu setzen, oder ``PYTHONINTMAXSTRDIGITS=0 " "python3``, um die Beschränkung zu deaktivieren." -#: ../../library/stdtypes.rst:6539 +#: ../../builtins/stdtypes.rst:6539 msgid "" ":option:`-X int_max_str_digits <-X>`, e.g. ``python3 -X " "int_max_str_digits=640``" @@ -11850,7 +11852,7 @@ msgstr "" ":option:`-X int_max_str_digits <-X>`, z. B. ``python3 -X " "int_max_str_digits=640``" -#: ../../library/stdtypes.rst:6541 +#: ../../builtins/stdtypes.rst:6541 msgid "" ":data:`sys.flags.int_max_str_digits` contains the value of :envvar:" "`PYTHONINTMAXSTRDIGITS` or :option:`-X int_max_str_digits <-X>`. If both the " @@ -11865,7 +11867,7 @@ msgstr "" "gesetzt waren, weshalb bei der Initialisierung ein Wert von :data:`sys." "int_info.default_max_str_digits` verwendet wurde." -#: ../../library/stdtypes.rst:6547 +#: ../../builtins/stdtypes.rst:6547 msgid "" "From code, you can inspect the current limit and set a new one using these :" "mod:`sys` APIs:" @@ -11873,7 +11875,7 @@ msgstr "" "Aus dem Code heraus kann das aktuelle Limit eingesehen und über diese :mod:" "`sys`-APIs ein neues festgelegt werden:" -#: ../../library/stdtypes.rst:6550 +#: ../../builtins/stdtypes.rst:6550 msgid "" ":func:`sys.get_int_max_str_digits` and :func:`sys.set_int_max_str_digits` " "are a getter and setter for the interpreter-wide limit. Subinterpreters have " @@ -11883,7 +11885,7 @@ msgstr "" "sind Getter und Setter für das interpreterweite Limit. Sub-Interpreter haben " "ihr eigenes Limit." -#: ../../library/stdtypes.rst:6554 +#: ../../builtins/stdtypes.rst:6554 msgid "" "Information about the default and minimum can be found in :data:`sys." "int_info`:" @@ -11891,7 +11893,7 @@ msgstr "" "Informationen über den Standardwert und das Minimum finden sich in :data:" "`sys.int_info`:" -#: ../../library/stdtypes.rst:6556 +#: ../../builtins/stdtypes.rst:6556 msgid "" ":data:`sys.int_info.default_max_str_digits ` is the compiled-" "in default limit." @@ -11899,7 +11901,7 @@ msgstr "" ":data:`sys.int_info.default_max_str_digits ` ist das " "einkompilierte Standardlimit." -#: ../../library/stdtypes.rst:6558 +#: ../../builtins/stdtypes.rst:6558 msgid "" ":data:`sys.int_info.str_digits_check_threshold ` is the lowest " "accepted value for the limit (other than 0 which disables it)." @@ -11907,7 +11909,7 @@ msgstr "" ":data:`sys.int_info.str_digits_check_threshold ` ist der " "niedrigste akzeptierte Wert für das Limit (außer 0, was es deaktiviert)." -#: ../../library/stdtypes.rst:6565 +#: ../../builtins/stdtypes.rst:6565 msgid "" "Setting a low limit *can* lead to problems. While rare, code exists that " "contains integer constants in decimal in their source that exceed the " @@ -11929,7 +11931,7 @@ msgstr "" "besteht darin, sie in die hexadezimale ``0x``-Form umzuwandeln, da diese " "kein Limit besitzt." -#: ../../library/stdtypes.rst:6574 +#: ../../builtins/stdtypes.rst:6574 msgid "" "Test your application thoroughly if you use a low limit. Ensure your tests " "run with the limit set early via the environment or flag so that it applies " @@ -11942,11 +11944,11 @@ msgstr "" "Installationsschritt greift, der Python aufrufen könnte, um ``.py``-Quellen " "in ``.pyc``-Dateien vorzukompilieren." -#: ../../library/stdtypes.rst:6580 +#: ../../builtins/stdtypes.rst:6580 msgid "Recommended configuration" msgstr "Empfohlene Konfiguration" -#: ../../library/stdtypes.rst:6582 +#: ../../builtins/stdtypes.rst:6582 msgid "" "The default :data:`sys.int_info.default_max_str_digits` is expected to be " "reasonable for most applications. If your application requires a different " @@ -11959,11 +11961,11 @@ msgstr "" "versionsunabhängigem Code, da diese APIs in Versionen vor 3.12 in " "Sicherheits-Patch-Releases hinzugefügt wurden." -#: ../../library/stdtypes.rst:6587 +#: ../../builtins/stdtypes.rst:6587 msgid "Example::" msgstr "Beispiel::" -#: ../../library/stdtypes.rst:6589 +#: ../../builtins/stdtypes.rst:6589 msgid "" ">>> import sys\n" ">>> if hasattr(sys, \"set_int_max_str_digits\"):\n" @@ -11985,15 +11987,15 @@ msgstr "" "... elif current_limit < lower_bound:\n" "... sys.set_int_max_str_digits(lower_bound)" -#: ../../library/stdtypes.rst:6599 +#: ../../builtins/stdtypes.rst:6599 msgid "If you need to disable it entirely, set it to ``0``." msgstr "Wenn es vollständig deaktiviert werden soll, setze es auf ``0``." -#: ../../library/stdtypes.rst:6603 +#: ../../builtins/stdtypes.rst:6603 msgid "Footnotes" msgstr "Fußnoten" -#: ../../library/stdtypes.rst:6604 +#: ../../builtins/stdtypes.rst:6604 msgid "" "Additional information on these special methods may be found in the Python " "Reference Manual (:ref:`customization`)." @@ -12001,7 +12003,7 @@ msgstr "" "Zusätzliche Informationen zu diesen speziellen Methoden finden sich im " "Python-Referenzhandbuch (:ref:`customization`)." -#: ../../library/stdtypes.rst:6607 +#: ../../builtins/stdtypes.rst:6607 msgid "" "As a consequence, the list ``[1, 2]`` is considered equal to ``[1.0, 2.0]``, " "and similarly for tuples." @@ -12009,13 +12011,13 @@ msgstr "" "Folglich gilt die Liste ``[1, 2]`` als gleich zu ``[1.0, 2.0]``, und " "Entsprechendes gilt für Tupel." -#: ../../library/stdtypes.rst:6610 +#: ../../builtins/stdtypes.rst:6610 msgid "They must have since the parser can't tell the type of the operands." msgstr "" "Sie müssen dieselbe Priorität haben, da der Parser den Typ der Operanden " "nicht unterscheiden kann." -#: ../../library/stdtypes.rst:6612 +#: ../../builtins/stdtypes.rst:6612 msgid "" "Cased characters are those with general category property being one of " "\"Lu\" (Letter, uppercase), \"Ll\" (Letter, lowercase), or \"Lt\" (Letter, " @@ -12025,7 +12027,7 @@ msgstr "" "Eigenschaft \"Lu\" (Letter, uppercase), \"Ll\" (Letter, lowercase) oder " "\"Lt\" (Letter, titlecase) ist." -#: ../../library/stdtypes.rst:6615 +#: ../../builtins/stdtypes.rst:6615 msgid "" "To format only a tuple you should therefore provide a singleton tuple whose " "only element is the tuple to be formatted." @@ -12033,767 +12035,767 @@ msgstr "" "Um ausschließlich ein Tupel zu formatieren, sollte man daher ein Singleton-" "Tupel bereitstellen, dessen einziges Element das zu formatierende Tupel ist." -#: ../../library/stdtypes.rst:13 +#: ../../builtins/stdtypes.rst:13 msgid "built-in" msgstr "eingebaut" -#: ../../library/stdtypes.rst:13 ../../library/stdtypes.rst:332 -#: ../../library/stdtypes.rst:409 ../../library/stdtypes.rst:1005 -#: ../../library/stdtypes.rst:1197 ../../library/stdtypes.rst:1219 -#: ../../library/stdtypes.rst:1234 ../../library/stdtypes.rst:5302 -#: ../../library/stdtypes.rst:6319 +#: ../../builtins/stdtypes.rst:13 ../../builtins/stdtypes.rst:332 +#: ../../builtins/stdtypes.rst:409 ../../builtins/stdtypes.rst:1005 +#: ../../builtins/stdtypes.rst:1197 ../../builtins/stdtypes.rst:1219 +#: ../../builtins/stdtypes.rst:1234 ../../builtins/stdtypes.rst:5302 +#: ../../builtins/stdtypes.rst:6319 msgid "types" msgstr "types" -#: ../../library/stdtypes.rst:34 ../../library/stdtypes.rst:1234 -#: ../../library/stdtypes.rst:5302 +#: ../../builtins/stdtypes.rst:34 ../../builtins/stdtypes.rst:1234 +#: ../../builtins/stdtypes.rst:5302 msgid "statement" msgstr "Anweisung" -#: ../../library/stdtypes.rst:34 +#: ../../builtins/stdtypes.rst:34 msgid "if" msgstr "if" -#: ../../library/stdtypes.rst:34 +#: ../../builtins/stdtypes.rst:34 msgid "while" msgstr "while" -#: ../../library/stdtypes.rst:34 +#: ../../builtins/stdtypes.rst:34 msgid "truth" msgstr "Wahrheit" -#: ../../library/stdtypes.rst:34 +#: ../../builtins/stdtypes.rst:34 msgid "value" msgstr "Wert" -#: ../../library/stdtypes.rst:34 ../../library/stdtypes.rst:83 -#: ../../library/stdtypes.rst:210 ../../library/stdtypes.rst:869 +#: ../../builtins/stdtypes.rst:34 ../../builtins/stdtypes.rst:83 +#: ../../builtins/stdtypes.rst:210 ../../builtins/stdtypes.rst:869 msgid "Boolean" msgstr "Boolesch" -#: ../../library/stdtypes.rst:34 ../../library/stdtypes.rst:83 -#: ../../library/stdtypes.rst:409 +#: ../../builtins/stdtypes.rst:34 ../../builtins/stdtypes.rst:83 +#: ../../builtins/stdtypes.rst:409 msgid "operations" msgstr "Operationen" -#: ../../library/stdtypes.rst:34 +#: ../../builtins/stdtypes.rst:34 msgid "false" msgstr "Falsch" -#: ../../library/stdtypes.rst:44 +#: ../../builtins/stdtypes.rst:44 msgid "true" msgstr "Wahr" -#: ../../library/stdtypes.rst:54 +#: ../../builtins/stdtypes.rst:54 msgid "None (Built-in object)" msgstr "None (Eingebautes Objekt)" -#: ../../library/stdtypes.rst:54 +#: ../../builtins/stdtypes.rst:54 msgid "False (Built-in object)" msgstr "False (Eingebautes Objekt)" -#: ../../library/stdtypes.rst:66 ../../library/stdtypes.rst:100 -#: ../../library/stdtypes.rst:125 ../../library/stdtypes.rst:197 -#: ../../library/stdtypes.rst:251 ../../library/stdtypes.rst:409 -#: ../../library/stdtypes.rst:1005 +#: ../../builtins/stdtypes.rst:66 ../../builtins/stdtypes.rst:100 +#: ../../builtins/stdtypes.rst:125 ../../builtins/stdtypes.rst:197 +#: ../../builtins/stdtypes.rst:251 ../../builtins/stdtypes.rst:409 +#: ../../builtins/stdtypes.rst:1005 msgid "operator" msgstr "Operator" -#: ../../library/stdtypes.rst:66 ../../library/stdtypes.rst:100 +#: ../../builtins/stdtypes.rst:66 ../../builtins/stdtypes.rst:100 msgid "or" msgstr "or" -#: ../../library/stdtypes.rst:66 ../../library/stdtypes.rst:100 +#: ../../builtins/stdtypes.rst:66 ../../builtins/stdtypes.rst:100 msgid "and" msgstr "and" -#: ../../library/stdtypes.rst:66 ../../library/stdtypes.rst:869 +#: ../../builtins/stdtypes.rst:66 ../../builtins/stdtypes.rst:869 msgid "False" msgstr "False" -#: ../../library/stdtypes.rst:66 ../../library/stdtypes.rst:869 +#: ../../builtins/stdtypes.rst:66 ../../builtins/stdtypes.rst:869 msgid "True" msgstr "True" -#: ../../library/stdtypes.rst:100 +#: ../../builtins/stdtypes.rst:100 msgid "not" msgstr "not" -#: ../../library/stdtypes.rst:125 +#: ../../builtins/stdtypes.rst:125 msgid "chaining" msgstr "Verkettung" -#: ../../library/stdtypes.rst:125 +#: ../../builtins/stdtypes.rst:125 msgid "comparisons" msgstr "Vergleiche" -#: ../../library/stdtypes.rst:125 +#: ../../builtins/stdtypes.rst:125 msgid "comparison" msgstr "Vergleich" -#: ../../library/stdtypes.rst:125 +#: ../../builtins/stdtypes.rst:125 msgid "==" msgstr "==" -#: ../../library/stdtypes.rst:125 +#: ../../builtins/stdtypes.rst:125 msgid "< (less)" msgstr "< (kleiner)" -#: ../../library/stdtypes.rst:125 +#: ../../builtins/stdtypes.rst:125 msgid "<=" msgstr "<=" -#: ../../library/stdtypes.rst:125 +#: ../../builtins/stdtypes.rst:125 msgid "> (greater)" msgstr "> (größer)" -#: ../../library/stdtypes.rst:125 +#: ../../builtins/stdtypes.rst:125 msgid ">=" msgstr ">=" -#: ../../library/stdtypes.rst:125 +#: ../../builtins/stdtypes.rst:125 msgid "!=" msgstr "!=" -#: ../../library/stdtypes.rst:125 +#: ../../builtins/stdtypes.rst:125 msgid "is" msgstr "is" -#: ../../library/stdtypes.rst:125 +#: ../../builtins/stdtypes.rst:125 msgid "is not" msgstr "is not" -#: ../../library/stdtypes.rst:165 ../../library/stdtypes.rst:210 -#: ../../library/stdtypes.rst:986 ../../library/stdtypes.rst:1197 -#: ../../library/stdtypes.rst:1219 ../../library/stdtypes.rst:1384 -#: ../../library/stdtypes.rst:1470 ../../library/stdtypes.rst:1518 -#: ../../library/stdtypes.rst:1639 ../../library/stdtypes.rst:1773 -#: ../../library/stdtypes.rst:3299 ../../library/stdtypes.rst:3318 -#: ../../library/stdtypes.rst:3431 ../../library/stdtypes.rst:5083 -#: ../../library/stdtypes.rst:5302 ../../library/stdtypes.rst:5796 -#: ../../library/stdtypes.rst:6063 ../../library/stdtypes.rst:6238 -#: ../../library/stdtypes.rst:6283 +#: ../../builtins/stdtypes.rst:165 ../../builtins/stdtypes.rst:210 +#: ../../builtins/stdtypes.rst:986 ../../builtins/stdtypes.rst:1197 +#: ../../builtins/stdtypes.rst:1219 ../../builtins/stdtypes.rst:1384 +#: ../../builtins/stdtypes.rst:1470 ../../builtins/stdtypes.rst:1518 +#: ../../builtins/stdtypes.rst:1639 ../../builtins/stdtypes.rst:1773 +#: ../../builtins/stdtypes.rst:3299 ../../builtins/stdtypes.rst:3318 +#: ../../builtins/stdtypes.rst:3431 ../../builtins/stdtypes.rst:5083 +#: ../../builtins/stdtypes.rst:5302 ../../builtins/stdtypes.rst:5796 +#: ../../builtins/stdtypes.rst:6063 ../../builtins/stdtypes.rst:6238 +#: ../../builtins/stdtypes.rst:6283 msgid "object" msgstr "Objekt" -#: ../../library/stdtypes.rst:165 ../../library/stdtypes.rst:210 -#: ../../library/stdtypes.rst:231 ../../library/stdtypes.rst:332 -#: ../../library/stdtypes.rst:351 +#: ../../builtins/stdtypes.rst:165 ../../builtins/stdtypes.rst:210 +#: ../../builtins/stdtypes.rst:231 ../../builtins/stdtypes.rst:332 +#: ../../builtins/stdtypes.rst:351 msgid "numeric" msgstr "numerisch" -#: ../../library/stdtypes.rst:165 +#: ../../builtins/stdtypes.rst:165 msgid "objects" msgstr "Objekte" -#: ../../library/stdtypes.rst:165 +#: ../../builtins/stdtypes.rst:165 msgid "comparing" msgstr "Vergleichen" -#: ../../library/stdtypes.rst:175 +#: ../../builtins/stdtypes.rst:175 msgid "__eq__() (instance method)" msgstr "__eq__() (Instanzmethode)" -#: ../../library/stdtypes.rst:175 +#: ../../builtins/stdtypes.rst:175 msgid "__ne__() (instance method)" msgstr "__ne__() (Instanzmethode)" -#: ../../library/stdtypes.rst:175 +#: ../../builtins/stdtypes.rst:175 msgid "__lt__() (instance method)" msgstr "__lt__() (Instanzmethode)" -#: ../../library/stdtypes.rst:175 +#: ../../builtins/stdtypes.rst:175 msgid "__le__() (instance method)" msgstr "__le__() (Instanzmethode)" -#: ../../library/stdtypes.rst:175 +#: ../../builtins/stdtypes.rst:175 msgid "__gt__() (instance method)" msgstr "__gt__() (Instanzmethode)" -#: ../../library/stdtypes.rst:175 +#: ../../builtins/stdtypes.rst:175 msgid "__ge__() (instance method)" msgstr "__ge__() (Instanzmethode)" -#: ../../library/stdtypes.rst:197 ../../library/stdtypes.rst:1005 +#: ../../builtins/stdtypes.rst:197 ../../builtins/stdtypes.rst:1005 msgid "in" msgstr "in" -#: ../../library/stdtypes.rst:197 ../../library/stdtypes.rst:1005 +#: ../../builtins/stdtypes.rst:197 ../../builtins/stdtypes.rst:1005 msgid "not in" msgstr "not in" -#: ../../library/stdtypes.rst:210 ../../library/stdtypes.rst:231 -#: ../../library/stdtypes.rst:409 +#: ../../builtins/stdtypes.rst:210 ../../builtins/stdtypes.rst:231 +#: ../../builtins/stdtypes.rst:409 msgid "integer" msgstr "Ganzzahl" -#: ../../library/stdtypes.rst:210 ../../library/stdtypes.rst:231 +#: ../../builtins/stdtypes.rst:210 ../../builtins/stdtypes.rst:231 msgid "floating-point" msgstr "Gleitkomma" -#: ../../library/stdtypes.rst:210 ../../library/stdtypes.rst:231 +#: ../../builtins/stdtypes.rst:210 ../../builtins/stdtypes.rst:231 msgid "complex number" msgstr "komplexe Zahl" -#: ../../library/stdtypes.rst:210 +#: ../../builtins/stdtypes.rst:210 msgid "C" msgstr "C" -#: ../../library/stdtypes.rst:210 +#: ../../builtins/stdtypes.rst:210 msgid "language" msgstr "Sprache" -#: ../../library/stdtypes.rst:231 +#: ../../builtins/stdtypes.rst:231 msgid "literals" msgstr "Literale" -#: ../../library/stdtypes.rst:231 +#: ../../builtins/stdtypes.rst:231 msgid "hexadecimal" msgstr "hexadezimal" -#: ../../library/stdtypes.rst:231 +#: ../../builtins/stdtypes.rst:231 msgid "octal" msgstr "oktal" -#: ../../library/stdtypes.rst:231 +#: ../../builtins/stdtypes.rst:231 msgid "binary" msgstr "binär" -#: ../../library/stdtypes.rst:251 +#: ../../builtins/stdtypes.rst:251 msgid "arithmetic" msgstr "Arithmetik" -#: ../../library/stdtypes.rst:251 ../../library/stdtypes.rst:1005 -#: ../../library/stdtypes.rst:1197 ../../library/stdtypes.rst:5302 -#: ../../library/stdtypes.rst:6290 ../../library/stdtypes.rst:6304 -#: ../../library/stdtypes.rst:6319 +#: ../../builtins/stdtypes.rst:251 ../../builtins/stdtypes.rst:1005 +#: ../../builtins/stdtypes.rst:1197 ../../builtins/stdtypes.rst:5302 +#: ../../builtins/stdtypes.rst:6290 ../../builtins/stdtypes.rst:6304 +#: ../../builtins/stdtypes.rst:6319 msgid "built-in function" msgstr "eingebaute Funktion" -#: ../../library/stdtypes.rst:251 +#: ../../builtins/stdtypes.rst:251 msgid "int" msgstr "int" -#: ../../library/stdtypes.rst:251 +#: ../../builtins/stdtypes.rst:251 msgid "float" msgstr "float" -#: ../../library/stdtypes.rst:251 +#: ../../builtins/stdtypes.rst:251 msgid "complex" msgstr "complex" -#: ../../library/stdtypes.rst:251 ../../library/stdtypes.rst:3171 -#: ../../library/stdtypes.rst:4445 +#: ../../builtins/stdtypes.rst:251 ../../builtins/stdtypes.rst:3171 +#: ../../builtins/stdtypes.rst:4445 msgid "+ (plus)" msgstr "+ (Plus)" -#: ../../library/stdtypes.rst:251 +#: ../../builtins/stdtypes.rst:251 msgid "unary operator" msgstr "unärer Operator" -#: ../../library/stdtypes.rst:251 +#: ../../builtins/stdtypes.rst:251 msgid "binary operator" msgstr "binärer Operator" -#: ../../library/stdtypes.rst:251 ../../library/stdtypes.rst:3171 -#: ../../library/stdtypes.rst:4445 +#: ../../builtins/stdtypes.rst:251 ../../builtins/stdtypes.rst:3171 +#: ../../builtins/stdtypes.rst:4445 msgid "- (minus)" msgstr "- (Minus)" -#: ../../library/stdtypes.rst:251 ../../library/stdtypes.rst:3128 -#: ../../library/stdtypes.rst:4402 +#: ../../builtins/stdtypes.rst:251 ../../builtins/stdtypes.rst:3128 +#: ../../builtins/stdtypes.rst:4402 msgid "* (asterisk)" msgstr "* (Sternchen)" -#: ../../library/stdtypes.rst:251 +#: ../../builtins/stdtypes.rst:251 msgid "/ (slash)" msgstr "/ (Schrägstrich)" -#: ../../library/stdtypes.rst:251 +#: ../../builtins/stdtypes.rst:251 msgid "//" msgstr "//" -#: ../../library/stdtypes.rst:251 ../../library/stdtypes.rst:3091 -#: ../../library/stdtypes.rst:4370 +#: ../../builtins/stdtypes.rst:251 ../../builtins/stdtypes.rst:3091 +#: ../../builtins/stdtypes.rst:4370 msgid "% (percent)" msgstr "% (Prozent)" -#: ../../library/stdtypes.rst:251 +#: ../../builtins/stdtypes.rst:251 msgid "**" msgstr "**" -#: ../../library/stdtypes.rst:332 ../../library/stdtypes.rst:409 -#: ../../library/stdtypes.rst:1005 ../../library/stdtypes.rst:1234 -#: ../../library/stdtypes.rst:5302 +#: ../../builtins/stdtypes.rst:332 ../../builtins/stdtypes.rst:409 +#: ../../builtins/stdtypes.rst:1005 ../../builtins/stdtypes.rst:1234 +#: ../../builtins/stdtypes.rst:5302 msgid "operations on" msgstr "Operationen auf" -#: ../../library/stdtypes.rst:332 +#: ../../builtins/stdtypes.rst:332 msgid "conjugate() (complex number method)" msgstr "conjugate() (Methode für komplexe Zahlen)" -#: ../../library/stdtypes.rst:351 ../../library/stdtypes.rst:1841 -#: ../../library/stdtypes.rst:3299 ../../library/stdtypes.rst:6319 +#: ../../builtins/stdtypes.rst:351 ../../builtins/stdtypes.rst:1841 +#: ../../builtins/stdtypes.rst:3299 ../../builtins/stdtypes.rst:6319 msgid "module" msgstr "Modul" -#: ../../library/stdtypes.rst:351 +#: ../../builtins/stdtypes.rst:351 msgid "math" msgstr "math" -#: ../../library/stdtypes.rst:351 +#: ../../builtins/stdtypes.rst:351 msgid "floor() (in module math)" msgstr "floor() (im Modul math)" -#: ../../library/stdtypes.rst:351 +#: ../../builtins/stdtypes.rst:351 msgid "ceil() (in module math)" msgstr "ceil() (im Modul math)" -#: ../../library/stdtypes.rst:351 +#: ../../builtins/stdtypes.rst:351 msgid "trunc() (in module math)" msgstr "trunc() (im Modul math)" -#: ../../library/stdtypes.rst:351 +#: ../../builtins/stdtypes.rst:351 msgid "conversions" msgstr "Konvertierungen" -#: ../../library/stdtypes.rst:409 +#: ../../builtins/stdtypes.rst:409 msgid "bitwise" msgstr "bitweise" -#: ../../library/stdtypes.rst:409 +#: ../../builtins/stdtypes.rst:409 msgid "shifting" msgstr "Shiften" -#: ../../library/stdtypes.rst:409 +#: ../../builtins/stdtypes.rst:409 msgid "masking" msgstr "Maskieren" -#: ../../library/stdtypes.rst:409 +#: ../../builtins/stdtypes.rst:409 msgid "| (vertical bar)" msgstr "| (vertikaler Strich)" -#: ../../library/stdtypes.rst:409 +#: ../../builtins/stdtypes.rst:409 msgid "^ (caret)" msgstr "^ (Caret)" -#: ../../library/stdtypes.rst:409 +#: ../../builtins/stdtypes.rst:409 msgid "& (ampersand)" msgstr "& (Kaufmanns-Und)" -#: ../../library/stdtypes.rst:409 +#: ../../builtins/stdtypes.rst:409 msgid "<<" msgstr "<<" -#: ../../library/stdtypes.rst:409 +#: ../../builtins/stdtypes.rst:409 msgid ">>" msgstr ">>" -#: ../../library/stdtypes.rst:409 +#: ../../builtins/stdtypes.rst:409 msgid "~ (tilde)" msgstr "~ (Tilde)" -#: ../../library/stdtypes.rst:869 +#: ../../builtins/stdtypes.rst:869 msgid "values" msgstr "Werte" -#: ../../library/stdtypes.rst:899 +#: ../../builtins/stdtypes.rst:899 msgid "iterator protocol" msgstr "Iterator-Protokoll" -#: ../../library/stdtypes.rst:899 ../../library/stdtypes.rst:5709 +#: ../../builtins/stdtypes.rst:899 ../../builtins/stdtypes.rst:5709 msgid "protocol" msgstr "Protokoll" -#: ../../library/stdtypes.rst:899 +#: ../../builtins/stdtypes.rst:899 msgid "iterator" msgstr "Iterator" -#: ../../library/stdtypes.rst:899 ../../library/stdtypes.rst:986 -#: ../../library/stdtypes.rst:1005 ../../library/stdtypes.rst:1197 -#: ../../library/stdtypes.rst:1219 ../../library/stdtypes.rst:1234 +#: ../../builtins/stdtypes.rst:899 ../../builtins/stdtypes.rst:986 +#: ../../builtins/stdtypes.rst:1005 ../../builtins/stdtypes.rst:1197 +#: ../../builtins/stdtypes.rst:1219 ../../builtins/stdtypes.rst:1234 msgid "sequence" msgstr "Sequenz" -#: ../../library/stdtypes.rst:899 +#: ../../builtins/stdtypes.rst:899 msgid "iteration" msgstr "Iteration" -#: ../../library/stdtypes.rst:899 +#: ../../builtins/stdtypes.rst:899 msgid "container" msgstr "Container" -#: ../../library/stdtypes.rst:899 +#: ../../builtins/stdtypes.rst:899 msgid "iteration over" msgstr "Iteration über" -#: ../../library/stdtypes.rst:1005 ../../library/stdtypes.rst:5302 +#: ../../builtins/stdtypes.rst:1005 ../../builtins/stdtypes.rst:5302 msgid "len" msgstr "len" -#: ../../library/stdtypes.rst:1005 +#: ../../builtins/stdtypes.rst:1005 msgid "min" msgstr "min" -#: ../../library/stdtypes.rst:1005 +#: ../../builtins/stdtypes.rst:1005 msgid "max" msgstr "max" -#: ../../library/stdtypes.rst:1005 +#: ../../builtins/stdtypes.rst:1005 msgid "concatenation" msgstr "Verkettung" -#: ../../library/stdtypes.rst:1005 +#: ../../builtins/stdtypes.rst:1005 msgid "operation" msgstr "Operation" -#: ../../library/stdtypes.rst:1005 +#: ../../builtins/stdtypes.rst:1005 msgid "repetition" msgstr "Wiederholung" -#: ../../library/stdtypes.rst:1005 ../../library/stdtypes.rst:1234 +#: ../../builtins/stdtypes.rst:1005 ../../builtins/stdtypes.rst:1234 msgid "subscript" msgstr "Subskript" -#: ../../library/stdtypes.rst:1005 ../../library/stdtypes.rst:1234 +#: ../../builtins/stdtypes.rst:1005 ../../builtins/stdtypes.rst:1234 msgid "slice" msgstr "Slice" -#: ../../library/stdtypes.rst:1052 +#: ../../builtins/stdtypes.rst:1052 msgid "loop" msgstr "Schleife" -#: ../../library/stdtypes.rst:1052 +#: ../../builtins/stdtypes.rst:1052 msgid "over mutable sequence" msgstr "über veränderliche Sequenz" -#: ../../library/stdtypes.rst:1052 +#: ../../builtins/stdtypes.rst:1052 msgid "mutable sequence" msgstr "veränderliche Sequenz" -#: ../../library/stdtypes.rst:1052 +#: ../../builtins/stdtypes.rst:1052 msgid "loop over" msgstr "Schleife über" -#: ../../library/stdtypes.rst:1197 +#: ../../builtins/stdtypes.rst:1197 msgid "immutable" msgstr "unveränderlich" -#: ../../library/stdtypes.rst:1197 ../../library/stdtypes.rst:1470 +#: ../../builtins/stdtypes.rst:1197 ../../builtins/stdtypes.rst:1470 msgid "tuple" msgstr "tuple" -#: ../../library/stdtypes.rst:1197 +#: ../../builtins/stdtypes.rst:1197 msgid "hash" msgstr "hash" -#: ../../library/stdtypes.rst:1219 +#: ../../builtins/stdtypes.rst:1219 msgid "mutable" msgstr "veränderlich" -#: ../../library/stdtypes.rst:1219 ../../library/stdtypes.rst:1234 -#: ../../library/stdtypes.rst:1384 +#: ../../builtins/stdtypes.rst:1219 ../../builtins/stdtypes.rst:1234 +#: ../../builtins/stdtypes.rst:1384 msgid "list" msgstr "list" -#: ../../library/stdtypes.rst:1219 ../../library/stdtypes.rst:3299 -#: ../../library/stdtypes.rst:3431 ../../library/stdtypes.rst:3546 -#: ../../library/stdtypes.rst:4370 +#: ../../builtins/stdtypes.rst:1219 ../../builtins/stdtypes.rst:3299 +#: ../../builtins/stdtypes.rst:3431 ../../builtins/stdtypes.rst:3546 +#: ../../builtins/stdtypes.rst:4370 msgid "bytearray" msgstr "bytearray" -#: ../../library/stdtypes.rst:1234 ../../library/stdtypes.rst:5302 -#: ../../library/stdtypes.rst:6063 ../../library/stdtypes.rst:6319 +#: ../../builtins/stdtypes.rst:1234 ../../builtins/stdtypes.rst:5302 +#: ../../builtins/stdtypes.rst:6063 ../../builtins/stdtypes.rst:6319 msgid "type" msgstr "Typ" -#: ../../library/stdtypes.rst:1234 +#: ../../builtins/stdtypes.rst:1234 msgid "assignment" msgstr "Zuweisung" -#: ../../library/stdtypes.rst:1234 ../../library/stdtypes.rst:5302 +#: ../../builtins/stdtypes.rst:1234 ../../builtins/stdtypes.rst:5302 msgid "del" msgstr "del" -#: ../../library/stdtypes.rst:1518 +#: ../../builtins/stdtypes.rst:1518 msgid "range" msgstr "range" -#: ../../library/stdtypes.rst:1639 ../../library/stdtypes.rst:1786 -#: ../../library/stdtypes.rst:1833 ../../library/stdtypes.rst:2919 -#: ../../library/stdtypes.rst:3091 +#: ../../builtins/stdtypes.rst:1639 ../../builtins/stdtypes.rst:1786 +#: ../../builtins/stdtypes.rst:1833 ../../builtins/stdtypes.rst:2919 +#: ../../builtins/stdtypes.rst:3091 msgid "string" msgstr "String" -#: ../../library/stdtypes.rst:1639 +#: ../../builtins/stdtypes.rst:1639 msgid "text sequence type" msgstr "Textsequenztyp" -#: ../../library/stdtypes.rst:1639 ../../library/stdtypes.rst:1786 -#: ../../library/stdtypes.rst:1806 +#: ../../builtins/stdtypes.rst:1639 ../../builtins/stdtypes.rst:1786 +#: ../../builtins/stdtypes.rst:1806 msgid "str (built-in class)" msgstr "str (eingebaute Klasse)" -#: ../../library/stdtypes.rst:1639 +#: ../../builtins/stdtypes.rst:1639 msgid "(see also string)" msgstr "(siehe auch string)" -#: ../../library/stdtypes.rst:1773 +#: ../../builtins/stdtypes.rst:1773 msgid "io.StringIO" msgstr "io.StringIO" -#: ../../library/stdtypes.rst:1806 ../../library/stdtypes.rst:3291 +#: ../../builtins/stdtypes.rst:1806 ../../builtins/stdtypes.rst:3291 msgid "buffer protocol" msgstr "Pufferprotokoll" -#: ../../library/stdtypes.rst:1806 ../../library/stdtypes.rst:3299 -#: ../../library/stdtypes.rst:3318 ../../library/stdtypes.rst:3546 -#: ../../library/stdtypes.rst:4370 +#: ../../builtins/stdtypes.rst:1806 ../../builtins/stdtypes.rst:3299 +#: ../../builtins/stdtypes.rst:3318 ../../builtins/stdtypes.rst:3546 +#: ../../builtins/stdtypes.rst:4370 msgid "bytes" msgstr "bytes" -#: ../../library/stdtypes.rst:1833 ../../library/stdtypes.rst:3546 +#: ../../builtins/stdtypes.rst:1833 ../../builtins/stdtypes.rst:3546 msgid "methods" msgstr "Methoden" -#: ../../library/stdtypes.rst:1841 +#: ../../builtins/stdtypes.rst:1841 msgid "re" msgstr "re" -#: ../../library/stdtypes.rst:2689 ../../library/stdtypes.rst:4224 +#: ../../builtins/stdtypes.rst:2689 ../../builtins/stdtypes.rst:4224 msgid "universal newlines" msgstr "universelle Zeilenenden" -#: ../../library/stdtypes.rst:2689 +#: ../../builtins/stdtypes.rst:2689 msgid "str.splitlines method" msgstr "str.splitlines-Methode" -#: ../../library/stdtypes.rst:2919 +#: ../../builtins/stdtypes.rst:2919 msgid "! formatted string literal" msgstr "! formatiertes String-Literal" -#: ../../library/stdtypes.rst:2919 +#: ../../builtins/stdtypes.rst:2919 msgid "formatted string literals" msgstr "formatierte String-Literale" -#: ../../library/stdtypes.rst:2919 +#: ../../builtins/stdtypes.rst:2919 msgid "! f-string" msgstr "! f-String" -#: ../../library/stdtypes.rst:2919 +#: ../../builtins/stdtypes.rst:2919 msgid "f-strings" msgstr "f-Strings" -#: ../../library/stdtypes.rst:2919 +#: ../../builtins/stdtypes.rst:2919 msgid "fstring" msgstr "fstring" -#: ../../library/stdtypes.rst:2919 +#: ../../builtins/stdtypes.rst:2919 msgid "interpolated string literal" msgstr "interpoliertes String-Literal" -#: ../../library/stdtypes.rst:2919 +#: ../../builtins/stdtypes.rst:2919 msgid "formatted literal" msgstr "formatiertes Literal" -#: ../../library/stdtypes.rst:2919 +#: ../../builtins/stdtypes.rst:2919 msgid "interpolated literal" msgstr "interpoliertes Literal" -#: ../../library/stdtypes.rst:2919 +#: ../../builtins/stdtypes.rst:2919 msgid "{} (curly brackets)" msgstr "{} (geschweifte Klammern)" -#: ../../library/stdtypes.rst:2919 +#: ../../builtins/stdtypes.rst:2919 msgid "in formatted string literal" msgstr "in formatiertem String-Literal" -#: ../../library/stdtypes.rst:2919 +#: ../../builtins/stdtypes.rst:2919 msgid "! (exclamation mark)" msgstr "! (Ausrufezeichen)" -#: ../../library/stdtypes.rst:2919 +#: ../../builtins/stdtypes.rst:2919 msgid ": (colon)" msgstr ": (Doppelpunkt)" -#: ../../library/stdtypes.rst:2919 +#: ../../builtins/stdtypes.rst:2919 msgid "= (equals)" msgstr "= (Gleichheitszeichen)" -#: ../../library/stdtypes.rst:2919 +#: ../../builtins/stdtypes.rst:2919 msgid "for help in debugging using string literals" msgstr "als Hilfe beim Debuggen mittels String-Literalen" -#: ../../library/stdtypes.rst:3091 +#: ../../builtins/stdtypes.rst:3091 msgid "formatting, string (%)" msgstr "Formatierung, String (%)" -#: ../../library/stdtypes.rst:3091 +#: ../../builtins/stdtypes.rst:3091 msgid "interpolation, string (%)" msgstr "Interpolation, String (%)" -#: ../../library/stdtypes.rst:3091 +#: ../../builtins/stdtypes.rst:3091 msgid "formatting, printf" msgstr "Formatierung, printf" -#: ../../library/stdtypes.rst:3091 +#: ../../builtins/stdtypes.rst:3091 msgid "interpolation, printf" msgstr "Interpolation, printf" -#: ../../library/stdtypes.rst:3091 ../../library/stdtypes.rst:4370 +#: ../../builtins/stdtypes.rst:3091 ../../builtins/stdtypes.rst:4370 msgid "printf-style formatting" msgstr "Formatierung im printf-Stil" -#: ../../library/stdtypes.rst:3091 ../../library/stdtypes.rst:4370 +#: ../../builtins/stdtypes.rst:3091 ../../builtins/stdtypes.rst:4370 msgid "sprintf-style formatting" msgstr "Formatierung im sprintf-Stil" -#: ../../library/stdtypes.rst:3128 ../../library/stdtypes.rst:4402 +#: ../../builtins/stdtypes.rst:3128 ../../builtins/stdtypes.rst:4402 msgid "() (parentheses)" msgstr "() (runde Klammern)" -#: ../../library/stdtypes.rst:3128 ../../library/stdtypes.rst:3171 -#: ../../library/stdtypes.rst:4402 ../../library/stdtypes.rst:4445 +#: ../../builtins/stdtypes.rst:3128 ../../builtins/stdtypes.rst:3171 +#: ../../builtins/stdtypes.rst:4402 ../../builtins/stdtypes.rst:4445 msgid "in printf-style formatting" msgstr "in Formatierung im printf-Stil" -#: ../../library/stdtypes.rst:3128 ../../library/stdtypes.rst:4402 +#: ../../builtins/stdtypes.rst:3128 ../../builtins/stdtypes.rst:4402 msgid ". (dot)" msgstr ". (Punkt)" -#: ../../library/stdtypes.rst:3171 ../../library/stdtypes.rst:4445 +#: ../../builtins/stdtypes.rst:3171 ../../builtins/stdtypes.rst:4445 msgid "# (hash)" msgstr "# (Raute)" -#: ../../library/stdtypes.rst:3171 ../../library/stdtypes.rst:4445 +#: ../../builtins/stdtypes.rst:3171 ../../builtins/stdtypes.rst:4445 msgid "space" msgstr "Leerzeichen" -#: ../../library/stdtypes.rst:3291 +#: ../../builtins/stdtypes.rst:3291 msgid "binary sequence types" msgstr "binäre Sequenztypen" -#: ../../library/stdtypes.rst:3299 +#: ../../builtins/stdtypes.rst:3299 msgid "memoryview" msgstr "memoryview" -#: ../../library/stdtypes.rst:3299 +#: ../../builtins/stdtypes.rst:3299 msgid "array" msgstr "Array" -#: ../../library/stdtypes.rst:4224 +#: ../../builtins/stdtypes.rst:4224 msgid "bytes.splitlines method" msgstr "bytes.splitlines-Methode" -#: ../../library/stdtypes.rst:4224 +#: ../../builtins/stdtypes.rst:4224 msgid "bytearray.splitlines method" msgstr "bytearray.splitlines-Methode" -#: ../../library/stdtypes.rst:4370 +#: ../../builtins/stdtypes.rst:4370 msgid "formatting" msgstr "Formatierung" -#: ../../library/stdtypes.rst:4370 +#: ../../builtins/stdtypes.rst:4370 msgid "bytes (%)" msgstr "bytes (%)" -#: ../../library/stdtypes.rst:4370 +#: ../../builtins/stdtypes.rst:4370 msgid "bytearray (%)" msgstr "bytearray (%)" -#: ../../library/stdtypes.rst:4370 +#: ../../builtins/stdtypes.rst:4370 msgid "interpolation" msgstr "Interpolation" -#: ../../library/stdtypes.rst:5083 +#: ../../builtins/stdtypes.rst:5083 msgid "set" msgstr "set" -#: ../../library/stdtypes.rst:5302 +#: ../../builtins/stdtypes.rst:5302 msgid "mapping" msgstr "Mapping" -#: ../../library/stdtypes.rst:5302 +#: ../../builtins/stdtypes.rst:5302 msgid "dictionary" msgstr "Dictionary" -#: ../../library/stdtypes.rst:5414 +#: ../../builtins/stdtypes.rst:5414 msgid "__missing__()" msgstr "__missing__()" -#: ../../library/stdtypes.rst:5709 +#: ../../builtins/stdtypes.rst:5709 msgid "context manager" msgstr "Kontext-Manager" -#: ../../library/stdtypes.rst:5709 +#: ../../builtins/stdtypes.rst:5709 msgid "context management protocol" msgstr "Kontextmanagement-Protokoll" -#: ../../library/stdtypes.rst:5709 +#: ../../builtins/stdtypes.rst:5709 msgid "context management" msgstr "Kontextmanagement" -#: ../../library/stdtypes.rst:5784 +#: ../../builtins/stdtypes.rst:5784 msgid "annotation" msgstr "Annotation" -#: ../../library/stdtypes.rst:5784 +#: ../../builtins/stdtypes.rst:5784 msgid "type annotation; type hint" msgstr "Typ-Annotation; Type-Hint" -#: ../../library/stdtypes.rst:5796 +#: ../../builtins/stdtypes.rst:5796 msgid "GenericAlias" msgstr "GenericAlias" -#: ../../library/stdtypes.rst:5796 +#: ../../builtins/stdtypes.rst:5796 msgid "Generic" msgstr "Generic" -#: ../../library/stdtypes.rst:5796 +#: ../../builtins/stdtypes.rst:5796 msgid "Alias" msgstr "Alias" -#: ../../library/stdtypes.rst:6063 +#: ../../builtins/stdtypes.rst:6063 msgid "Union" msgstr "Union" -#: ../../library/stdtypes.rst:6063 +#: ../../builtins/stdtypes.rst:6063 msgid "union" msgstr "Union" -#: ../../library/stdtypes.rst:6238 +#: ../../builtins/stdtypes.rst:6238 msgid "method" msgstr "Methode" -#: ../../library/stdtypes.rst:6283 +#: ../../builtins/stdtypes.rst:6283 msgid "code" msgstr "Code" -#: ../../library/stdtypes.rst:6283 +#: ../../builtins/stdtypes.rst:6283 msgid "code object" msgstr "Code-Objekt" -#: ../../library/stdtypes.rst:6290 +#: ../../builtins/stdtypes.rst:6290 msgid "compile" msgstr "compile" -#: ../../library/stdtypes.rst:6290 +#: ../../builtins/stdtypes.rst:6290 msgid "__code__ (function object attribute)" msgstr "__code__ (Funktionsobjekt-Attribut)" -#: ../../library/stdtypes.rst:6304 +#: ../../builtins/stdtypes.rst:6304 msgid "exec" msgstr "exec" -#: ../../library/stdtypes.rst:6304 +#: ../../builtins/stdtypes.rst:6304 msgid "eval" msgstr "eval" -#: ../../library/stdtypes.rst:6343 +#: ../../builtins/stdtypes.rst:6343 msgid "..." msgstr "..." -#: ../../library/stdtypes.rst:6343 +#: ../../builtins/stdtypes.rst:6343 msgid "ellipsis literal" msgstr "Ellipsis-Literal" diff --git a/builtins/threadsafety.po b/builtins/threadsafety.po new file mode 100644 index 00000000..6f28ea78 --- /dev/null +++ b/builtins/threadsafety.po @@ -0,0 +1,824 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../builtins/threadsafety.rst:5 +msgid "Thread Safety Guarantees" +msgstr "" + +#: ../../builtins/threadsafety.rst:7 +msgid "" +"This page documents thread-safety guarantees for built-in types in Python's " +"free-threaded build. The guarantees described here apply when using Python " +"with the :term:`GIL` disabled (free-threaded mode). When the GIL is enabled, " +"most operations are implicitly serialized." +msgstr "" + +#: ../../builtins/threadsafety.rst:12 +msgid "" +"For general guidance on writing thread-safe code in free-threaded Python, " +"see :ref:`freethreading-python-howto`." +msgstr "" + +#: ../../builtins/threadsafety.rst:19 +msgid "Thread safety levels" +msgstr "" + +#: ../../builtins/threadsafety.rst:21 +msgid "" +"The C API documentation uses the following levels to describe the thread " +"safety guarantees of each function. The levels are listed from least to most " +"safe." +msgstr "" + +#: ../../builtins/threadsafety.rst:28 +msgid "Incompatible" +msgstr "" + +#: ../../builtins/threadsafety.rst:30 +msgid "" +"A function or operation that cannot be made safe for concurrent use even " +"with external synchronization. Incompatible code typically accesses global " +"state in an unsynchronized way and must only be called from a single thread " +"throughout the program's lifetime." +msgstr "" + +#: ../../builtins/threadsafety.rst:35 +msgid "" +"Example: a function that modifies process-wide state such as signal handlers " +"or environment variables, where concurrent calls from any threads, even with " +"external locking, can conflict with the runtime or other libraries." +msgstr "" + +#: ../../builtins/threadsafety.rst:42 +msgid "Compatible" +msgstr "" + +#: ../../builtins/threadsafety.rst:44 +msgid "" +"A function or operation that is safe to call from multiple threads " +"*provided* the caller supplies appropriate external synchronization, for " +"example by holding a :term:`lock` for the duration of each call. Without " +"such synchronization, concurrent calls may produce :term:`race conditions " +"` or :term:`data races `." +msgstr "" + +#: ../../builtins/threadsafety.rst:50 +msgid "" +"Example: a function that reads from or writes to an object whose internal " +"state is not protected by a lock. Callers must ensure that no two threads " +"access the same object at the same time." +msgstr "" + +#: ../../builtins/threadsafety.rst:57 +msgid "Safe on distinct objects" +msgstr "" + +#: ../../builtins/threadsafety.rst:59 +msgid "" +"A function or operation that is safe to call from multiple threads without " +"external synchronization, as long as each thread operates on a **different** " +"object. Two threads may call the function at the same time, but they must " +"not pass the same object (or objects that share underlying state) as " +"arguments." +msgstr "" + +#: ../../builtins/threadsafety.rst:65 +msgid "" +"Example: a function that modifies fields of a struct using non-atomic " +"writes. Two threads can each call the function on their own struct instance " +"safely, but concurrent calls on the *same* instance require external " +"synchronization." +msgstr "" + +#: ../../builtins/threadsafety.rst:73 +msgid "Safe on shared objects" +msgstr "" + +#: ../../builtins/threadsafety.rst:75 +msgid "" +"A function or operation that is safe for concurrent use on the **same** " +"object. The implementation uses internal synchronization (such as :term:`per-" +"object locks ` or :ref:`critical sections `) to protect shared mutable state, so callers do not need to " +"supply their own locking." +msgstr "" + +#: ../../builtins/threadsafety.rst:81 +msgid "" +"Example: :c:func:`PyList_GetItemRef` can be called from multiple threads on " +"the same :c:type:`PyListObject` - it uses internal synchronization to " +"serialize access." +msgstr "" + +#: ../../builtins/threadsafety.rst:88 +msgid "Atomic" +msgstr "" + +#: ../../builtins/threadsafety.rst:90 +msgid "" +"A function or operation that appears :term:`atomic ` with " +"respect to other threads - it executes instantaneously from the perspective " +"of other threads. This is the strongest form of thread safety." +msgstr "" + +#: ../../builtins/threadsafety.rst:94 +msgid "" +"Example: :c:func:`PyMutex_IsLocked` performs an atomic read of the mutex " +"state and can be called from any thread at any time." +msgstr "" + +#: ../../builtins/threadsafety.rst:101 +msgid "Thread safety for list objects" +msgstr "" + +#: ../../builtins/threadsafety.rst:103 +msgid "" +"Reading a single element from a :class:`list` is :term:`atomic `:" +msgstr "" + +#: ../../builtins/threadsafety.rst:106 +msgid "lst[i] # list.__getitem__" +msgstr "" + +#: ../../builtins/threadsafety.rst:111 +msgid "" +"The following methods traverse the list and use :term:`atomic ` reads of each item to perform their function. That means that " +"they may return results affected by concurrent modifications:" +msgstr "" + +#: ../../builtins/threadsafety.rst:115 +msgid "" +"item in lst\n" +"lst.index(item)\n" +"lst.count(item)" +msgstr "" + +#: ../../builtins/threadsafety.rst:122 +msgid "" +"All of the above operations avoid acquiring :term:`per-object locks `. They do not block concurrent modifications. Other operations " +"that hold a lock will not block these from observing intermediate states." +msgstr "" + +#: ../../builtins/threadsafety.rst:127 +msgid "" +"All other operations from here on block using the :term:`per-object lock`." +msgstr "" + +#: ../../builtins/threadsafety.rst:129 +msgid "" +"Writing a single item via ``lst[i] = x`` is safe to call from multiple " +"threads and will not corrupt the list." +msgstr "" + +#: ../../builtins/threadsafety.rst:132 +msgid "" +"The following operations return new objects and appear :term:`atomic ` to other threads:" +msgstr "" + +#: ../../builtins/threadsafety.rst:135 +msgid "" +"lst1 + lst2 # concatenates two lists into a new list\n" +"x * lst # repeats lst x times into a new list\n" +"lst.copy() # returns a shallow copy of the list" +msgstr "" + +#: ../../builtins/threadsafety.rst:142 +msgid "" +"The following methods that only operate on a single element with no shifting " +"required are :term:`atomic `:" +msgstr "" + +#: ../../builtins/threadsafety.rst:145 +msgid "" +"lst.append(x) # append to the end of the list, no shifting required\n" +"lst.pop() # pop element from the end of the list, no shifting required" +msgstr "" + +#: ../../builtins/threadsafety.rst:151 +msgid "" +"The :meth:`~list.clear` method is also :term:`atomic `. " +"Other threads cannot observe elements being removed." +msgstr "" + +#: ../../builtins/threadsafety.rst:154 +msgid "" +"The :meth:`~list.sort` method is not :term:`atomic `. " +"Other threads cannot observe intermediate states during sorting, but the " +"list appears empty for the duration of the sort." +msgstr "" + +#: ../../builtins/threadsafety.rst:158 +msgid "" +"The following operations may allow :term:`lock-free` operations to observe " +"intermediate states since they modify multiple elements in place:" +msgstr "" + +#: ../../builtins/threadsafety.rst:161 +msgid "" +"lst.insert(idx, item) # shifts elements\n" +"lst.pop(idx) # idx not at the end of the list, shifts elements\n" +"lst *= x # copies elements in place" +msgstr "" + +#: ../../builtins/threadsafety.rst:168 +msgid "" +"The :meth:`~list.remove` method may allow concurrent modifications since " +"element comparison may execute arbitrary Python code (via :meth:`~object." +"__eq__`)." +msgstr "" + +#: ../../builtins/threadsafety.rst:172 +msgid "" +":meth:`~list.extend` is safe to call from multiple threads. However, its " +"guarantees depend on the iterable passed to it. If it is a :class:`list`, a :" +"class:`tuple`, a :class:`set`, a :class:`frozenset`, a :class:`dict` or a :" +"ref:`dictionary view object ` (but not their subclasses), the " +"``extend`` operation is safe from concurrent modifications to the iterable. " +"Otherwise, an iterator is created which can be concurrently modified by " +"another thread. The same applies to inplace concatenation of a list with " +"other iterables when using ``lst += iterable``." +msgstr "" + +#: ../../builtins/threadsafety.rst:181 +msgid "" +"Similarly, assigning to a list slice with ``lst[i:j] = iterable`` is safe to " +"call from multiple threads, but ``iterable`` is only locked when it is also " +"a :class:`list` (but not its subclasses)." +msgstr "" + +#: ../../builtins/threadsafety.rst:185 +msgid "" +"Operations that involve multiple accesses, as well as iteration, are never " +"atomic. For example:" +msgstr "" + +#: ../../builtins/threadsafety.rst:188 +msgid "" +"# NOT atomic: read-modify-write\n" +"lst[i] = lst[i] + 1\n" +"\n" +"# NOT atomic: check-then-act\n" +"if lst:\n" +" item = lst.pop()\n" +"\n" +"# NOT thread-safe: iteration while modifying\n" +"for item in lst:\n" +" process(item) # another thread may modify lst" +msgstr "" + +#: ../../builtins/threadsafety.rst:202 +msgid "" +"Consider external synchronization when sharing :class:`list` instances " +"across threads." +msgstr "" + +#: ../../builtins/threadsafety.rst:209 +msgid "Thread safety for dict objects" +msgstr "" + +#: ../../builtins/threadsafety.rst:211 +msgid "" +"Creating a dictionary with the :class:`dict` constructor is atomic when the " +"argument to it is a :class:`dict` or a :class:`tuple`. When using the :meth:" +"`dict.fromkeys` method, dictionary creation is atomic when the argument is " +"a :class:`dict`, :class:`tuple`, :class:`set` or :class:`frozenset`." +msgstr "" + +#: ../../builtins/threadsafety.rst:217 +msgid "" +"The following operations and functions are :term:`lock-free` and :term:" +"`atomic `." +msgstr "" + +#: ../../builtins/threadsafety.rst:220 +msgid "" +"d[key] # dict.__getitem__\n" +"d.get(key) # dict.get\n" +"key in d # dict.__contains__\n" +"len(d) # dict.__len__" +msgstr "" + +#: ../../builtins/threadsafety.rst:228 +msgid "All other operations from here on hold the :term:`per-object lock`." +msgstr "" + +#: ../../builtins/threadsafety.rst:230 +msgid "" +"Writing or removing a single item is safe to call from multiple threads and " +"will not corrupt the dictionary:" +msgstr "" + +#: ../../builtins/threadsafety.rst:233 +msgid "" +"d[key] = value # write\n" +"del d[key] # delete\n" +"d.pop(key) # remove and return\n" +"d.popitem() # remove and return last item\n" +"d.setdefault(key, v) # insert if missing" +msgstr "" + +#: ../../builtins/threadsafety.rst:242 +msgid "" +"These operations may compare keys using :meth:`~object.__eq__`, which can " +"execute arbitrary Python code. During such comparisons, the dictionary may " +"be modified by another thread. For built-in types like :class:`str`, :class:" +"`int`, and :class:`float`, that implement :meth:`~object.__eq__` in C, the " +"underlying lock is not released during comparisons and this is not a concern." +msgstr "" + +#: ../../builtins/threadsafety.rst:249 +msgid "" +"The following operations return new objects and hold the :term:`per-object " +"lock` for the duration of the operation:" +msgstr "" + +#: ../../builtins/threadsafety.rst:252 +msgid "" +"d.copy() # returns a shallow copy of the dictionary\n" +"d | other # merges two dicts into a new dict\n" +"d.keys() # returns a new dict_keys view object\n" +"d.values() # returns a new dict_values view object\n" +"d.items() # returns a new dict_items view object" +msgstr "" + +#: ../../builtins/threadsafety.rst:261 +msgid "" +"The :meth:`~dict.clear` method holds the lock for its duration. Other " +"threads cannot observe elements being removed." +msgstr "" + +#: ../../builtins/threadsafety.rst:264 +msgid "" +"The following operations lock both dictionaries. For :meth:`~dict.update` " +"and ``|=``, this applies only when the other operand is a :class:`dict` that " +"uses the standard dict iterator (but not subclasses that override " +"iteration). For equality comparison, this applies to :class:`dict` and its " +"subclasses:" +msgstr "" + +#: ../../builtins/threadsafety.rst:270 +msgid "" +"d.update(other_dict) # both locked when other_dict is a dict\n" +"d |= other_dict # both locked when other_dict is a dict\n" +"d == other_dict # both locked for dict and subclasses" +msgstr "" + +#: ../../builtins/threadsafety.rst:277 +msgid "" +"All comparison operations also compare values using :meth:`~object.__eq__`, " +"so for non-built-in types the lock may be released during comparison." +msgstr "" + +#: ../../builtins/threadsafety.rst:280 +msgid "" +":meth:`~dict.fromkeys` locks both the new dictionary and the iterable when " +"the iterable is exactly a :class:`dict`, :class:`set`, or :class:`frozenset` " +"(not subclasses):" +msgstr "" + +#: ../../builtins/threadsafety.rst:284 +msgid "" +"dict.fromkeys(a_dict) # locks both\n" +"dict.fromkeys(a_set) # locks both\n" +"dict.fromkeys(a_frozenset) # locks both" +msgstr "" + +#: ../../builtins/threadsafety.rst:291 +msgid "" +"When updating from a non-dict iterable, only the target dictionary is " +"locked. The iterable may be concurrently modified by another thread:" +msgstr "" + +#: ../../builtins/threadsafety.rst:294 +msgid "" +"d.update(iterable) # iterable is not a dict: only d locked\n" +"d |= iterable # iterable is not a dict: only d locked\n" +"dict.fromkeys(iterable) # iterable is not a dict/set/frozenset: only " +"result locked" +msgstr "" + +#: ../../builtins/threadsafety.rst:301 ../../builtins/threadsafety.rst:434 +#: ../../builtins/threadsafety.rst:525 +msgid "" +"Operations that involve multiple accesses, as well as iteration, are never " +"atomic:" +msgstr "" + +#: ../../builtins/threadsafety.rst:304 +msgid "" +"# NOT atomic: read-modify-write\n" +"d[key] = d[key] + 1\n" +"\n" +"# NOT atomic: check-then-act (TOCTOU)\n" +"if key in d:\n" +" del d[key]\n" +"\n" +"# NOT thread-safe: iteration while modifying\n" +"for key, value in d.items():\n" +" process(key) # another thread may modify d" +msgstr "" + +#: ../../builtins/threadsafety.rst:318 +msgid "" +"To avoid time-of-check to time-of-use (TOCTOU) issues, use atomic operations " +"or handle exceptions:" +msgstr "" + +#: ../../builtins/threadsafety.rst:321 +msgid "" +"# Use pop() with default instead of check-then-delete\n" +"d.pop(key, None)\n" +"\n" +"# Or handle the exception\n" +"try:\n" +" del d[key]\n" +"except KeyError:\n" +" pass" +msgstr "" + +#: ../../builtins/threadsafety.rst:333 +msgid "" +"To safely iterate over a dictionary that may be modified by another thread, " +"iterate over a copy:" +msgstr "" + +#: ../../builtins/threadsafety.rst:336 +msgid "" +"# Make a copy to iterate safely\n" +"for key, value in d.copy().items():\n" +" process(key)" +msgstr "" + +#: ../../builtins/threadsafety.rst:343 +msgid "" +"Consider external synchronization when sharing :class:`dict` instances " +"across threads." +msgstr "" + +#: ../../builtins/threadsafety.rst:350 +msgid "Thread safety for set objects" +msgstr "" + +#: ../../builtins/threadsafety.rst:352 ../../builtins/threadsafety.rst:457 +msgid "" +"The :func:`len` function is lock-free and :term:`atomic `." +msgstr "" + +#: ../../builtins/threadsafety.rst:354 +msgid "" +"The following read operation is lock-free. It does not block concurrent " +"modifications and may observe intermediate states from operations that hold " +"the per-object lock:" +msgstr "" + +#: ../../builtins/threadsafety.rst:358 +msgid "elem in s # set.__contains__" +msgstr "" + +#: ../../builtins/threadsafety.rst:363 +msgid "" +"This operation may compare elements using :meth:`~object.__eq__`, which can " +"execute arbitrary Python code. During such comparisons, the set may be " +"modified by another thread. For built-in types like :class:`str`, :class:" +"`int`, and :class:`float`, :meth:`!__eq__` does not release the underlying " +"lock during comparisons and this is not a concern." +msgstr "" + +#: ../../builtins/threadsafety.rst:369 ../../builtins/threadsafety.rst:470 +msgid "All other operations from here on hold the per-object lock." +msgstr "" + +#: ../../builtins/threadsafety.rst:371 +msgid "" +"Adding or removing a single element is safe to call from multiple threads " +"and will not corrupt the set:" +msgstr "" + +#: ../../builtins/threadsafety.rst:374 +msgid "" +"s.add(elem) # add element\n" +"s.remove(elem) # remove element, raise if missing\n" +"s.discard(elem) # remove element if present\n" +"s.pop() # remove and return arbitrary element" +msgstr "" + +#: ../../builtins/threadsafety.rst:382 +msgid "" +"These operations also compare elements, so the same :meth:`~object.__eq__` " +"considerations as above apply." +msgstr "" + +#: ../../builtins/threadsafety.rst:385 +msgid "" +"The :meth:`~set.copy` method returns a new object and holds the per-object " +"lock for the duration so that it is always atomic." +msgstr "" + +#: ../../builtins/threadsafety.rst:388 +msgid "" +"The :meth:`~set.clear` method holds the lock for its duration. Other threads " +"cannot observe elements being removed." +msgstr "" + +#: ../../builtins/threadsafety.rst:391 +msgid "" +"The following operations only accept :class:`set` or :class:`frozenset` as " +"operands and always lock both objects:" +msgstr "" + +#: ../../builtins/threadsafety.rst:394 +msgid "" +"s |= other # other must be set/frozenset\n" +"s &= other # other must be set/frozenset\n" +"s -= other # other must be set/frozenset\n" +"s ^= other # other must be set/frozenset\n" +"s & other # other must be set/frozenset\n" +"s | other # other must be set/frozenset\n" +"s - other # other must be set/frozenset\n" +"s ^ other # other must be set/frozenset" +msgstr "" + +#: ../../builtins/threadsafety.rst:406 +msgid "" +":meth:`set.update`, :meth:`set.union`, :meth:`set.intersection` and :meth:" +"`set.difference` can take multiple iterables as arguments. They all iterate " +"through all the passed iterables and do the following:" +msgstr "" + +#: ../../builtins/threadsafety.rst:410 +msgid ":meth:`set.update` and :meth:`set.union` lock both objects only when" +msgstr "" + +#: ../../builtins/threadsafety.rst:411 +msgid "" +"the other operand is a :class:`set`, :class:`frozenset`, or :class:`dict`." +msgstr "" + +#: ../../builtins/threadsafety.rst:412 +msgid ":meth:`set.intersection` and :meth:`set.difference` always try to lock" +msgstr "" + +#: ../../builtins/threadsafety.rst:413 +msgid "all objects." +msgstr "" + +#: ../../builtins/threadsafety.rst:415 +msgid ":meth:`set.symmetric_difference` tries to lock both objects." +msgstr "" + +#: ../../builtins/threadsafety.rst:417 +msgid "" +"The update variants of the above methods also have some differences between " +"them:" +msgstr "" + +#: ../../builtins/threadsafety.rst:420 +msgid ":meth:`set.difference_update` and :meth:`set.intersection_update` try" +msgstr "" + +#: ../../builtins/threadsafety.rst:421 +msgid "to lock all objects one-by-one." +msgstr "" + +#: ../../builtins/threadsafety.rst:422 +msgid "" +":meth:`set.symmetric_difference_update` only locks the arguments if it is" +msgstr "" + +#: ../../builtins/threadsafety.rst:423 +msgid "of type :class:`set`, :class:`frozenset`, or :class:`dict`." +msgstr "" + +#: ../../builtins/threadsafety.rst:425 +msgid "The following methods always try to lock both objects:" +msgstr "" + +#: ../../builtins/threadsafety.rst:427 +msgid "" +"s.isdisjoint(other) # both locked\n" +"s.issubset(other) # both locked\n" +"s.issuperset(other) # both locked" +msgstr "" + +#: ../../builtins/threadsafety.rst:437 +msgid "" +"# NOT atomic: check-then-act\n" +"if elem in s:\n" +" s.remove(elem)\n" +"\n" +"# NOT thread-safe: iteration while modifying\n" +"for elem in s:\n" +" process(elem) # another thread may modify s" +msgstr "" + +#: ../../builtins/threadsafety.rst:448 +msgid "" +"Consider external synchronization when sharing :class:`set` instances across " +"threads. See :ref:`freethreading-python-howto` for more information." +msgstr "" + +#: ../../builtins/threadsafety.rst:455 +msgid "Thread safety for bytearray objects" +msgstr "" + +#: ../../builtins/threadsafety.rst:459 +msgid "" +"Concatenation and comparisons use the buffer protocol, which prevents " +"resizing but does not hold the per-object lock. These operations may observe " +"intermediate states from concurrent modifications:" +msgstr "" + +#: ../../builtins/threadsafety.rst:463 +msgid "" +"ba + other # may observe concurrent writes\n" +"ba == other # may observe concurrent writes\n" +"ba < other # may observe concurrent writes" +msgstr "" + +#: ../../builtins/threadsafety.rst:472 +msgid "" +"Reading a single element or slice is safe to call from multiple threads:" +msgstr "" + +#: ../../builtins/threadsafety.rst:474 +msgid "" +"ba[i] # bytearray.__getitem__\n" +"ba[i:j] # slice" +msgstr "" + +#: ../../builtins/threadsafety.rst:480 +msgid "" +"The following operations are safe to call from multiple threads and will not " +"corrupt the bytearray:" +msgstr "" + +#: ../../builtins/threadsafety.rst:483 +msgid "" +"ba[i] = x # write single byte\n" +"ba[i:j] = values # write slice\n" +"ba.append(x) # append single byte\n" +"ba.extend(other) # extend with iterable\n" +"ba.insert(i, x) # insert single byte\n" +"ba.pop() # remove and return last byte\n" +"ba.pop(i) # remove and return byte at index\n" +"ba.remove(x) # remove first occurrence\n" +"ba.reverse() # reverse in place\n" +"ba.clear() # remove all bytes" +msgstr "" + +#: ../../builtins/threadsafety.rst:497 +msgid "" +"Slice assignment locks both objects when *values* is a :class:`bytearray`:" +msgstr "" + +#: ../../builtins/threadsafety.rst:499 +msgid "ba[i:j] = other_bytearray # both locked" +msgstr "" + +#: ../../builtins/threadsafety.rst:504 +msgid "" +"The following operations return new objects and hold the per-object lock for " +"the duration:" +msgstr "" + +#: ../../builtins/threadsafety.rst:507 +msgid "" +"ba.copy() # returns a shallow copy\n" +"ba * n # repeat into new bytearray" +msgstr "" + +#: ../../builtins/threadsafety.rst:513 +msgid "The membership test holds the lock for its duration:" +msgstr "" + +#: ../../builtins/threadsafety.rst:515 +msgid "x in ba # bytearray.__contains__" +msgstr "" + +#: ../../builtins/threadsafety.rst:520 +msgid "" +"All other bytearray methods (such as :meth:`~bytearray.find`, :meth:" +"`~bytearray.replace`, :meth:`~bytearray.split`, :meth:`~bytearray.decode`, " +"etc.) hold the per-object lock for their duration." +msgstr "" + +#: ../../builtins/threadsafety.rst:528 +msgid "" +"# NOT atomic: check-then-act\n" +"if x in ba:\n" +" ba.remove(x)\n" +"\n" +"# NOT thread-safe: iteration while modifying\n" +"for byte in ba:\n" +" process(byte) # another thread may modify ba" +msgstr "" + +#: ../../builtins/threadsafety.rst:539 +msgid "" +"To safely iterate over a bytearray that may be modified by another thread, " +"iterate over a copy:" +msgstr "" + +#: ../../builtins/threadsafety.rst:542 +msgid "" +"# Make a copy to iterate safely\n" +"for byte in ba.copy():\n" +" process(byte)" +msgstr "" + +#: ../../builtins/threadsafety.rst:549 +msgid "" +"Consider external synchronization when sharing :class:`bytearray` instances " +"across threads. See :ref:`freethreading-python-howto` for more information." +msgstr "" + +#: ../../builtins/threadsafety.rst:556 +msgid "Thread safety for memoryview objects" +msgstr "" + +#: ../../builtins/threadsafety.rst:558 +msgid "" +":class:`memoryview` objects provide access to the internal data of an " +"underlying object without copying. Thread safety depends on both the " +"memoryview itself and the underlying buffer exporter." +msgstr "" + +#: ../../builtins/threadsafety.rst:562 +msgid "" +"The memoryview implementation uses atomic operations to track its own " +"exports in the :term:`free-threaded build`. Creating and releasing a " +"memoryview are thread-safe. Attribute access (e.g., :attr:`~memoryview." +"shape`, :attr:`~memoryview.format`) reads fields that are immutable for the " +"lifetime of the memoryview, so concurrent reads are safe as long as the " +"memoryview has not been released." +msgstr "" + +#: ../../builtins/threadsafety.rst:569 +msgid "" +"However, the actual data accessed through the memoryview is owned by the " +"underlying object. Concurrent access to this data is only safe if the " +"underlying object supports it:" +msgstr "" + +#: ../../builtins/threadsafety.rst:573 +msgid "" +"For immutable objects like :class:`bytes`, concurrent reads through multiple " +"memoryviews are safe." +msgstr "" + +#: ../../builtins/threadsafety.rst:576 +msgid "" +"For mutable objects like :class:`bytearray`, reading and writing the same " +"memory region from multiple threads without external synchronization is not " +"safe and may result in data corruption. Note that even read-only memoryviews " +"of mutable objects do not prevent data races if the underlying object is " +"modified from another thread." +msgstr "" + +#: ../../builtins/threadsafety.rst:583 +msgid "" +"# NOT safe: concurrent writes to the same buffer\n" +"data = bytearray(1000)\n" +"view = memoryview(data)\n" +"# Thread 1: view[0:500] = b'x' * 500\n" +"# Thread 2: view[0:500] = b'y' * 500" +msgstr "" + +#: ../../builtins/threadsafety.rst:592 +msgid "" +"# Safe: use a lock for concurrent access\n" +"import threading\n" +"lock = threading.Lock()\n" +"data = bytearray(1000)\n" +"view = memoryview(data)\n" +"\n" +"with lock:\n" +" view[0:500] = b'x' * 500" +msgstr "" + +#: ../../builtins/threadsafety.rst:604 +msgid "" +"Resizing or reallocating the underlying object (such as calling :meth:" +"`bytearray.resize`) while a memoryview is exported raises :exc:" +"`BufferError`. This is enforced regardless of threading." +msgstr "" diff --git a/builtins/time-complexity.po b/builtins/time-complexity.po new file mode 100644 index 00000000..65e6fa4c --- /dev/null +++ b/builtins/time-complexity.po @@ -0,0 +1,644 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../builtins/time-complexity.rst:5 +msgid "Time complexity of operations on built-in types" +msgstr "" + +#: ../../builtins/time-complexity.rst:7 +msgid "" +"This page documents the time complexity of various operations on built-in " +"types in CPython. Other Python implementations may have different " +"performance characteristics. Additionally, the listed costs assume exact " +"built-in types, as instances of subclasses may have different costs." +msgstr "" + +#: ../../builtins/time-complexity.rst:12 +msgid "" +"We use |big O notation|_ to describe how the running time of an operation " +"grows with the size of its inputs. Unless stated otherwise, *n* denotes the " +"number of elements currently in the container, and *k* is the value of a " +"numeric parameter, such as an index or a repeat count." +msgstr "" + +#: ../../builtins/time-complexity.rst:22 +msgid ":class:`!list`" +msgstr "" + +#: ../../builtins/time-complexity.rst:24 +msgid "" +"Lists are mutable sequences; for more detail on the implementation see :ref:" +"`how-are-lists-implemented`. The largest costs come from growing beyond the " +"current allocation size (because everything must move), or from inserting or " +"deleting somewhere near the beginning (because everything after that must " +"move). If you need to add or remove at both ends, consider using a :class:" +"`collections.deque` instead." +msgstr "" + +#: ../../builtins/time-complexity.rst:34 ../../builtins/time-complexity.rst:85 +#: ../../builtins/time-complexity.rst:121 +#: ../../builtins/time-complexity.rst:156 +#: ../../builtins/time-complexity.rst:199 +#: ../../builtins/time-complexity.rst:232 +#: ../../builtins/time-complexity.rst:259 +msgid "Operation" +msgstr "" + +#: ../../builtins/time-complexity.rst:35 ../../builtins/time-complexity.rst:86 +#: ../../builtins/time-complexity.rst:122 +#: ../../builtins/time-complexity.rst:157 +#: ../../builtins/time-complexity.rst:200 +#: ../../builtins/time-complexity.rst:233 +#: ../../builtins/time-complexity.rst:260 +msgid "Complexity" +msgstr "" + +#: ../../builtins/time-complexity.rst:36 +msgid "Copy (``l.copy()``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:37 ../../builtins/time-complexity.rst:51 +#: ../../builtins/time-complexity.rst:68 ../../builtins/time-complexity.rst:70 +#: ../../builtins/time-complexity.rst:98 ../../builtins/time-complexity.rst:100 +#: ../../builtins/time-complexity.rst:102 +#: ../../builtins/time-complexity.rst:126 +#: ../../builtins/time-complexity.rst:136 +#: ../../builtins/time-complexity.rst:161 +#: ../../builtins/time-complexity.rst:210 +#: ../../builtins/time-complexity.rst:214 +#: ../../builtins/time-complexity.rst:216 +#: ../../builtins/time-complexity.rst:241 +#: ../../builtins/time-complexity.rst:243 +#: ../../builtins/time-complexity.rst:245 +#: ../../builtins/time-complexity.rst:270 +#: ../../builtins/time-complexity.rst:272 +msgid "*O*\\ (*n*)" +msgstr "" + +#: ../../builtins/time-complexity.rst:38 +msgid "Append (``l.append(x)``) [1]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:39 ../../builtins/time-complexity.rst:45 +#: ../../builtins/time-complexity.rst:47 ../../builtins/time-complexity.rst:72 +#: ../../builtins/time-complexity.rst:88 ../../builtins/time-complexity.rst:90 +#: ../../builtins/time-complexity.rst:104 +#: ../../builtins/time-complexity.rst:124 +#: ../../builtins/time-complexity.rst:128 +#: ../../builtins/time-complexity.rst:130 +#: ../../builtins/time-complexity.rst:132 +#: ../../builtins/time-complexity.rst:138 +#: ../../builtins/time-complexity.rst:159 +#: ../../builtins/time-complexity.rst:163 +#: ../../builtins/time-complexity.rst:165 +#: ../../builtins/time-complexity.rst:183 +#: ../../builtins/time-complexity.rst:202 +#: ../../builtins/time-complexity.rst:218 +#: ../../builtins/time-complexity.rst:235 +#: ../../builtins/time-complexity.rst:237 +#: ../../builtins/time-complexity.rst:239 +#: ../../builtins/time-complexity.rst:247 +#: ../../builtins/time-complexity.rst:262 +#: ../../builtins/time-complexity.rst:264 +#: ../../builtins/time-complexity.rst:266 +#: ../../builtins/time-complexity.rst:268 +#: ../../builtins/time-complexity.rst:274 +msgid "*O*\\ (1)" +msgstr "" + +#: ../../builtins/time-complexity.rst:40 +msgid "Pop (``l.pop(k)``) [1]_ [2]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:41 ../../builtins/time-complexity.rst:43 +#: ../../builtins/time-complexity.rst:49 +msgid "*O*\\ (*n* - *k*)" +msgstr "" + +#: ../../builtins/time-complexity.rst:42 +msgid "Insert (``l.insert(k, x)``) [1]_ [2]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:44 +msgid "Get item (``l[k]``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:46 +msgid "Set item (``l[k] = x``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:48 +msgid "Delete item (``del l[k]``) [2]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:50 ../../builtins/time-complexity.rst:97 +#: ../../builtins/time-complexity.rst:215 +#: ../../builtins/time-complexity.rst:269 +msgid "Iteration" +msgstr "" + +#: ../../builtins/time-complexity.rst:52 +msgid "Get slice (``l[i:j]``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:53 ../../builtins/time-complexity.rst:92 +#: ../../builtins/time-complexity.rst:204 +msgid "*O*\\ (*j* - *i*)" +msgstr "" + +#: ../../builtins/time-complexity.rst:54 +msgid "Set slice (``l[i:j] = t``) [1]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:55 +msgid "" +"*O*\\ (*j* - *i*) if len(*t*) == *j* - *i*, otherwise *O*\\ (*n* - *i* + " +"len(*t*))" +msgstr "" + +#: ../../builtins/time-complexity.rst:57 +msgid "Delete slice (``del l[i:j]``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:58 +msgid "*O*\\ (*n* - *i*)" +msgstr "" + +#: ../../builtins/time-complexity.rst:59 +msgid "Extend (``l.extend(t)``) [1]_ [3]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:60 ../../builtins/time-complexity.rst:134 +msgid "*O*\\ (len(*t*))" +msgstr "" + +#: ../../builtins/time-complexity.rst:61 +msgid "Sort (``l.sort()``) [4]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:62 +msgid "*O*\\ (*n* log *n*)" +msgstr "" + +#: ../../builtins/time-complexity.rst:63 +msgid "Concatenate (``l1 + l2``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:64 +msgid "*O*\\ (len(*l1*) + len(*l2*))" +msgstr "" + +#: ../../builtins/time-complexity.rst:65 +msgid "Multiply (``l * k``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:66 ../../builtins/time-complexity.rst:96 +#: ../../builtins/time-complexity.rst:208 +msgid "*O*\\ (*nk*)" +msgstr "" + +#: ../../builtins/time-complexity.rst:67 +msgid "``x in l``" +msgstr "" + +#: ../../builtins/time-complexity.rst:69 +msgid "``min(l)``, ``max(l)``" +msgstr "" + +#: ../../builtins/time-complexity.rst:71 +msgid "Get length (``len(l)``) [5]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:76 +msgid ":class:`!tuple`" +msgstr "" + +#: ../../builtins/time-complexity.rst:78 +msgid "" +"A :class:`tuple` is an :term:`immutable` sequence. Because a tuple can never " +"change, there are no insertion or deletion costs, and making a copy simply " +"returns the same object, so is constant time (*O*\\ (1))." +msgstr "" + +#: ../../builtins/time-complexity.rst:87 +msgid "Copy (``tuple(t)``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:89 +msgid "Get item (``t[k]``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:91 +msgid "Get slice (``t[i:j]``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:93 +msgid "Concatenate (``t1 + t2``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:94 +msgid "*O*\\ (len(*t1*) + len(*t2*))" +msgstr "" + +#: ../../builtins/time-complexity.rst:95 +msgid "Multiply (``t * k``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:99 +msgid "``x in t``" +msgstr "" + +#: ../../builtins/time-complexity.rst:101 +msgid "``min(t)``, ``max(t)``" +msgstr "" + +#: ../../builtins/time-complexity.rst:103 +msgid "Get length (``len(t)``) [5]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:108 +msgid ":class:`!dict`" +msgstr "" + +#: ../../builtins/time-complexity.rst:110 +msgid "" +"The times listed for dict objects are average-case times, as they assume the " +"hash function for the objects is sufficiently robust to make collisions " +"uncommon. They also assume the keys are well-distributed among the set of " +"possible keys. In the worst case, when every key hashes to the same value, " +"each of the *O*\\ (1) operations below instead takes *O*\\ (*n*) time. They " +"also assume that hashing and comparing a key is *O*\\ (1). For more detail " +"on the implementation, see :ref:`how-are-dictionaries-implemented`." +msgstr "" + +#: ../../builtins/time-complexity.rst:123 +msgid "``key in d``" +msgstr "" + +#: ../../builtins/time-complexity.rst:125 +msgid "Copy (``d.copy()``) [7]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:127 +msgid "Get item (``d[key]``, ``d.get(key)``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:129 +msgid "Set item (``d[key] = value``) [1]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:131 +msgid "Delete item (``del d[key]``, ``d.pop(key)``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:133 +msgid "Update (``d.update(t)``, ``d |= t``) [1]_ [3]_ [7]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:135 +msgid "Iteration [7]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:137 +msgid "Get length (``len(d)``) [5]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:142 +msgid ":class:`!set`, :class:`!frozenset`" +msgstr "" + +#: ../../builtins/time-complexity.rst:144 +msgid "" +"See :class:`dict` as the :class:`set` and :class:`frozenset` implementations " +"are similar, and the same caveats apply. In the worst case, *O*\\ (1) " +"operations instead take *O*\\ (*n*) time, and operations that look up every " +"element degrade accordingly." +msgstr "" + +#: ../../builtins/time-complexity.rst:149 +msgid "" +"A :class:`frozenset` is :term:`immutable`, so it does not support adding, " +"discarding, or the in-place update operations. The others below apply to it " +"at the same costs." +msgstr "" + +#: ../../builtins/time-complexity.rst:158 +msgid "``x in s``" +msgstr "" + +#: ../../builtins/time-complexity.rst:160 +msgid "Copy (``s.copy()``) [6]_ [7]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:162 +msgid "Add (``s.add(x)``) [1]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:164 +msgid "Discard (``s.discard(x)``, ``s.remove(x)``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:166 +msgid "Union (``s1 | s2``, ``s1.union(s2)``) [7]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:167 +#: ../../builtins/time-complexity.rst:179 +msgid "*O*\\ (len(*s1*) + len(*s2*))" +msgstr "" + +#: ../../builtins/time-complexity.rst:168 +msgid "Update (``s1 |= s2``, ``s1.update(s2)``) [1]_ [7]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:169 +#: ../../builtins/time-complexity.rst:181 +msgid "*O*\\ (len(*s2*))" +msgstr "" + +#: ../../builtins/time-complexity.rst:170 +msgid "Intersection (``s1 & s2``, ``s1.intersection(s2)``) [7]_ [8]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:171 +#: ../../builtins/time-complexity.rst:173 +#: ../../builtins/time-complexity.rst:177 +msgid "*O*\\ (min(len(*s1*), len(*s2*)))" +msgstr "" + +#: ../../builtins/time-complexity.rst:172 +msgid "" +"Intersection update (``s1 &= s2``, ``s1.intersection_update(s2)``) [1]_ [7]_ " +"[8]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:174 +msgid "Difference (``s1 - s2``, ``s1.difference(s2)``) [7]_ [9]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:175 +msgid "*O*\\ (len(*s1*))" +msgstr "" + +#: ../../builtins/time-complexity.rst:176 +msgid "" +"Difference update (``s1 -= s2``, ``s1.difference_update(s2)``) [1]_ [7]_ [8]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:178 +msgid "" +"Symmetric difference (``s1 ^ s2``, ``s1.symmetric_difference(s2)``) [7]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:180 +msgid "" +"Symmetric difference update (``s1 ^= s2``, ``s1." +"symmetric_difference_update(s2)``) [1]_ [7]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:182 +#: ../../builtins/time-complexity.rst:217 +msgid "Get length (``len(s)``) [5]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:187 +msgid ":class:`!str`, :class:`!bytes`, :class:`!bytearray`" +msgstr "" + +#: ../../builtins/time-complexity.rst:189 +msgid "" +":class:`str` and :class:`bytes` objects are immutable sequences of " +"characters and bytes, respectively. As with tuples, copying one returns the " +"original object. A :class:`bytearray` is mutable, and additionally supports " +"the mutating operations of :class:`list` (except :meth:`!sort`), at the same " +"costs. However, deleting at the front with ``del`` (``del b[0]``, ``del b[:" +"k]``) only advances the start of the buffer instead of moving the remaining " +"bytes, and is amortized *O*\\ (1)." +msgstr "" + +#: ../../builtins/time-complexity.rst:201 +msgid "Get item (``s[k]``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:203 +msgid "Get slice (``s[i:j]``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:205 +msgid "Concatenate (``s + t``) [10]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:206 +msgid "*O*\\ (len(*s*) + len(*t*))" +msgstr "" + +#: ../../builtins/time-complexity.rst:207 +msgid "Multiply (``s * k``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:209 +msgid "Substring search (``x in s``, ``s.find(x)``, ``s.index(x)``) [11]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:211 +msgid "Reverse substring search (``s.rfind(x)``, ``s.rindex(x)``) [11]_ [12]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:212 +msgid "*O*\\ (*n* × len(*x*))" +msgstr "" + +#: ../../builtins/time-complexity.rst:213 +msgid "Encode or decode [13]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:222 +msgid ":class:`!memoryview`" +msgstr "" + +#: ../../builtins/time-complexity.rst:224 +msgid "" +":class:`memoryview` objects allow Python code to access the internal data of " +"an object that supports the :ref:`buffer protocol ` without " +"copying. In particular, slicing a memory view returns a new view onto the " +"same buffer." +msgstr "" + +#: ../../builtins/time-complexity.rst:234 +msgid "Create (``memoryview(obj)``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:236 +msgid "Get item (``v[k]``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:238 +msgid "Get slice (``v[i:j]``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:240 +msgid "Index (``v.index(x)``) [11]_ [14]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:242 +msgid "Count (``v.count(x)``) [14]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:244 +msgid "Convert to bytes (``v.tobytes()``, ``bytes(v)``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:246 +msgid "Get length (``len(v)``) [5]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:251 +msgid ":class:`!range`" +msgstr "" + +#: ../../builtins/time-complexity.rst:253 +msgid "" +"A :class:`range` object computes its items on demand from its *start*, " +"*stop* and *step* values, so most operations do not depend on the length of " +"the range." +msgstr "" + +#: ../../builtins/time-complexity.rst:261 +msgid "Get item (``r[k]``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:263 +msgid "Get slice (``r[i:j]``)" +msgstr "" + +#: ../../builtins/time-complexity.rst:265 +msgid "``x in r`` [15]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:267 +msgid "Index and count (``r.index(x)``, ``r.count(x)``) [15]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:271 +msgid "``min(r)``, ``max(r)``" +msgstr "" + +#: ../../builtins/time-complexity.rst:273 +msgid "Get length (``len(r)``) [5]_" +msgstr "" + +#: ../../builtins/time-complexity.rst:278 +msgid "Notes" +msgstr "" + +#: ../../builtins/time-complexity.rst:280 +msgid "" +"Amortized. An individual operation may occasionally be *O*\\ (*n*) when the " +"underlying storage is resized, but this cost is spread over many operations, " +"depending on the history of the container." +msgstr "" + +#: ../../builtins/time-complexity.rst:284 +msgid "" +"Popping or deleting the element at index *k* of a list of size *n* shifts " +"all elements after *k* one slot to the left, moving *n* - *k* - 1 elements; " +"inserting at index *k* shifts the elements from *k* onwards one slot to the " +"right, moving *n* - *k* elements. The worst case is index 0, where the whole " +"rest of the list has to be moved; the average case, an index in the middle " +"of the list, takes *O*\\ (*n*/2) = *O*\\ (*n*) operations; and operating at " +"the end of the list moves nothing and is *O*\\ (1)." +msgstr "" + +#: ../../builtins/time-complexity.rst:293 +msgid "" +"Plus the cost of iterating over *t*, which may be expensive for an arbitrary " +"iterable." +msgstr "" + +#: ../../builtins/time-complexity.rst:296 +msgid "" +"This is the worst case scenario. Sorting is adaptive and input that is " +"already sorted or reverse-sorted takes only *O*\\ (*n*) comparisons. See :" +"source:`Objects/listsort.txt` for more information." +msgstr "" + +#: ../../builtins/time-complexity.rst:300 +msgid "" +"The number of elements is stored in the object, so ``len()`` does not need " +"to count them." +msgstr "" + +#: ../../builtins/time-complexity.rst:303 +msgid "" +"Copying a :class:`frozenset` is *O*\\ (1) as it returns the original object." +msgstr "" + +#: ../../builtins/time-complexity.rst:306 +msgid "" +"These operations scan the container's internal hash table, which is not " +"shrunk when elements are removed. After removing most elements, they still " +"take time proportional to the container's former size, until a later " +"insertion triggers a resize." +msgstr "" + +#: ../../builtins/time-complexity.rst:311 +msgid "*O*\\ (len(*t*)) if *t* is not a set." +msgstr "" + +#: ../../builtins/time-complexity.rst:313 +msgid "*O*\\ (len(*s*) + len(*t*)) if *t* is not a set." +msgstr "" + +#: ../../builtins/time-complexity.rst:315 +msgid "" +"Each concatenation builds a new object, so building a string by " +"concatenating many pieces in a loop is quadratic in the total length. See " +"the :ref:`note on concatenating immutable sequences ` for alternatives." +msgstr "" + +#: ../../builtins/time-complexity.rst:320 +msgid "" +"With *start* and *end* arguments, *n* is the length of the region searched " +"rather than of *s*, and unlike slicing nothing is copied." +msgstr "" + +#: ../../builtins/time-complexity.rst:323 +msgid "" +"This is the worst case. Reverse searches are *O*\\ (*n*) on typical input. " +"Forward searches instead use a more elaborate algorithm with a linear worst " +"case, described in :source:`Objects/stringlib/stringlib_find_two_way_notes." +"txt`." +msgstr "" + +#: ../../builtins/time-complexity.rst:328 +msgid "This assumes a codec that does a constant amount of work per character." +msgstr "" + +#: ../../builtins/time-complexity.rst:330 +msgid "" +"These unpack and compare each element individually, so they are much slower " +"than the equivalent :class:`bytes` methods." +msgstr "" + +#: ../../builtins/time-complexity.rst:333 +msgid "" +"Assuming :class:`int` or :class:`bool` arguments. For other types, the range " +"is searched like any other sequence in *O*\\ (*n*) time." +msgstr "" diff --git a/c-api/bytearray.po b/c-api/bytearray.po index b2b98803..c482eec5 100644 --- a/c-api/bytearray.po +++ b/c-api/bytearray.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-15 09:12+0000\n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -26,98 +26,106 @@ msgid "" "This subtype of :c:type:`PyObject` represents a Python bytearray object." msgstr "" -#: ../../c-api/bytearray.rst:18 +#: ../../c-api/bytearray.rst:17 +msgid "" +"The internal buffer of :c:type:`PyByteArrayObject` always includes an extra " +"trailing null byte for compatibility with null terminated C strings. This " +"extra byte is not counted in :c:func:`PyByteArray_Size` nor in the *len* " +"arguments of the functions below." +msgstr "" + +#: ../../c-api/bytearray.rst:24 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python bytearray " "type; it is the same object as :class:`bytearray` in the Python layer." msgstr "" -#: ../../c-api/bytearray.rst:23 +#: ../../c-api/bytearray.rst:29 msgid "Type check macros" msgstr "" -#: ../../c-api/bytearray.rst:27 +#: ../../c-api/bytearray.rst:33 msgid "" "Return true if the object *o* is a bytearray object or an instance of a " "subtype of the bytearray type. This function always succeeds." msgstr "" -#: ../../c-api/bytearray.rst:33 +#: ../../c-api/bytearray.rst:39 msgid "" "Return true if the object *o* is a bytearray object, but not an instance of " "a subtype of the bytearray type. This function always succeeds." msgstr "" -#: ../../c-api/bytearray.rst:38 +#: ../../c-api/bytearray.rst:44 msgid "Direct API functions" msgstr "" -#: ../../c-api/bytearray.rst:42 +#: ../../c-api/bytearray.rst:48 msgid "" "Return a new bytearray object from any object, *o*, that implements the :ref:" "`buffer protocol `." msgstr "" -#: ../../c-api/bytearray.rst:45 ../../c-api/bytearray.rst:56 -#: ../../c-api/bytearray.rst:63 +#: ../../c-api/bytearray.rst:51 ../../c-api/bytearray.rst:62 +#: ../../c-api/bytearray.rst:69 msgid "On failure, return ``NULL`` with an exception set." msgstr "" -#: ../../c-api/bytearray.rst:48 ../../c-api/bytearray.rst:66 +#: ../../c-api/bytearray.rst:54 ../../c-api/bytearray.rst:72 msgid "" "If the object implements the buffer protocol, then the buffer must not be " "mutated while the bytearray object is being created." msgstr "" -#: ../../c-api/bytearray.rst:54 +#: ../../c-api/bytearray.rst:60 msgid "Create a new bytearray object from *string* and its length, *len*." msgstr "" -#: ../../c-api/bytearray.rst:61 +#: ../../c-api/bytearray.rst:67 msgid "" "Concat bytearrays *a* and *b* and return a new bytearray with the result." msgstr "" -#: ../../c-api/bytearray.rst:72 +#: ../../c-api/bytearray.rst:78 msgid "Return the size of *bytearray* after checking for a ``NULL`` pointer." msgstr "" -#: ../../c-api/bytearray.rst:77 +#: ../../c-api/bytearray.rst:83 msgid "" "Return the contents of *bytearray* as a char array after checking for a " "``NULL`` pointer. The returned array always has an extra null byte appended." msgstr "" -#: ../../c-api/bytearray.rst:82 ../../c-api/bytearray.rst:104 +#: ../../c-api/bytearray.rst:88 ../../c-api/bytearray.rst:110 msgid "" "It is not thread-safe to mutate the bytearray object while using the " "returned char array." msgstr "" -#: ../../c-api/bytearray.rst:87 +#: ../../c-api/bytearray.rst:93 msgid "" "Resize the internal buffer of *bytearray* to *len*. Failure is a ``-1`` " "return with an exception set." msgstr "" -#: ../../c-api/bytearray.rst:90 +#: ../../c-api/bytearray.rst:96 msgid "" "A negative *len* will now result in an exception being set and -1 returned." msgstr "" -#: ../../c-api/bytearray.rst:95 +#: ../../c-api/bytearray.rst:101 msgid "Macros" msgstr "" -#: ../../c-api/bytearray.rst:97 +#: ../../c-api/bytearray.rst:103 msgid "These macros trade safety for speed and they don't check pointers." msgstr "" -#: ../../c-api/bytearray.rst:101 +#: ../../c-api/bytearray.rst:107 msgid "Similar to :c:func:`PyByteArray_AsString`, but without error checking." msgstr "" -#: ../../c-api/bytearray.rst:109 +#: ../../c-api/bytearray.rst:115 msgid "Similar to :c:func:`PyByteArray_Size`, but without error checking." msgstr "" diff --git a/c-api/bytes.po b/c-api/bytes.po index cfe4bfda..b315b916 100644 --- a/c-api/bytes.po +++ b/c-api/bytes.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-15 09:12+0000\n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -27,43 +27,51 @@ msgid "" "called with a non-bytes parameter." msgstr "" -#: ../../c-api/bytes.rst:16 +#: ../../c-api/bytes.rst:13 +msgid "" +"The internal buffer of :c:type:`PyBytesObject` always includes an extra " +"trailing null byte for compatibility with null terminated C strings. This " +"extra byte is not counted in :c:func:`PyBytes_Size` nor in the various " +"*length* and *size* arguments of the functions below." +msgstr "" + +#: ../../c-api/bytes.rst:23 msgid "This subtype of :c:type:`PyObject` represents a Python bytes object." msgstr "" -#: ../../c-api/bytes.rst:21 +#: ../../c-api/bytes.rst:28 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python bytes type; it " "is the same object as :class:`bytes` in the Python layer." msgstr "" -#: ../../c-api/bytes.rst:27 +#: ../../c-api/bytes.rst:34 msgid "" "Return true if the object *o* is a bytes object or an instance of a subtype " "of the bytes type. This function always succeeds." msgstr "" -#: ../../c-api/bytes.rst:33 +#: ../../c-api/bytes.rst:40 msgid "" "Return true if the object *o* is a bytes object, but not an instance of a " "subtype of the bytes type. This function always succeeds." msgstr "" -#: ../../c-api/bytes.rst:39 +#: ../../c-api/bytes.rst:46 msgid "" "Return a new bytes object with a copy of the string *v* as value on success, " "and ``NULL`` on failure. The parameter *v* must not be ``NULL``; it will " "not be checked." msgstr "" -#: ../../c-api/bytes.rst:46 +#: ../../c-api/bytes.rst:53 msgid "" "Return a new bytes object with a copy of the string *v* as value and length " "*len* on success, and ``NULL`` on failure. If *v* is ``NULL``, the contents " "of the bytes object are uninitialized." msgstr "" -#: ../../c-api/bytes.rst:53 +#: ../../c-api/bytes.rst:60 msgid "" "Take a C :c:func:`printf`\\ -style *format* string and a variable number of " "arguments, calculate the size of the resulting Python bytes object and " @@ -73,193 +81,193 @@ msgid "" "allowed:" msgstr "" -#: ../../c-api/bytes.rst:65 +#: ../../c-api/bytes.rst:72 msgid "Format Characters" msgstr "" -#: ../../c-api/bytes.rst:65 +#: ../../c-api/bytes.rst:72 msgid "Type" msgstr "" -#: ../../c-api/bytes.rst:65 +#: ../../c-api/bytes.rst:72 msgid "Comment" msgstr "" -#: ../../c-api/bytes.rst:67 +#: ../../c-api/bytes.rst:74 msgid "``%%``" msgstr "" -#: ../../c-api/bytes.rst:67 +#: ../../c-api/bytes.rst:74 msgid "*n/a*" msgstr "" -#: ../../c-api/bytes.rst:67 +#: ../../c-api/bytes.rst:74 msgid "The literal % character." msgstr "" -#: ../../c-api/bytes.rst:69 +#: ../../c-api/bytes.rst:76 msgid "``%c``" msgstr "" -#: ../../c-api/bytes.rst:69 ../../c-api/bytes.rst:72 ../../c-api/bytes.rst:90 -#: ../../c-api/bytes.rst:93 +#: ../../c-api/bytes.rst:76 ../../c-api/bytes.rst:79 ../../c-api/bytes.rst:97 +#: ../../c-api/bytes.rst:100 msgid "int" msgstr "" -#: ../../c-api/bytes.rst:69 +#: ../../c-api/bytes.rst:76 msgid "A single byte, represented as a C int." msgstr "" -#: ../../c-api/bytes.rst:72 +#: ../../c-api/bytes.rst:79 msgid "``%d``" msgstr "" -#: ../../c-api/bytes.rst:72 +#: ../../c-api/bytes.rst:79 msgid "Equivalent to ``printf(\"%d\")``. [1]_" msgstr "" -#: ../../c-api/bytes.rst:75 +#: ../../c-api/bytes.rst:82 msgid "``%u``" msgstr "" -#: ../../c-api/bytes.rst:75 +#: ../../c-api/bytes.rst:82 msgid "unsigned int" msgstr "" -#: ../../c-api/bytes.rst:75 +#: ../../c-api/bytes.rst:82 msgid "Equivalent to ``printf(\"%u\")``. [1]_" msgstr "" -#: ../../c-api/bytes.rst:78 +#: ../../c-api/bytes.rst:85 msgid "``%ld``" msgstr "" -#: ../../c-api/bytes.rst:78 +#: ../../c-api/bytes.rst:85 msgid "long" msgstr "" -#: ../../c-api/bytes.rst:78 +#: ../../c-api/bytes.rst:85 msgid "Equivalent to ``printf(\"%ld\")``. [1]_" msgstr "" -#: ../../c-api/bytes.rst:81 +#: ../../c-api/bytes.rst:88 msgid "``%lu``" msgstr "" -#: ../../c-api/bytes.rst:81 +#: ../../c-api/bytes.rst:88 msgid "unsigned long" msgstr "" -#: ../../c-api/bytes.rst:81 +#: ../../c-api/bytes.rst:88 msgid "Equivalent to ``printf(\"%lu\")``. [1]_" msgstr "" -#: ../../c-api/bytes.rst:84 +#: ../../c-api/bytes.rst:91 msgid "``%zd``" msgstr "" -#: ../../c-api/bytes.rst:84 +#: ../../c-api/bytes.rst:91 msgid ":c:type:` Py_ssize_t`" msgstr "" -#: ../../c-api/bytes.rst:84 +#: ../../c-api/bytes.rst:91 msgid "Equivalent to ``printf(\"%zd\")``. [1]_" msgstr "" -#: ../../c-api/bytes.rst:87 +#: ../../c-api/bytes.rst:94 msgid "``%zu``" msgstr "" -#: ../../c-api/bytes.rst:87 +#: ../../c-api/bytes.rst:94 msgid "size_t" msgstr "" -#: ../../c-api/bytes.rst:87 +#: ../../c-api/bytes.rst:94 msgid "Equivalent to ``printf(\"%zu\")``. [1]_" msgstr "" -#: ../../c-api/bytes.rst:90 +#: ../../c-api/bytes.rst:97 msgid "``%i``" msgstr "" -#: ../../c-api/bytes.rst:90 +#: ../../c-api/bytes.rst:97 msgid "Equivalent to ``printf(\"%i\")``. [1]_" msgstr "" -#: ../../c-api/bytes.rst:93 +#: ../../c-api/bytes.rst:100 msgid "``%x``" msgstr "" -#: ../../c-api/bytes.rst:93 +#: ../../c-api/bytes.rst:100 msgid "Equivalent to ``printf(\"%x\")``. [1]_" msgstr "" -#: ../../c-api/bytes.rst:96 +#: ../../c-api/bytes.rst:103 msgid "``%s``" msgstr "" -#: ../../c-api/bytes.rst:96 +#: ../../c-api/bytes.rst:103 msgid "const char\\*" msgstr "" -#: ../../c-api/bytes.rst:96 +#: ../../c-api/bytes.rst:103 msgid "A null-terminated C character array." msgstr "" -#: ../../c-api/bytes.rst:99 +#: ../../c-api/bytes.rst:106 msgid "``%p``" msgstr "" -#: ../../c-api/bytes.rst:99 +#: ../../c-api/bytes.rst:106 msgid "const void\\*" msgstr "" -#: ../../c-api/bytes.rst:99 +#: ../../c-api/bytes.rst:106 msgid "" "The hex representation of a C pointer. Mostly equivalent to " "``printf(\"%p\")`` except that it is guaranteed to start with the literal " "``0x`` regardless of what the platform's ``printf`` yields." msgstr "" -#: ../../c-api/bytes.rst:108 +#: ../../c-api/bytes.rst:115 msgid "" "An unrecognized format character causes all the rest of the format string to " "be copied as-is to the result object, and any extra arguments discarded." msgstr "" -#: ../../c-api/bytes.rst:111 +#: ../../c-api/bytes.rst:118 msgid "" "For integer specifiers (d, u, ld, lu, zd, zu, i, x): the 0-conversion flag " "has effect even when a precision is given." msgstr "" -#: ../../c-api/bytes.rst:117 +#: ../../c-api/bytes.rst:124 msgid "" "Identical to :c:func:`PyBytes_FromFormat` except that it takes exactly two " "arguments." msgstr "" -#: ../../c-api/bytes.rst:123 +#: ../../c-api/bytes.rst:130 msgid "" "Return the bytes representation of object *o* that implements the buffer " "protocol." msgstr "" -#: ../../c-api/bytes.rst:127 +#: ../../c-api/bytes.rst:134 msgid "" "If the object implements the buffer protocol, then the buffer must not be " "mutated while the bytes object is being created." msgstr "" -#: ../../c-api/bytes.rst:133 +#: ../../c-api/bytes.rst:140 msgid "Return the length of the bytes in bytes object *o*." msgstr "" -#: ../../c-api/bytes.rst:138 +#: ../../c-api/bytes.rst:145 msgid "Similar to :c:func:`PyBytes_Size`, but without error checking." msgstr "" -#: ../../c-api/bytes.rst:143 +#: ../../c-api/bytes.rst:150 msgid "" "Return a pointer to the contents of *o*. The pointer refers to the internal " "buffer of *o*, which consists of ``len(o) + 1`` bytes. The last byte in the " @@ -270,24 +278,24 @@ msgid "" "`PyBytes_AsString` returns ``NULL`` and raises :exc:`TypeError`." msgstr "" -#: ../../c-api/bytes.rst:155 +#: ../../c-api/bytes.rst:162 msgid "Similar to :c:func:`PyBytes_AsString`, but without error checking." msgstr "" -#: ../../c-api/bytes.rst:160 +#: ../../c-api/bytes.rst:167 msgid "" "Return the null-terminated contents of the object *obj* through the output " "variables *buffer* and *length*. Returns ``0`` on success." msgstr "" -#: ../../c-api/bytes.rst:164 +#: ../../c-api/bytes.rst:171 msgid "" "If *length* is ``NULL``, the bytes object may not contain embedded null " "bytes; if it does, the function returns ``-1`` and a :exc:`ValueError` is " "raised." msgstr "" -#: ../../c-api/bytes.rst:168 +#: ../../c-api/bytes.rst:175 msgid "" "The buffer refers to an internal buffer of *obj*, which includes an " "additional null byte at the end (not counted in *length*). The data must " @@ -297,13 +305,13 @@ msgid "" "returns ``-1`` and raises :exc:`TypeError`." msgstr "" -#: ../../c-api/bytes.rst:175 +#: ../../c-api/bytes.rst:182 msgid "" "Previously, :exc:`TypeError` was raised when embedded null bytes were " "encountered in the bytes object." msgstr "" -#: ../../c-api/bytes.rst:182 +#: ../../c-api/bytes.rst:189 msgid "" "Create a new bytes object in *\\*bytes* containing the contents of *newpart* " "appended to *bytes*; the caller will own the new reference. The reference to " @@ -313,49 +321,49 @@ msgid "" "appropriate exception will be set." msgstr "" -#: ../../c-api/bytes.rst:190 ../../c-api/bytes.rst:200 +#: ../../c-api/bytes.rst:197 ../../c-api/bytes.rst:207 msgid "" "If *newpart* implements the buffer protocol, then the buffer must not be " "mutated while the new bytes object is being created." msgstr "" -#: ../../c-api/bytes.rst:195 +#: ../../c-api/bytes.rst:202 msgid "" "Create a new bytes object in *\\*bytes* containing the contents of *newpart* " "appended to *bytes*. This version releases the :term:`strong reference` to " "*newpart* (i.e. decrements its reference count)." msgstr "" -#: ../../c-api/bytes.rst:206 +#: ../../c-api/bytes.rst:213 msgid "Similar to ``sep.join(iterable)`` in Python." msgstr "" -#: ../../c-api/bytes.rst:208 +#: ../../c-api/bytes.rst:215 msgid "" "*sep* must be Python :class:`bytes` object. (Note that :c:func:" "`PyUnicode_Join` accepts ``NULL`` separator and treats it as a space, " "whereas :c:func:`PyBytes_Join` doesn't accept ``NULL`` separator.)" msgstr "" -#: ../../c-api/bytes.rst:213 +#: ../../c-api/bytes.rst:220 msgid "" "*iterable* must be an iterable object yielding objects that implement the :" "ref:`buffer protocol `." msgstr "" -#: ../../c-api/bytes.rst:216 +#: ../../c-api/bytes.rst:223 msgid "" "On success, return a new :class:`bytes` object. On error, set an exception " "and return ``NULL``." msgstr "" -#: ../../c-api/bytes.rst:222 +#: ../../c-api/bytes.rst:229 msgid "" "If *iterable* objects implement the buffer protocol, then the buffers must " "not be mutated while the new bytes object is being created." msgstr "" -#: ../../c-api/bytes.rst:227 +#: ../../c-api/bytes.rst:234 msgid "" "Resize a bytes object. *newsize* will be the new length of the bytes object. " "You can think of it as creating a new bytes object and destroying the old " @@ -367,19 +375,19 @@ msgid "" "``NULL``, :exc:`MemoryError` is set, and ``-1`` is returned." msgstr "" -#: ../../c-api/bytes.rst:241 +#: ../../c-api/bytes.rst:248 msgid "" "Get the string representation of *bytes*. This function is currently used to " "implement :meth:`!bytes.__repr__` in Python." msgstr "" -#: ../../c-api/bytes.rst:244 +#: ../../c-api/bytes.rst:251 msgid "" "This function does not do type checking; it is undefined behavior to pass " "*bytes* as a non-bytes object or ``NULL``." msgstr "" -#: ../../c-api/bytes.rst:247 +#: ../../c-api/bytes.rst:254 msgid "" "If *smartquotes* is true, the representation will use a double-quoted string " "instead of single-quoted string when single-quotes are present in *bytes*. " @@ -388,40 +396,40 @@ msgid "" "is false." msgstr "" -#: ../../c-api/bytes.rst:253 +#: ../../c-api/bytes.rst:260 msgid "" "On success, this function returns a :term:`strong reference` to a :class:" "`str` object containing the representation. On failure, this returns " "``NULL`` with an exception set." msgstr "" -#: ../../c-api/bytes.rst:260 +#: ../../c-api/bytes.rst:267 msgid "" "Unescape a backslash-escaped string *s*. *s* must not be ``NULL``. *len* " "must be the size of *s*." msgstr "" -#: ../../c-api/bytes.rst:263 +#: ../../c-api/bytes.rst:270 msgid "" "*errors* must be one of ``\"strict\"``, ``\"replace\"``, or ``\"ignore\"``. " "If *errors* is ``NULL``, then ``\"strict\"`` is used by default." msgstr "" -#: ../../c-api/bytes.rst:266 +#: ../../c-api/bytes.rst:273 msgid "" "On success, this function returns a :term:`strong reference` to a Python :" "class:`bytes` object containing the unescaped string. On failure, this " "function returns ``NULL`` with an exception set." msgstr "" -#: ../../c-api/bytes.rst:270 +#: ../../c-api/bytes.rst:277 msgid "*unicode* and *recode_encoding* are now unused." msgstr "" -#: ../../c-api/bytes.rst:11 +#: ../../c-api/bytes.rst:18 msgid "object" msgstr "" -#: ../../c-api/bytes.rst:11 +#: ../../c-api/bytes.rst:18 msgid "bytes" msgstr "" diff --git a/c-api/curses.po b/c-api/curses.po new file mode 100644 index 00000000..8742cf88 --- /dev/null +++ b/c-api/curses.po @@ -0,0 +1,185 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../c-api/curses.rst:4 +msgid "Curses C API" +msgstr "" + +#: ../../c-api/curses.rst:6 +msgid "" +":mod:`curses` exposes a small C interface for extension modules. Consumers " +"must include the header file :file:`py_curses.h` (which is not included by " +"default by :file:`Python.h`) and :c:func:`import_curses` must be invoked, " +"usually as part of the module initialisation function, to populate :c:var:" +"`PyCurses_API`." +msgstr "" + +#: ../../c-api/curses.rst:14 +msgid "" +"Neither the C API nor the pure Python :mod:`curses` module are compatible " +"with subinterpreters." +msgstr "" + +#: ../../c-api/curses.rst:19 +msgid "" +"Import the curses C API. The macro does not need a semi-colon to be called." +msgstr "" + +#: ../../c-api/curses.rst:21 +msgid "On success, populate the :c:var:`PyCurses_API` pointer." +msgstr "" + +#: ../../c-api/curses.rst:23 +msgid "" +"On failure, set :c:var:`PyCurses_API` to NULL and set an exception. The " +"caller must check if an error occurred via :c:func:`PyErr_Occurred`:" +msgstr "" + +#: ../../c-api/curses.rst:26 +msgid "" +"import_curses(); // semi-colon is optional but recommended\n" +"if (PyErr_Occurred()) { /* cleanup */ }" +msgstr "" + +#: ../../c-api/curses.rst:34 +msgid "" +"Dynamically allocated object containing the curses C API. This variable is " +"only available once :c:macro:`import_curses` succeeds." +msgstr "" + +#: ../../c-api/curses.rst:37 +msgid "``PyCurses_API[0]`` corresponds to :c:data:`PyCursesWindow_Type`." +msgstr "" + +#: ../../c-api/curses.rst:39 +msgid "" +"``PyCurses_API[1]``, ``PyCurses_API[2]``, and ``PyCurses_API[3]`` are " +"pointers to predicate functions of type ``int (*)(void)``." +msgstr "" + +#: ../../c-api/curses.rst:42 +msgid "" +"When called, these predicates return whether :func:`curses.setupterm`, :func:" +"`curses.initscr`, and :func:`curses.start_color` have been called " +"respectively." +msgstr "" + +#: ../../c-api/curses.rst:46 +msgid "" +"See also the convenience macros :c:macro:`PyCursesSetupTermCalled`, :c:macro:" +"`PyCursesInitialised`, and :c:macro:`PyCursesInitialisedColor`." +msgstr "" + +#: ../../c-api/curses.rst:51 +msgid "" +"The number of entries in this structure is subject to changes. Consider " +"using :c:macro:`PyCurses_API_pointers` to check if new fields are available " +"or not." +msgstr "" + +#: ../../c-api/curses.rst:58 +msgid "" +"The number of accessible fields (``4``) in :c:var:`PyCurses_API`. This " +"number is incremented whenever new fields are added." +msgstr "" + +#: ../../c-api/curses.rst:64 +msgid "" +"The :ref:`heap type ` corresponding to :class:`curses.window`." +msgstr "" + +#: ../../c-api/curses.rst:69 +msgid "" +"Return true if *op* is a :class:`curses.window` instance, false otherwise." +msgstr "" + +#: ../../c-api/curses.rst:72 +msgid "" +"The following macros are convenience macros expanding into C statements. In " +"particular, they can only be used as ``macro;`` or ``macro``, but not " +"``macro()`` or ``macro();``." +msgstr "" + +#: ../../c-api/curses.rst:78 +msgid "Macro checking if :func:`curses.setupterm` has been called." +msgstr "" + +#: ../../c-api/curses.rst:80 ../../c-api/curses.rst:97 +#: ../../c-api/curses.rst:114 +msgid "The macro expansion is roughly equivalent to:" +msgstr "" + +#: ../../c-api/curses.rst:82 +msgid "" +"{\n" +" typedef int (*predicate_t)(void);\n" +" predicate_t was_setupterm_called = (predicate_t)PyCurses_API[1];\n" +" if (!was_setupterm_called()) {\n" +" return NULL;\n" +" }\n" +"}" +msgstr "" + +#: ../../c-api/curses.rst:95 +msgid "Macro checking if :func:`curses.initscr` has been called." +msgstr "" + +#: ../../c-api/curses.rst:99 +msgid "" +"{\n" +" typedef int (*predicate_t)(void);\n" +" predicate_t was_initscr_called = (predicate_t)PyCurses_API[2];\n" +" if (!was_initscr_called()) {\n" +" return NULL;\n" +" }\n" +"}" +msgstr "" + +#: ../../c-api/curses.rst:112 +msgid "Macro checking if :func:`curses.start_color` has been called." +msgstr "" + +#: ../../c-api/curses.rst:116 +msgid "" +"{\n" +" typedef int (*predicate_t)(void);\n" +" predicate_t was_start_color_called = (predicate_t)PyCurses_API[3];\n" +" if (!was_start_color_called()) {\n" +" return NULL;\n" +" }\n" +"}" +msgstr "" + +#: ../../c-api/curses.rst:128 +msgid "Internal data" +msgstr "" + +#: ../../c-api/curses.rst:130 +msgid "" +"The following objects are exposed by the C API but should be considered " +"internal-only." +msgstr "" + +#: ../../c-api/curses.rst:135 +msgid "Name of the curses capsule to pass to :c:func:`PyCapsule_Import`." +msgstr "" + +#: ../../c-api/curses.rst:137 +msgid "Internal usage only. Use :c:macro:`import_curses` instead." +msgstr "" diff --git a/c-api/interp-lifecycle.po b/c-api/interp-lifecycle.po new file mode 100644 index 00000000..193d84cb --- /dev/null +++ b/c-api/interp-lifecycle.po @@ -0,0 +1,1266 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../c-api/interp-lifecycle.rst:6 +msgid "Interpreter initialization and finalization" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:8 +msgid "" +"See :ref:`Python Initialization Configuration ` for details on " +"how to configure the interpreter prior to initialization." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:14 +msgid "Before Python initialization" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:16 +msgid "" +"In an application embedding Python, the :c:func:`Py_Initialize` function " +"must be called before using any other Python/C API functions; with the " +"exception of a few functions and the :ref:`global configuration variables " +"`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:21 +msgid "" +"The following functions can be safely called before Python is initialized:" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:23 +msgid "Functions that initialize the interpreter:" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:25 +msgid ":c:func:`Py_Initialize`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:26 +msgid ":c:func:`Py_InitializeEx`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:27 +msgid ":c:func:`Py_InitializeFromConfig`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:28 +msgid ":c:func:`Py_BytesMain`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:29 +msgid ":c:func:`Py_Main`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:30 +msgid "the runtime pre-initialization functions covered in :ref:`init-config`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:32 +msgid "Configuration functions:" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:34 +msgid ":c:func:`PyImport_AppendInittab`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:35 +msgid ":c:func:`PyImport_ExtendInittab`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:36 +msgid ":c:func:`!PyInitFrozenExtensions`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:37 +msgid ":c:func:`PyMem_SetAllocator`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:38 +msgid ":c:func:`PyMem_SetupDebugHooks`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:39 +msgid ":c:func:`PyObject_SetArenaAllocator`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:40 +msgid ":c:func:`Py_SetProgramName`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:41 +msgid ":c:func:`Py_SetPythonHome`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:42 +msgid "the configuration functions covered in :ref:`init-config`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:44 +msgid "Informative functions:" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:46 ../../c-api/interp-lifecycle.rst:54 +msgid ":c:func:`Py_IsInitialized`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:47 +msgid ":c:func:`PyMem_GetAllocator`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:48 +msgid ":c:func:`PyObject_GetArenaAllocator`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:49 +msgid ":c:func:`Py_GetBuildInfo`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:50 +msgid ":c:func:`Py_GetCompiler`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:51 +msgid ":c:func:`Py_GetCopyright`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:52 +msgid ":c:func:`Py_GetPlatform`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:53 +msgid ":c:func:`Py_GetVersion`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:56 +msgid "Utilities:" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:58 +msgid ":c:func:`Py_DecodeLocale`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:59 +msgid "" +"the status reporting and utility functions covered in :ref:`init-config`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:61 +msgid "Memory allocators:" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:63 +msgid ":c:func:`PyMem_RawMalloc`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:64 +msgid ":c:func:`PyMem_RawRealloc`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:65 +msgid ":c:func:`PyMem_RawCalloc`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:66 +msgid ":c:func:`PyMem_RawFree`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:68 +msgid "Synchronization:" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:70 +msgid ":c:func:`PyMutex_Lock`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:71 +msgid ":c:func:`PyMutex_Unlock`" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:75 +msgid "" +"Despite their apparent similarity to some of the functions listed above, the " +"following functions **should not be called** before the interpreter has been " +"initialized: :c:func:`Py_EncodeLocale`, :c:func:`PyEval_InitThreads`, and :c:" +"func:`Py_RunMain`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:84 +msgid "Global configuration variables" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:86 +msgid "" +"Python has variables for the global configuration to control different " +"features and options. By default, these flags are controlled by :ref:" +"`command line options `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:90 +msgid "" +"When a flag is set by an option, the value of the flag is the number of " +"times that the option was set. For example, ``-b`` sets :c:data:" +"`Py_BytesWarningFlag` to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to " +"2." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:97 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"bytes_warning` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:101 +msgid "" +"Issue a warning when comparing :class:`bytes` or :class:`bytearray` with :" +"class:`str` or :class:`bytes` with :class:`int`. Issue an error if greater " +"or equal to ``2``." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:105 +msgid "Set by the :option:`-b` option." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:112 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"parser_debug` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:116 +msgid "" +"Turn on parser debugging output (for expert only, depending on compilation " +"options)." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:119 +msgid "" +"Set by the :option:`-d` option and the :envvar:`PYTHONDEBUG` environment " +"variable." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:127 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"write_bytecode` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:131 +msgid "" +"If set to non-zero, Python won't try to write ``.pyc`` files on the import " +"of source modules." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:134 +msgid "" +"Set by the :option:`-B` option and the :envvar:`PYTHONDONTWRITEBYTECODE` " +"environment variable." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:142 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"pathconfig_warnings` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:146 +msgid "Private flag used by ``_freeze_module`` and ``frozenmain`` programs." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:153 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"hash_seed` and :c:member:`PyConfig.use_hash_seed` should be used instead, " +"see :ref:`Python Initialization Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:158 +msgid "" +"Set to ``1`` if the :envvar:`PYTHONHASHSEED` environment variable is set to " +"a non-empty string." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:161 +msgid "" +"If the flag is non-zero, read the :envvar:`PYTHONHASHSEED` environment " +"variable to initialize the secret hash seed." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:169 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"use_environment` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:173 +msgid "" +"Ignore all :envvar:`!PYTHON*` environment variables, e.g. :envvar:" +"`PYTHONPATH` and :envvar:`PYTHONHOME`, that might be set." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:176 +msgid "Set by the :option:`-E` and :option:`-I` options." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:183 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"inspect` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:187 +msgid "" +"When a script is passed as first argument or the :option:`-c` option is " +"used, enter interactive mode after executing the script or the command, even " +"when :data:`sys.stdin` does not appear to be a terminal." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:191 +msgid "" +"Set by the :option:`-i` option and the :envvar:`PYTHONINSPECT` environment " +"variable." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:199 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"interactive` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:203 +msgid "Set by the :option:`-i` option." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:210 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"isolated` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:214 +msgid "" +"Run Python in isolated mode. In isolated mode :data:`sys.path` contains " +"neither the script's directory nor the user's site-packages directory." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:217 +msgid "Set by the :option:`-I` option." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:226 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyPreConfig." +"legacy_windows_fs_encoding` should be used instead, see :ref:`Python " +"Initialization Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:230 +msgid "" +"If the flag is non-zero, use the ``mbcs`` encoding with ``replace`` error " +"handler, instead of the UTF-8 encoding with ``surrogatepass`` error handler, " +"for the :term:`filesystem encoding and error handler`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:234 +msgid "" +"Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` environment " +"variable is set to a non-empty string." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:237 +msgid "See :pep:`529` for more details." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:239 ../../c-api/interp-lifecycle.rst:258 +msgid "Availability" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:246 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"legacy_windows_stdio` should be used instead, see :ref:`Python " +"Initialization Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:250 +msgid "" +"If the flag is non-zero, use :class:`io.FileIO` instead of :class:`!io." +"_WindowsConsoleIO` for :mod:`sys` standard streams." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:253 +msgid "" +"Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSSTDIO` environment variable " +"is set to a non-empty string." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:256 +msgid "See :pep:`528` for more details." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:265 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"site_import` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:269 +msgid "" +"Disable the import of the module :mod:`site` and the site-dependent " +"manipulations of :data:`sys.path` that it entails. Also disable these " +"manipulations if :mod:`site` is explicitly imported later (call :func:`site." +"main` if you want them to be triggered)." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:274 +msgid "Set by the :option:`-S` option." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:281 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"user_site_directory` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:285 +msgid "" +"Don't add the :data:`user site-packages directory ` to :data:" +"`sys.path`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:288 +msgid "" +"Set by the :option:`-s` and :option:`-I` options, and the :envvar:" +"`PYTHONNOUSERSITE` environment variable." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:296 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"optimization_level` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:300 +msgid "" +"Set by the :option:`-O` option and the :envvar:`PYTHONOPTIMIZE` environment " +"variable." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:308 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"quiet` should be used instead, see :ref:`Python Initialization Configuration " +"`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:312 +msgid "" +"Don't display the copyright and version messages even in interactive mode." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:314 +msgid "Set by the :option:`-q` option." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:323 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"buffered_stdio` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:327 +msgid "Force the stdout and stderr streams to be unbuffered." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:329 +msgid "" +"Set by the :option:`-u` option and the :envvar:`PYTHONUNBUFFERED` " +"environment variable." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:337 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"verbose` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:341 +msgid "" +"Print a message each time a module is initialized, showing the place " +"(filename or built-in module) from which it is loaded. If greater or equal " +"to ``2``, print a message for each file that is checked for when searching " +"for a module. Also provides information on module cleanup at exit." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:346 +msgid "" +"Set by the :option:`-v` option and the :envvar:`PYTHONVERBOSE` environment " +"variable." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:353 +msgid "Initializing and finalizing the interpreter" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:367 +msgid "" +"Initialize the Python interpreter. In an application embedding Python, this " +"should be called before using any other Python/C API functions; see :ref:" +"`Before Python Initialization ` for the few exceptions." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:371 +msgid "" +"This initializes the table of loaded modules (``sys.modules``), and creates " +"the fundamental modules :mod:`builtins`, :mod:`__main__` and :mod:`sys`. It " +"also initializes the module search path (``sys.path``). It does not set " +"``sys.argv``; use the :ref:`Python Initialization Configuration ` API for that. This is a no-op when called for a second time " +"(without calling :c:func:`Py_FinalizeEx` first). There is no return value; " +"it is a fatal error if the initialization fails." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:379 ../../c-api/interp-lifecycle.rst:393 +msgid "" +"Use :c:func:`Py_InitializeFromConfig` to customize the :ref:`Python " +"Initialization Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:383 +msgid "" +"On Windows, changes the console mode from ``O_TEXT`` to ``O_BINARY``, which " +"will also affect non-Python uses of the console using the C Runtime." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:389 +msgid "" +"This function works like :c:func:`Py_Initialize` if *initsigs* is ``1``. If " +"*initsigs* is ``0``, it skips initialization registration of signal " +"handlers, which may be useful when CPython is embedded as part of a larger " +"application." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:399 +msgid "" +"Initialize Python from *config* configuration, as described in :ref:`init-" +"from-config`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:402 +msgid "" +"See the :ref:`init-config` section for details on pre-initializing the " +"interpreter, populating the runtime configuration structure, and querying " +"the returned status structure." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:409 +msgid "" +"Return true (nonzero) when the Python interpreter has been initialized, " +"false (zero) if not. After :c:func:`Py_FinalizeEx` is called, this returns " +"false until :c:func:`Py_Initialize` is called again." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:416 +msgid "" +"Return true (non-zero) if the main Python interpreter is :term:`shutting " +"down `. Return false (zero) otherwise." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:424 +msgid "" +"Undo all initializations made by :c:func:`Py_Initialize` and subsequent use " +"of Python/C API functions, and destroy all sub-interpreters (see :c:func:" +"`Py_NewInterpreter` below) that were created and not yet destroyed since the " +"last call to :c:func:`Py_Initialize`. This is a no-op when called for a " +"second time (without calling :c:func:`Py_Initialize` again first)." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:430 +msgid "" +"Since this is the reverse of :c:func:`Py_Initialize`, it should be called in " +"the same thread with the same interpreter active. That means the main " +"thread and the main interpreter. This should never be called while :c:func:" +"`Py_RunMain` is running." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:435 +msgid "" +"Normally the return value is ``0``. If there were errors during finalization " +"(flushing buffered data), ``-1`` is returned." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:439 +msgid "" +"Note that Python will do a best effort at freeing all memory allocated by " +"the Python interpreter. Therefore, any C-Extension should make sure to " +"correctly clean up all of the previously allocated PyObjects before using " +"them in subsequent calls to :c:func:`Py_Initialize`. Otherwise it could " +"introduce vulnerabilities and incorrect behavior." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:445 +msgid "" +"This function is provided for a number of reasons. An embedding application " +"might want to restart Python without having to restart the application " +"itself. An application that has loaded the Python interpreter from a " +"dynamically loadable library (or DLL) might want to free all memory " +"allocated by Python before unloading the DLL. During a hunt for memory leaks " +"in an application a developer might want to free all memory allocated by " +"Python before exiting from the application." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:453 +msgid "" +"**Bugs and caveats:** The destruction of modules and objects in modules is " +"done in random order; this may cause destructors (:meth:`~object.__del__` " +"methods) to fail when they depend on other objects (even functions) or " +"modules. Dynamically loaded extension modules loaded by Python are not " +"unloaded. Small amounts of memory allocated by the Python interpreter may " +"not be freed (if you find a leak, please report it). Memory tied up in " +"circular references between objects is not freed. Interned strings will all " +"be deallocated regardless of their reference count. Some memory allocated by " +"extension modules may not be freed. Some extensions may not work properly " +"if their initialization routine is called more than once; this can happen if " +"an application calls :c:func:`Py_Initialize` and :c:func:`Py_FinalizeEx` " +"more than once. :c:func:`Py_FinalizeEx` must not be called recursively from " +"within itself. Therefore, it must not be called by any code that may be run " +"as part of the interpreter shutdown process, such as :py:mod:`atexit` " +"handlers, object finalizers, or any code that may be run while flushing the " +"stdout and stderr files." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:469 +msgid "" +"Raises an :ref:`auditing event ` ``cpython." +"_PySys_ClearAuditHooks`` with no arguments." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:476 +msgid "" +"This is a backwards-compatible version of :c:func:`Py_FinalizeEx` that " +"disregards the return value." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:482 +msgid "" +"Similar to :c:func:`Py_Main` but *argv* is an array of bytes strings, " +"allowing the calling application to delegate the text decoding step to the " +"CPython runtime." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:491 +msgid "" +"The main program for the standard interpreter, encapsulating a full " +"initialization/finalization cycle, as well as additional behaviour to " +"implement reading configurations settings from the environment and command " +"line, and then executing ``__main__`` in accordance with :ref:`using-on-" +"cmdline`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:497 +msgid "" +"This is made available for programs which wish to support the full CPython " +"command line interface, rather than just embedding a Python runtime in a " +"larger application." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:501 +msgid "" +"The *argc* and *argv* parameters are similar to those which are passed to a " +"C program's :c:func:`main` function, except that the *argv* entries are " +"first converted to ``wchar_t`` using :c:func:`Py_DecodeLocale`. It is also " +"important to note that the argument list entries may be modified to point to " +"strings other than those passed in (however, the contents of the strings " +"pointed to by the argument list are not modified)." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:508 +msgid "" +"The return value is ``2`` if the argument list does not represent a valid " +"Python command line, and otherwise the same as :c:func:`Py_RunMain`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:511 +msgid "" +"In terms of the CPython runtime configuration APIs documented in the :ref:" +"`runtime configuration ` section (and without accounting for " +"error handling), ``Py_Main`` is approximately equivalent to::" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:515 +msgid "" +"PyConfig config;\n" +"PyConfig_InitPythonConfig(&config);\n" +"PyConfig_SetArgv(&config, argc, argv);\n" +"Py_InitializeFromConfig(&config);\n" +"PyConfig_Clear(&config);\n" +"\n" +"Py_RunMain();" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:523 +msgid "" +"In normal usage, an embedding application will call this function *instead* " +"of calling :c:func:`Py_Initialize`, :c:func:`Py_InitializeEx` or :c:func:" +"`Py_InitializeFromConfig` directly, and all settings will be applied as " +"described elsewhere in this documentation. If this function is instead " +"called *after* a preceding runtime initialization API call, then exactly " +"which environmental and command line configuration settings will be updated " +"is version dependent (as it depends on which settings correctly support " +"being modified after they have already been set once when the runtime was " +"first initialized)." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:536 +msgid "Executes the main module in a fully configured CPython runtime." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:538 +msgid "" +"Executes the command (:c:member:`PyConfig.run_command`), the script (:c:" +"member:`PyConfig.run_filename`) or the module (:c:member:`PyConfig." +"run_module`) specified on the command line or in the configuration. If none " +"of these values are set, runs the interactive Python prompt (REPL) using the " +"``__main__`` module's global namespace." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:544 +msgid "" +"If :c:member:`PyConfig.inspect` is not set (the default), the return value " +"will be ``0`` if the interpreter exits normally (that is, without raising an " +"exception), the exit status of an unhandled :exc:`SystemExit`, or ``1`` for " +"any other unhandled exception." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:549 +msgid "" +"If :c:member:`PyConfig.inspect` is set (such as when the :option:`-i` option " +"is used), rather than returning when the interpreter exits, execution will " +"instead resume in an interactive Python prompt (REPL) using the ``__main__`` " +"module's global namespace. If the interpreter exited with an exception, it " +"is immediately raised in the REPL session. The function return value is then " +"determined by the way the *REPL session* terminates: ``0``, ``1``, or the " +"status of a :exc:`SystemExit`, as specified above." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:557 +msgid "" +"This function always finalizes the Python interpreter before it returns." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:559 +msgid "" +"See :ref:`Python Configuration ` for an example of a " +"customized Python that always runs in isolated mode using :c:func:" +"`Py_RunMain`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:565 +msgid "" +"Register an :mod:`atexit` callback for the target interpreter *interp*. This " +"is similar to :c:func:`Py_AtExit`, but takes an explicit interpreter and " +"data pointer for the callback." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:569 +msgid "There must be an :term:`attached thread state` for *interp*." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:577 +msgid "Cautions regarding runtime finalization" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:579 +msgid "" +"In the late stage of :term:`interpreter shutdown`, after attempting to wait " +"for non-daemon threads to exit (though this can be interrupted by :class:" +"`KeyboardInterrupt`) and running the :mod:`atexit` functions, the runtime is " +"marked as *finalizing*: :c:func:`Py_IsFinalizing` and :func:`sys." +"is_finalizing` return true. At this point, only the *finalization thread* " +"that initiated finalization (typically the main thread) is allowed to " +"acquire the :term:`GIL`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:587 +msgid "" +"If any thread, other than the finalization thread, attempts to attach a :" +"term:`thread state` during finalization, either explicitly or implicitly, " +"the thread enters **a permanently blocked state** where it remains until the " +"program exits. In most cases this is harmless, but this can result in " +"deadlock if a later stage of finalization attempts to acquire a lock owned " +"by the blocked thread, or otherwise waits on the blocked thread." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:594 +msgid "" +"Gross? Yes. This prevents random crashes and/or unexpectedly skipped C++ " +"finalizations further up the call stack when such threads were forcibly " +"exited here in CPython 3.13 and earlier. The CPython runtime :term:`thread " +"state` C APIs have never had any error reporting or handling expectations " +"at :term:`thread state` attachment time that would've allowed for graceful " +"exit from this situation. Changing that would require new stable C APIs and " +"rewriting the majority of C code in the CPython ecosystem to use those with " +"error handling." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:604 +msgid "Process-wide parameters" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:613 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"program_name` should be used instead, see :ref:`Python Initialization " +"Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:617 +msgid "" +"This function should be called before :c:func:`Py_Initialize` is called for " +"the first time, if it is called at all. It tells the interpreter the value " +"of the ``argv[0]`` argument to the :c:func:`main` function of the program " +"(converted to wide characters). This is used by :c:func:`Py_GetPath` and " +"some other functions below to find the Python run-time libraries relative to " +"the interpreter executable. The default value is ``'python'``. The " +"argument should point to a zero-terminated wide character string in static " +"storage whose contents will not change for the duration of the program's " +"execution. No code in the Python interpreter will change the contents of " +"this storage." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:628 ../../c-api/interp-lifecycle.rst:877 +#: ../../c-api/interp-lifecycle.rst:910 ../../c-api/interp-lifecycle.rst:936 +msgid "" +"Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a :c:expr:" +"`wchar_t*` string." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:636 +msgid "" +"Return the program name set with :c:member:`PyConfig.program_name`, or the " +"default. The returned string points into static storage; the caller should " +"not modify its value." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:640 ../../c-api/interp-lifecycle.rst:663 +#: ../../c-api/interp-lifecycle.rst:711 ../../c-api/interp-lifecycle.rst:736 +#: ../../c-api/interp-lifecycle.rst:763 ../../c-api/interp-lifecycle.rst:948 +msgid "" +"This function should not be called before :c:func:`Py_Initialize`, otherwise " +"it returns ``NULL``." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:643 ../../c-api/interp-lifecycle.rst:666 +#: ../../c-api/interp-lifecycle.rst:714 ../../c-api/interp-lifecycle.rst:739 +#: ../../c-api/interp-lifecycle.rst:768 ../../c-api/interp-lifecycle.rst:951 +msgid "It now returns ``NULL`` if called before :c:func:`Py_Initialize`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:646 ../../c-api/interp-lifecycle.rst:742 +msgid "" +"Use :c:func:`PyConfig_Get(\"executable\") ` (:data:`sys." +"executable`) instead." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:653 +msgid "" +"Return the *prefix* for installed platform-independent files. This is " +"derived through a number of complicated rules from the program name set " +"with :c:member:`PyConfig.program_name` and some environment variables; for " +"example, if the program name is ``'/usr/local/bin/python'``, the prefix is " +"``'/usr/local'``. The returned string points into static storage; the caller " +"should not modify its value. This corresponds to the :makevar:`prefix` " +"variable in the top-level :file:`Makefile` and the :option:`--prefix` " +"argument to the :program:`configure` script at build time. The value is " +"available to Python code as ``sys.base_prefix``. It is only useful on Unix. " +"See also the next function." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:669 +msgid "" +"Use :c:func:`PyConfig_Get(\"base_prefix\") ` (:data:`sys." +"base_prefix`) instead. Use :c:func:`PyConfig_Get(\"prefix\") ` " +"(:data:`sys.prefix`) if :ref:`virtual environments ` need to be " +"handled." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:678 +msgid "" +"Return the *exec-prefix* for installed platform-*dependent* files. This is " +"derived through a number of complicated rules from the program name set " +"with :c:member:`PyConfig.program_name` and some environment variables; for " +"example, if the program name is ``'/usr/local/bin/python'``, the exec-prefix " +"is ``'/usr/local'``. The returned string points into static storage; the " +"caller should not modify its value. This corresponds to the :makevar:" +"`exec_prefix` variable in the top-level :file:`Makefile` and the ``--exec-" +"prefix`` argument to the :program:`configure` script at build time. The " +"value is available to Python code as ``sys.base_exec_prefix``. It is only " +"useful on Unix." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:689 +msgid "" +"Background: The exec-prefix differs from the prefix when platform dependent " +"files (such as executables and shared libraries) are installed in a " +"different directory tree. In a typical installation, platform dependent " +"files may be installed in the :file:`/usr/local/plat` subtree while platform " +"independent may be installed in :file:`/usr/local`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:695 +msgid "" +"Generally speaking, a platform is a combination of hardware and software " +"families, e.g. Sparc machines running the Solaris 2.x operating system are " +"considered the same platform, but Intel machines running Solaris 2.x are " +"another platform, and Intel machines running Linux are yet another " +"platform. Different major revisions of the same operating system generally " +"also form different platforms. Non-Unix operating systems are a different " +"story; the installation strategies on those systems are so different that " +"the prefix and exec-prefix are meaningless, and set to the empty string. " +"Note that compiled Python bytecode files are platform independent (but not " +"independent from the Python version by which they were compiled!)." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:706 +msgid "" +"System administrators will know how to configure the :program:`mount` or :" +"program:`automount` programs to share :file:`/usr/local` between platforms " +"while having :file:`/usr/local/plat` be a different filesystem for each " +"platform." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:717 +msgid "" +"Use :c:func:`PyConfig_Get(\"base_exec_prefix\") ` (:data:`sys." +"base_exec_prefix`) instead. Use :c:func:`PyConfig_Get(\"exec_prefix\") " +"` (:data:`sys.exec_prefix`) if :ref:`virtual environments " +"` need to be handled." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:730 +msgid "" +"Return the full program name of the Python executable; this is computed as " +"a side-effect of deriving the default module search path from the program " +"name (set by :c:member:`PyConfig.program_name`). The returned string points " +"into static storage; the caller should not modify its value. The value is " +"available to Python code as ``sys.executable``." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:753 +msgid "" +"Return the default module search path; this is computed from the program " +"name (set by :c:member:`PyConfig.program_name`) and some environment " +"variables. The returned string consists of a series of directory names " +"separated by a platform dependent delimiter character. The delimiter " +"character is ``':'`` on Unix and macOS, ``';'`` on Windows. The returned " +"string points into static storage; the caller should not modify its value. " +"The list :data:`sys.path` is initialized with this value on interpreter " +"startup; it can be (and usually is) modified later to change the search path " +"for loading modules." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:771 +msgid "" +"Use :c:func:`PyConfig_Get(\"module_search_paths\") ` (:data:" +"`sys.path`) instead." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:777 +msgid "" +"Return the version of this Python interpreter. This is a string that looks " +"something like ::" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:780 +msgid "\"3.0a5+ (py3k:63103M, May 12 2008, 00:53:55) \\n[GCC 4.2.3]\"" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:784 +msgid "" +"The first word (up to the first space character) is the current Python " +"version; the first characters are the major and minor version separated by a " +"period. The returned string points into static storage; the caller should " +"not modify its value. The value is available to Python code as :data:`sys." +"version`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:789 +msgid "See also the :c:var:`Py_Version` constant." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:796 +msgid "" +"Return the platform identifier for the current platform. On Unix, this is " +"formed from the \"official\" name of the operating system, converted to " +"lower case, followed by the major revision number; e.g., for Solaris 2.x, " +"which is also known as SunOS 5.x, the value is ``'sunos5'``. On macOS, it " +"is ``'darwin'``. On Windows, it is ``'win'``. The returned string points " +"into static storage; the caller should not modify its value. The value is " +"available to Python code as ``sys.platform``." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:807 +msgid "" +"Return the official copyright string for the current Python version, for " +"example" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:809 +msgid "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:813 +msgid "" +"The returned string points into static storage; the caller should not modify " +"its value. The value is available to Python code as ``sys.copyright``." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:819 +msgid "" +"Return an indication of the compiler used to build the current Python " +"version, in square brackets, for example::" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:822 +msgid "\"[GCC 2.7.2.2]\"" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:826 ../../c-api/interp-lifecycle.rst:840 +msgid "" +"The returned string points into static storage; the caller should not modify " +"its value. The value is available to Python code as part of the variable " +"``sys.version``." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:833 +msgid "" +"Return information about the sequence number and build date and time of the " +"current Python interpreter instance, for example ::" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:836 +msgid "\"#67, Aug 1 1997, 22:34:28\"" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:852 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"argv`, :c:member:`PyConfig.parse_argv` and :c:member:`PyConfig.safe_path` " +"should be used instead, see :ref:`Python Initialization Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:857 +msgid "" +"Set :data:`sys.argv` based on *argc* and *argv*. These parameters are " +"similar to those passed to the program's :c:func:`main` function with the " +"difference that the first entry should refer to the script file to be " +"executed rather than the executable hosting the Python interpreter. If " +"there isn't a script that will be run, the first entry in *argv* can be an " +"empty string. If this function fails to initialize :data:`sys.argv`, a " +"fatal condition is signalled using :c:func:`Py_FatalError`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:865 +msgid "" +"If *updatepath* is zero, this is all the function does. If *updatepath* is " +"non-zero, the function also modifies :data:`sys.path` according to the " +"following algorithm:" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:869 +msgid "" +"If the name of an existing script is passed in ``argv[0]``, the absolute " +"path of the directory where the script is located is prepended to :data:`sys." +"path`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:872 +msgid "" +"Otherwise (that is, if *argc* is ``0`` or ``argv[0]`` doesn't point to an " +"existing file name), an empty string is prepended to :data:`sys.path`, which " +"is the same as prepending the current working directory (``\".\"``)." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:880 ../../c-api/interp-lifecycle.rst:913 +msgid "" +"See also :c:member:`PyConfig.orig_argv` and :c:member:`PyConfig.argv` " +"members of the :ref:`Python Initialization Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:884 +msgid "" +"It is recommended that applications embedding the Python interpreter for " +"purposes other than executing a single script pass ``0`` as *updatepath*, " +"and update :data:`sys.path` themselves if desired. See :cve:`2008-5983`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:889 +msgid "" +"On versions before 3.1.3, you can achieve the same effect by manually " +"popping the first :data:`sys.path` element after having called :c:func:" +"`PySys_SetArgv`, for example using::" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:893 +msgid "PyRun_SimpleString(\"import sys; sys.path.pop(0)\\n\");" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:902 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"argv` and :c:member:`PyConfig.parse_argv` should be used instead, see :ref:" +"`Python Initialization Configuration `." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:906 +msgid "" +"This function works like :c:func:`PySys_SetArgvEx` with *updatepath* set to " +"``1`` unless the :program:`python` interpreter was started with the :option:" +"`-I`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:916 +msgid "The *updatepath* value depends on :option:`-I`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:923 +msgid "" +"This API is kept for backward compatibility: setting :c:member:`PyConfig." +"home` should be used instead, see :ref:`Python Initialization Configuration " +"`." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:927 +msgid "" +"Set the default \"home\" directory, that is, the location of the standard " +"Python libraries. See :envvar:`PYTHONHOME` for the meaning of the argument " +"string." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:931 +msgid "" +"The argument should point to a zero-terminated character string in static " +"storage whose contents will not change for the duration of the program's " +"execution. No code in the Python interpreter will change the contents of " +"this storage." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:944 +msgid "" +"Return the default \"home\", that is, the value set by :c:member:`PyConfig." +"home`, or the value of the :envvar:`PYTHONHOME` environment variable if it " +"is set." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:954 +msgid "" +"Use :c:func:`PyConfig_Get(\"home\") ` or the :envvar:" +"`PYTHONHOME` environment variable instead." +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:357 +msgid "PyEval_InitThreads()" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:357 +msgid "modules (in module sys)" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:357 ../../c-api/interp-lifecycle.rst:749 +msgid "path (in module sys)" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:357 ../../c-api/interp-lifecycle.rst:749 +msgid "module" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:357 +msgid "builtins" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:357 +msgid "__main__" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:357 +msgid "sys" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:357 ../../c-api/interp-lifecycle.rst:749 +msgid "search" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:357 ../../c-api/interp-lifecycle.rst:749 +msgid "path" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:357 +msgid "Py_FinalizeEx (C function)" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:608 +msgid "Py_Initialize()" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:608 ../../c-api/interp-lifecycle.rst:847 +msgid "main()" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:608 +msgid "Py_GetPath()" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:727 +msgid "executable (in module sys)" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:782 ../../c-api/interp-lifecycle.rst:824 +#: ../../c-api/interp-lifecycle.rst:838 +msgid "version (in module sys)" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:794 +msgid "platform (in module sys)" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:811 +msgid "copyright (in module sys)" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:847 +msgid "Py_FatalError()" +msgstr "" + +#: ../../c-api/interp-lifecycle.rst:847 +msgid "argv (in module sys)" +msgstr "" diff --git a/c-api/picklebuffer.po b/c-api/picklebuffer.po new file mode 100644 index 00000000..ea51b60f --- /dev/null +++ b/c-api/picklebuffer.po @@ -0,0 +1,101 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../c-api/picklebuffer.rst:9 +msgid "Pickle buffer objects" +msgstr "" + +#: ../../c-api/picklebuffer.rst:13 +msgid "" +"A :class:`pickle.PickleBuffer` object wraps a :ref:`buffer-providing object " +"` for out-of-band data transfer with the :mod:`pickle` module." +msgstr "" + +#: ../../c-api/picklebuffer.rst:19 +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python pickle buffer " +"type. This is the same object as :class:`pickle.PickleBuffer` in the Python " +"layer." +msgstr "" + +#: ../../c-api/picklebuffer.rst:25 +msgid "" +"Return true if *op* is a pickle buffer instance. This function always " +"succeeds." +msgstr "" + +#: ../../c-api/picklebuffer.rst:31 +msgid "Create a pickle buffer from the object *obj*." +msgstr "" + +#: ../../c-api/picklebuffer.rst:33 +msgid "" +"This function will fail if *obj* doesn't support the :ref:`buffer protocol " +"`." +msgstr "" + +#: ../../c-api/picklebuffer.rst:35 +msgid "" +"On success, return a new pickle buffer instance. On failure, set an " +"exception and return ``NULL``." +msgstr "" + +#: ../../c-api/picklebuffer.rst:38 +msgid "Analogous to calling :class:`pickle.PickleBuffer` with *obj* in Python." +msgstr "" + +#: ../../c-api/picklebuffer.rst:43 +msgid "" +"Get a pointer to the underlying :c:type:`Py_buffer` that the pickle buffer " +"wraps." +msgstr "" + +#: ../../c-api/picklebuffer.rst:45 +msgid "" +"The returned pointer is valid as long as *picklebuf* is alive and has not " +"been released. The caller must not modify or free the returned :c:type:" +"`Py_buffer`. If the pickle buffer has been released, raise :exc:`ValueError`." +msgstr "" + +#: ../../c-api/picklebuffer.rst:49 +msgid "" +"On success, return a pointer to the buffer view. On failure, set an " +"exception and return ``NULL``." +msgstr "" + +#: ../../c-api/picklebuffer.rst:55 +msgid "Release the underlying buffer held by the pickle buffer." +msgstr "" + +#: ../../c-api/picklebuffer.rst:57 +msgid "" +"Return ``0`` on success. On failure, set an exception and return ``-1``." +msgstr "" + +#: ../../c-api/picklebuffer.rst:59 +msgid "Analogous to calling :meth:`pickle.PickleBuffer.release` in Python." +msgstr "" + +#: ../../c-api/picklebuffer.rst:5 +msgid "object" +msgstr "" + +#: ../../c-api/picklebuffer.rst:5 +msgid "PickleBuffer" +msgstr "" diff --git a/c-api/profiling.po b/c-api/profiling.po new file mode 100644 index 00000000..4eef0437 --- /dev/null +++ b/c-api/profiling.po @@ -0,0 +1,308 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../c-api/profiling.rst:6 +msgid "Profiling and tracing" +msgstr "" + +#: ../../c-api/profiling.rst:8 +msgid "" +"The Python interpreter provides some low-level support for attaching " +"profiling and execution tracing facilities. These are used for profiling, " +"debugging, and coverage analysis tools." +msgstr "" + +#: ../../c-api/profiling.rst:12 +msgid "" +"This C interface allows the profiling or tracing code to avoid the overhead " +"of calling through Python-level callable objects, making a direct C function " +"call instead. The essential attributes of the facility have not changed; " +"the interface allows trace functions to be installed per-thread, and the " +"basic events reported to the trace function are the same as had been " +"reported to the Python-level trace functions in previous versions." +msgstr "" + +#: ../../c-api/profiling.rst:22 +msgid "" +"The type of the trace function registered using :c:func:`PyEval_SetProfile` " +"and :c:func:`PyEval_SetTrace`. The first parameter is the object passed to " +"the registration function as *obj*, *frame* is the frame object to which the " +"event pertains, *what* is one of the constants :c:data:`PyTrace_CALL`, :c:" +"data:`PyTrace_EXCEPTION`, :c:data:`PyTrace_LINE`, :c:data:`PyTrace_RETURN`, :" +"c:data:`PyTrace_C_CALL`, :c:data:`PyTrace_C_EXCEPTION`, :c:data:" +"`PyTrace_C_RETURN`, or :c:data:`PyTrace_OPCODE`, and *arg* depends on the " +"value of *what*:" +msgstr "" + +#: ../../c-api/profiling.rst:31 +msgid "Value of *what*" +msgstr "" + +#: ../../c-api/profiling.rst:31 +msgid "Meaning of *arg*" +msgstr "" + +#: ../../c-api/profiling.rst:33 +msgid ":c:data:`PyTrace_CALL`" +msgstr "" + +#: ../../c-api/profiling.rst:33 ../../c-api/profiling.rst:38 +#: ../../c-api/profiling.rst:49 +msgid "Always :c:data:`Py_None`." +msgstr "" + +#: ../../c-api/profiling.rst:35 +msgid ":c:data:`PyTrace_EXCEPTION`" +msgstr "" + +#: ../../c-api/profiling.rst:35 +msgid "Exception information as returned by :func:`sys.exc_info`." +msgstr "" + +#: ../../c-api/profiling.rst:38 +msgid ":c:data:`PyTrace_LINE`" +msgstr "" + +#: ../../c-api/profiling.rst:40 +msgid ":c:data:`PyTrace_RETURN`" +msgstr "" + +#: ../../c-api/profiling.rst:40 +msgid "" +"Value being returned to the caller, or ``NULL`` if caused by an exception." +msgstr "" + +#: ../../c-api/profiling.rst:43 +msgid ":c:data:`PyTrace_C_CALL`" +msgstr "" + +#: ../../c-api/profiling.rst:43 ../../c-api/profiling.rst:45 +#: ../../c-api/profiling.rst:47 +msgid "Function object being called." +msgstr "" + +#: ../../c-api/profiling.rst:45 +msgid ":c:data:`PyTrace_C_EXCEPTION`" +msgstr "" + +#: ../../c-api/profiling.rst:47 +msgid ":c:data:`PyTrace_C_RETURN`" +msgstr "" + +#: ../../c-api/profiling.rst:49 +msgid ":c:data:`PyTrace_OPCODE`" +msgstr "" + +#: ../../c-api/profiling.rst:54 +msgid "" +"The value of the *what* parameter to a :c:type:`Py_tracefunc` function when " +"a new call to a function or method is being reported, or a new entry into a " +"generator. Note that the creation of the iterator for a generator function " +"is not reported as there is no control transfer to the Python bytecode in " +"the corresponding frame." +msgstr "" + +#: ../../c-api/profiling.rst:63 +msgid "" +"The value of the *what* parameter to a :c:type:`Py_tracefunc` function when " +"an exception has been raised. The callback function is called with this " +"value for *what* when after any bytecode is processed after which the " +"exception becomes set within the frame being executed. The effect of this " +"is that as exception propagation causes the Python stack to unwind, the " +"callback is called upon return to each frame as the exception propagates. " +"Only trace functions receive these events; they are not needed by the " +"profiler." +msgstr "" + +#: ../../c-api/profiling.rst:74 +msgid "" +"The value passed as the *what* parameter to a :c:type:`Py_tracefunc` " +"function (but not a profiling function) when a line-number event is being " +"reported. It may be disabled for a frame by setting :attr:`~frame." +"f_trace_lines` to *0* on that frame." +msgstr "" + +#: ../../c-api/profiling.rst:82 +msgid "" +"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " +"a call is about to return." +msgstr "" + +#: ../../c-api/profiling.rst:88 +msgid "" +"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " +"a C function is about to be called." +msgstr "" + +#: ../../c-api/profiling.rst:94 +msgid "" +"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " +"a C function has raised an exception." +msgstr "" + +#: ../../c-api/profiling.rst:100 +msgid "" +"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " +"a C function has returned." +msgstr "" + +#: ../../c-api/profiling.rst:106 +msgid "" +"The value for the *what* parameter to :c:type:`Py_tracefunc` functions (but " +"not profiling functions) when a new opcode is about to be executed. This " +"event is not emitted by default: it must be explicitly requested by setting :" +"attr:`~frame.f_trace_opcodes` to *1* on the frame." +msgstr "" + +#: ../../c-api/profiling.rst:114 +msgid "" +"Set the profiler function to *func*. The *obj* parameter is passed to the " +"function as its first parameter, and may be any Python object, or ``NULL``. " +"If the profile function needs to maintain state, using a different value for " +"*obj* for each thread provides a convenient and thread-safe place to store " +"it. The profile function is called for all monitored events except :c:data:" +"`PyTrace_LINE` :c:data:`PyTrace_OPCODE` and :c:data:`PyTrace_EXCEPTION`." +msgstr "" + +#: ../../c-api/profiling.rst:121 +msgid "See also the :func:`sys.setprofile` function." +msgstr "" + +#: ../../c-api/profiling.rst:123 ../../c-api/profiling.rst:131 +#: ../../c-api/profiling.rst:150 ../../c-api/profiling.rst:158 +msgid "The caller must have an :term:`attached thread state`." +msgstr "" + +#: ../../c-api/profiling.rst:128 +msgid "" +"Like :c:func:`PyEval_SetProfile` but sets the profile function in all " +"running threads belonging to the current interpreter instead of the setting " +"it only on the current thread." +msgstr "" + +#: ../../c-api/profiling.rst:133 +msgid "" +"As :c:func:`PyEval_SetProfile`, this function ignores any exceptions raised " +"while setting the profile functions in all threads." +msgstr "" + +#: ../../c-api/profiling.rst:141 +msgid "" +"Set the tracing function to *func*. This is similar to :c:func:" +"`PyEval_SetProfile`, except the tracing function does receive line-number " +"events and per-opcode events, but does not receive any event related to C " +"function objects being called. Any trace function registered using :c:func:" +"`PyEval_SetTrace` will not receive :c:data:`PyTrace_C_CALL`, :c:data:" +"`PyTrace_C_EXCEPTION` or :c:data:`PyTrace_C_RETURN` as a value for the " +"*what* parameter." +msgstr "" + +#: ../../c-api/profiling.rst:148 +msgid "See also the :func:`sys.settrace` function." +msgstr "" + +#: ../../c-api/profiling.rst:155 +msgid "" +"Like :c:func:`PyEval_SetTrace` but sets the tracing function in all running " +"threads belonging to the current interpreter instead of the setting it only " +"on the current thread." +msgstr "" + +#: ../../c-api/profiling.rst:160 +msgid "" +"As :c:func:`PyEval_SetTrace`, this function ignores any exceptions raised " +"while setting the trace functions in all threads." +msgstr "" + +#: ../../c-api/profiling.rst:167 +msgid "Reference tracing" +msgstr "" + +#: ../../c-api/profiling.rst:174 +msgid "" +"The type of the trace function registered using :c:func:" +"`PyRefTracer_SetTracer`. The first parameter is a Python object that has " +"been just created (when **event** is set to :c:data:`PyRefTracer_CREATE`) or " +"about to be destroyed (when **event** is set to :c:data:" +"`PyRefTracer_DESTROY`). The **data** argument is the opaque pointer that was " +"provided when :c:func:`PyRefTracer_SetTracer` was called." +msgstr "" + +#: ../../c-api/profiling.rst:180 +msgid "" +"If a new tracing function is registered replacing the current one, a call to " +"the trace function will be made with the object set to **NULL** and " +"**event** set to :c:data:`PyRefTracer_TRACKER_REMOVED`. This will happen " +"just before the new function is registered." +msgstr "" + +#: ../../c-api/profiling.rst:190 +msgid "" +"The value for the *event* parameter to :c:type:`PyRefTracer` functions when " +"a Python object has been created." +msgstr "" + +#: ../../c-api/profiling.rst:196 +msgid "" +"The value for the *event* parameter to :c:type:`PyRefTracer` functions when " +"a Python object has been destroyed." +msgstr "" + +#: ../../c-api/profiling.rst:202 +msgid "" +"The value for the *event* parameter to :c:type:`PyRefTracer` functions when " +"the current tracer is about to be replaced by a new one." +msgstr "" + +#: ../../c-api/profiling.rst:210 +msgid "" +"Register a reference tracer function. The function will be called when a new " +"Python object has been created or when an object is going to be destroyed. " +"If **data** is provided it must be an opaque pointer that will be provided " +"when the tracer function is called. Return ``0`` on success. Set an " +"exception and return ``-1`` on error." +msgstr "" + +#: ../../c-api/profiling.rst:216 +msgid "" +"Note that tracer functions **must not** create Python objects inside or " +"otherwise the call will be re-entrant. The tracer also **must not** clear " +"any existing exception or set an exception. A :term:`thread state` will be " +"active every time the tracer function is called." +msgstr "" + +#: ../../c-api/profiling.rst:221 ../../c-api/profiling.rst:237 +msgid "" +"There must be an :term:`attached thread state` when calling this function." +msgstr "" + +#: ../../c-api/profiling.rst:223 +msgid "" +"If another tracer function was already registered, the old function will be " +"called with **event** set to :c:data:`PyRefTracer_TRACKER_REMOVED` just " +"before the new function is registered." +msgstr "" + +#: ../../c-api/profiling.rst:232 +msgid "" +"Get the registered reference tracer function and the value of the opaque " +"data pointer that was registered when :c:func:`PyRefTracer_SetTracer` was " +"called. If no tracer was registered this function will return NULL and will " +"set the **data** pointer to NULL." +msgstr "" diff --git a/c-api/subinterpreters.po b/c-api/subinterpreters.po new file mode 100644 index 00000000..083f1fed --- /dev/null +++ b/c-api/subinterpreters.po @@ -0,0 +1,590 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../c-api/subinterpreters.rst:6 +msgid "Multiple interpreters in a Python process" +msgstr "" + +#: ../../c-api/subinterpreters.rst:8 +msgid "" +"While in most uses, you will only embed a single Python interpreter, there " +"are cases where you need to create several independent interpreters in the " +"same process and perhaps even in the same thread. Sub-interpreters allow you " +"to do that." +msgstr "" + +#: ../../c-api/subinterpreters.rst:13 +msgid "" +"The \"main\" interpreter is the first one created when the runtime " +"initializes. It is usually the only Python interpreter in a process. Unlike " +"sub-interpreters, the main interpreter has unique process-global " +"responsibilities like signal handling. It is also responsible for execution " +"during runtime initialization and is usually the active interpreter during " +"runtime finalization. The :c:func:`PyInterpreterState_Main` function " +"returns a pointer to its state." +msgstr "" + +#: ../../c-api/subinterpreters.rst:20 +msgid "" +"You can switch between sub-interpreters using the :c:func:" +"`PyThreadState_Swap` function. You can create and destroy them using the " +"following functions:" +msgstr "" + +#: ../../c-api/subinterpreters.rst:26 +msgid "" +"Structure containing most parameters to configure a sub-interpreter. Its " +"values are used only in :c:func:`Py_NewInterpreterFromConfig` and never " +"modified by the runtime." +msgstr "" + +#: ../../c-api/subinterpreters.rst:32 +msgid "Structure fields:" +msgstr "" + +#: ../../c-api/subinterpreters.rst:36 +msgid "" +"If this is ``0`` then the sub-interpreter will use its own \"object\" " +"allocator state. Otherwise it will use (share) the main interpreter's." +msgstr "" + +#: ../../c-api/subinterpreters.rst:40 +msgid "" +"If this is ``0`` then :c:member:`~PyInterpreterConfig." +"check_multi_interp_extensions` must be ``1`` (non-zero). If this is ``1`` " +"then :c:member:`~PyInterpreterConfig.gil` must not be :c:macro:" +"`PyInterpreterConfig_OWN_GIL`." +msgstr "" + +#: ../../c-api/subinterpreters.rst:48 +msgid "" +"If this is ``0`` then the runtime will not support forking the process in " +"any thread where the sub-interpreter is currently active. Otherwise fork is " +"unrestricted." +msgstr "" + +#: ../../c-api/subinterpreters.rst:52 +msgid "" +"Note that the :mod:`subprocess` module still works when fork is disallowed." +msgstr "" + +#: ../../c-api/subinterpreters.rst:57 +msgid "" +"If this is ``0`` then the runtime will not support replacing the current " +"process via exec (e.g. :func:`os.execv`) in any thread where the sub-" +"interpreter is currently active. Otherwise exec is unrestricted." +msgstr "" + +#: ../../c-api/subinterpreters.rst:62 +msgid "" +"Note that the :mod:`subprocess` module still works when exec is disallowed." +msgstr "" + +#: ../../c-api/subinterpreters.rst:67 +msgid "" +"If this is ``0`` then the sub-interpreter's :mod:`threading` module won't " +"create threads. Otherwise threads are allowed." +msgstr "" + +#: ../../c-api/subinterpreters.rst:73 +msgid "" +"If this is ``0`` then the sub-interpreter's :mod:`threading` module won't " +"create daemon threads. Otherwise daemon threads are allowed (as long as :c:" +"member:`~PyInterpreterConfig.allow_threads` is non-zero)." +msgstr "" + +#: ../../c-api/subinterpreters.rst:80 +msgid "" +"If this is ``0`` then all extension modules may be imported, including " +"legacy (single-phase init) modules, in any thread where the sub-interpreter " +"is currently active. Otherwise only multi-phase init extension modules (see :" +"pep:`489`) may be imported. (Also see :c:macro:" +"`Py_mod_multiple_interpreters`.)" +msgstr "" + +#: ../../c-api/subinterpreters.rst:87 +msgid "" +"This must be ``1`` (non-zero) if :c:member:`~PyInterpreterConfig." +"use_main_obmalloc` is ``0``." +msgstr "" + +#: ../../c-api/subinterpreters.rst:92 +msgid "" +"This determines the operation of the GIL for the sub-interpreter. It may be " +"one of the following:" +msgstr "" + +#: ../../c-api/subinterpreters.rst:99 +msgid "Use the default selection (:c:macro:`PyInterpreterConfig_SHARED_GIL`)." +msgstr "" + +#: ../../c-api/subinterpreters.rst:103 +msgid "Use (share) the main interpreter's GIL." +msgstr "" + +#: ../../c-api/subinterpreters.rst:107 +msgid "Use the sub-interpreter's own GIL." +msgstr "" + +#: ../../c-api/subinterpreters.rst:109 +msgid "" +"If this is :c:macro:`PyInterpreterConfig_OWN_GIL` then :c:member:" +"`PyInterpreterConfig.use_main_obmalloc` must be ``0``." +msgstr "" + +#: ../../c-api/subinterpreters.rst:123 +msgid "" +"Create a new sub-interpreter. This is an (almost) totally separate " +"environment for the execution of Python code. In particular, the new " +"interpreter has separate, independent versions of all imported modules, " +"including the fundamental modules :mod:`builtins`, :mod:`__main__` and :mod:" +"`sys`. The table of loaded modules (``sys.modules``) and the module search " +"path (``sys.path``) are also separate. The new environment has no ``sys." +"argv`` variable. It has new standard I/O stream file objects ``sys.stdin``, " +"``sys.stdout`` and ``sys.stderr`` (however these refer to the same " +"underlying file descriptors)." +msgstr "" + +#: ../../c-api/subinterpreters.rst:133 +msgid "" +"The given *config* controls the options with which the interpreter is " +"initialized." +msgstr "" + +#: ../../c-api/subinterpreters.rst:136 +msgid "" +"Upon success, *tstate_p* will be set to the first :term:`thread state` " +"created in the new sub-interpreter. This thread state is :term:`attached " +"`. Note that no actual thread is created; see the " +"discussion of thread states below. If creation of the new interpreter is " +"unsuccessful, *tstate_p* is set to ``NULL``; no exception is set since the " +"exception state is stored in the :term:`attached thread state`, which might " +"not exist." +msgstr "" + +#: ../../c-api/subinterpreters.rst:145 +msgid "" +"Like all other Python/C API functions, an :term:`attached thread state` must " +"be present before calling this function, but it might be detached upon " +"returning. On success, the returned thread state will be :term:`attached " +"`. If the sub-interpreter is created with its own :" +"term:`GIL` then the :term:`attached thread state` of the calling interpreter " +"will be detached. When the function returns, the new interpreter's :term:" +"`thread state` will be :term:`attached ` to the " +"current thread and the previous interpreter's :term:`attached thread state` " +"will remain detached." +msgstr "" + +#: ../../c-api/subinterpreters.rst:156 +msgid "" +"Sub-interpreters are most effective when isolated from each other, with " +"certain functionality restricted::" +msgstr "" + +#: ../../c-api/subinterpreters.rst:159 +msgid "" +"PyInterpreterConfig config = {\n" +" .use_main_obmalloc = 0,\n" +" .allow_fork = 0,\n" +" .allow_exec = 0,\n" +" .allow_threads = 1,\n" +" .allow_daemon_threads = 0,\n" +" .check_multi_interp_extensions = 1,\n" +" .gil = PyInterpreterConfig_OWN_GIL,\n" +"};\n" +"PyThreadState *tstate = NULL;\n" +"PyStatus status = Py_NewInterpreterFromConfig(&tstate, &config);\n" +"if (PyStatus_Exception(status)) {\n" +" Py_ExitStatusException(status);\n" +"}" +msgstr "" + +#: ../../c-api/subinterpreters.rst:174 +msgid "" +"Note that the config is used only briefly and does not get modified. During " +"initialization the config's values are converted into various :c:type:" +"`PyInterpreterState` values. A read-only copy of the config may be stored " +"internally on the :c:type:`PyInterpreterState`." +msgstr "" + +#: ../../c-api/subinterpreters.rst:183 +msgid "Extension modules are shared between (sub-)interpreters as follows:" +msgstr "" + +#: ../../c-api/subinterpreters.rst:185 +msgid "" +"For modules using multi-phase initialization, e.g. :c:func:" +"`PyModule_FromDefAndSpec`, a separate module object is created and " +"initialized for each interpreter. Only C-level static and global variables " +"are shared between these module objects." +msgstr "" + +#: ../../c-api/subinterpreters.rst:191 +msgid "" +"For modules using legacy :ref:`single-phase initialization `, e.g. :c:func:`PyModule_Create`, the first time a " +"particular extension is imported, it is initialized normally, and a " +"(shallow) copy of its module's dictionary is squirreled away. When the same " +"extension is imported by another (sub-)interpreter, a new module is " +"initialized and filled with the contents of this copy; the extension's " +"``init`` function is not called. Objects in the module's dictionary thus end " +"up shared across (sub-)interpreters, which might cause unwanted behavior " +"(see `Bugs and caveats`_ below)." +msgstr "" + +#: ../../c-api/subinterpreters.rst:203 +msgid "" +"Note that this is different from what happens when an extension is imported " +"after the interpreter has been completely re-initialized by calling :c:func:" +"`Py_FinalizeEx` and :c:func:`Py_Initialize`; in that case, the extension's " +"``initmodule`` function *is* called again. As with multi-phase " +"initialization, this means that only C-level static and global variables are " +"shared between these modules." +msgstr "" + +#: ../../c-api/subinterpreters.rst:223 +msgid "" +"Create a new sub-interpreter. This is essentially just a wrapper around :c:" +"func:`Py_NewInterpreterFromConfig` with a config that preserves the existing " +"behavior. The result is an unisolated sub-interpreter that shares the main " +"interpreter's GIL, allows fork/exec, allows daemon threads, and allows " +"single-phase init modules." +msgstr "" + +#: ../../c-api/subinterpreters.rst:235 +msgid "" +"Destroy the (sub-)interpreter represented by the given :term:`thread state`. " +"The given thread state must be :term:`attached `. " +"When the call returns, there will be no :term:`attached thread state`. All " +"thread states associated with this interpreter are destroyed." +msgstr "" + +#: ../../c-api/subinterpreters.rst:240 +msgid "" +":c:func:`Py_FinalizeEx` will destroy all sub-interpreters that haven't been " +"explicitly destroyed at that point." +msgstr "" + +#: ../../c-api/subinterpreters.rst:247 +msgid "A per-interpreter GIL" +msgstr "" + +#: ../../c-api/subinterpreters.rst:251 +msgid "" +"Using :c:func:`Py_NewInterpreterFromConfig` you can create a sub-interpreter " +"that is completely isolated from other interpreters, including having its " +"own GIL. The most important benefit of this isolation is that such an " +"interpreter can execute Python code without being blocked by other " +"interpreters or blocking any others. Thus a single Python process can truly " +"take advantage of multiple CPU cores when running Python code. The " +"isolation also encourages a different approach to concurrency than that of " +"just using threads. (See :pep:`554` and :pep:`684`.)" +msgstr "" + +#: ../../c-api/subinterpreters.rst:261 +msgid "" +"Using an isolated interpreter requires vigilance in preserving that " +"isolation. That especially means not sharing any objects or mutable state " +"without guarantees about thread-safety. Even objects that are otherwise " +"immutable (e.g. ``None``, ``(1, 5)``) can't normally be shared because of " +"the refcount. One simple but less-efficient approach around this is to use " +"a global lock around all use of some state (or object). Alternately, " +"effectively immutable objects (like integers or strings) can be made safe in " +"spite of their refcounts by making them :term:`immortal`. In fact, this has " +"been done for the builtin singletons, small integers, and a number of other " +"builtin objects." +msgstr "" + +#: ../../c-api/subinterpreters.rst:272 +msgid "" +"If you preserve isolation then you will have access to proper multi-core " +"computing without the complications that come with free-threading. Failure " +"to preserve isolation will expose you to the full consequences of free-" +"threading, including races and hard-to-debug crashes." +msgstr "" + +#: ../../c-api/subinterpreters.rst:277 +msgid "" +"Aside from that, one of the main challenges of using multiple isolated " +"interpreters is how to communicate between them safely (not break isolation) " +"and efficiently. The runtime and stdlib do not provide any standard " +"approach to this yet. A future stdlib module would help mitigate the effort " +"of preserving isolation and expose effective tools for communicating (and " +"sharing) data between interpreters." +msgstr "" + +#: ../../c-api/subinterpreters.rst:286 +msgid "Bugs and caveats" +msgstr "" + +#: ../../c-api/subinterpreters.rst:288 +msgid "" +"Because sub-interpreters (and the main interpreter) are part of the same " +"process, the insulation between them isn't perfect --- for example, using " +"low-level file operations like :func:`os.close` they can (accidentally or " +"maliciously) affect each other's open files. Because of the way extensions " +"are shared between (sub-)interpreters, some extensions may not work " +"properly; this is especially likely when using single-phase initialization " +"or (static) global variables. It is possible to insert objects created in " +"one sub-interpreter into a namespace of another (sub-)interpreter; this " +"should be avoided if possible." +msgstr "" + +#: ../../c-api/subinterpreters.rst:298 +msgid "" +"Special care should be taken to avoid sharing user-defined functions, " +"methods, instances or classes between sub-interpreters, since import " +"operations executed by such objects may affect the wrong (sub-)interpreter's " +"dictionary of loaded modules. It is equally important to avoid sharing " +"objects from which the above are reachable." +msgstr "" + +#: ../../c-api/subinterpreters.rst:304 +msgid "" +"Also note that combining this functionality with ``PyGILState_*`` APIs is " +"delicate, because these APIs assume a bijection between Python thread states " +"and OS-level threads, an assumption broken by the presence of sub-" +"interpreters. It is highly recommended that you don't switch sub-" +"interpreters between a pair of matching :c:func:`PyGILState_Ensure` and :c:" +"func:`PyGILState_Release` calls. Furthermore, extensions (such as :mod:" +"`ctypes`) using these APIs to allow calling of Python code from non-Python " +"created threads will probably be broken when using sub-interpreters." +msgstr "" + +#: ../../c-api/subinterpreters.rst:315 +msgid "High-level APIs" +msgstr "" + +#: ../../c-api/subinterpreters.rst:319 +msgid "" +"This data structure represents the state shared by a number of cooperating " +"threads. Threads belonging to the same interpreter share their module " +"administration and a few other internal items. There are no public members " +"in this structure." +msgstr "" + +#: ../../c-api/subinterpreters.rst:324 +msgid "" +"Threads belonging to different interpreters initially share nothing, except " +"process state like available memory, open file descriptors and such. The " +"global interpreter lock is also shared by all threads, regardless of to " +"which interpreter they belong." +msgstr "" + +#: ../../c-api/subinterpreters.rst:331 +msgid "" +":pep:`684` introduced the possibility of a :ref:`per-interpreter GIL `. See :c:func:`Py_NewInterpreterFromConfig`." +msgstr "" + +#: ../../c-api/subinterpreters.rst:338 +msgid "Get the current interpreter." +msgstr "" + +#: ../../c-api/subinterpreters.rst:340 +msgid "" +"Issue a fatal error if there is no :term:`attached thread state`. It cannot " +"return NULL." +msgstr "" + +#: ../../c-api/subinterpreters.rst:348 +msgid "" +"Return the interpreter's unique ID. If there was any error in doing so then " +"``-1`` is returned and an error is set." +msgstr "" + +#: ../../c-api/subinterpreters.rst:351 +msgid "The caller must have an :term:`attached thread state`." +msgstr "" + +#: ../../c-api/subinterpreters.rst:358 +msgid "" +"Return a dictionary in which interpreter-specific data may be stored. If " +"this function returns ``NULL`` then no exception has been raised and the " +"caller should assume no interpreter-specific dict is available." +msgstr "" + +#: ../../c-api/subinterpreters.rst:362 +msgid "" +"This is not a replacement for :c:func:`PyModule_GetState()`, which " +"extensions should use to store interpreter-specific state information." +msgstr "" + +#: ../../c-api/subinterpreters.rst:365 +msgid "" +"The returned dictionary is borrowed from the interpreter and is valid until " +"interpreter shutdown." +msgstr "" + +#: ../../c-api/subinterpreters.rst:373 +msgid "Type of a frame evaluation function." +msgstr "" + +#: ../../c-api/subinterpreters.rst:375 +msgid "" +"The *throwflag* parameter is used by the ``throw()`` method of generators: " +"if non-zero, handle the current exception." +msgstr "" + +#: ../../c-api/subinterpreters.rst:378 +msgid "The function now takes a *tstate* parameter." +msgstr "" + +#: ../../c-api/subinterpreters.rst:381 +msgid "" +"The *frame* parameter changed from ``PyFrameObject*`` to " +"``_PyInterpreterFrame*``." +msgstr "" + +#: ../../c-api/subinterpreters.rst:387 +msgid "Get the frame evaluation function." +msgstr "" + +#: ../../c-api/subinterpreters.rst:389 ../../c-api/subinterpreters.rst:398 +msgid "See the :pep:`523` \"Adding a frame evaluation API to CPython\"." +msgstr "" + +#: ../../c-api/subinterpreters.rst:396 +msgid "Set the frame evaluation function." +msgstr "" + +#: ../../c-api/subinterpreters.rst:404 +msgid "Low-level APIs" +msgstr "" + +#: ../../c-api/subinterpreters.rst:406 +msgid "" +"All of the following functions must be called after :c:func:`Py_Initialize`." +msgstr "" + +#: ../../c-api/subinterpreters.rst:408 +msgid "" +":c:func:`Py_Initialize()` now initializes the :term:`GIL` and sets an :term:" +"`attached thread state`." +msgstr "" + +#: ../../c-api/subinterpreters.rst:415 +msgid "" +"Create a new interpreter state object. An :term:`attached thread state` is " +"not needed, but may optionally exist if it is necessary to serialize calls " +"to this function." +msgstr "" + +#: ../../c-api/subinterpreters.rst:419 +msgid "" +"Raises an :ref:`auditing event ` ``cpython." +"PyInterpreterState_New`` with no arguments." +msgstr "" + +#: ../../c-api/subinterpreters.rst:424 +msgid "" +"Reset all information in an interpreter state object. There must be an :" +"term:`attached thread state` for the interpreter." +msgstr "" + +#: ../../c-api/subinterpreters.rst:427 +msgid "" +"Raises an :ref:`auditing event ` ``cpython." +"PyInterpreterState_Clear`` with no arguments." +msgstr "" + +#: ../../c-api/subinterpreters.rst:432 +msgid "" +"Destroy an interpreter state object. There **should not** be an :term:" +"`attached thread state` for the target interpreter. The interpreter state " +"must have been reset with a previous call to :c:func:" +"`PyInterpreterState_Clear`." +msgstr "" + +#: ../../c-api/subinterpreters.rst:440 +msgid "Advanced debugger support" +msgstr "" + +#: ../../c-api/subinterpreters.rst:442 +msgid "" +"These functions are only intended to be used by advanced debugging tools." +msgstr "" + +#: ../../c-api/subinterpreters.rst:447 +msgid "" +"Return the interpreter state object at the head of the list of all such " +"objects." +msgstr "" + +#: ../../c-api/subinterpreters.rst:452 +msgid "Return the main interpreter state object." +msgstr "" + +#: ../../c-api/subinterpreters.rst:457 +msgid "" +"Return the next interpreter state object after *interp* from the list of all " +"such objects." +msgstr "" + +#: ../../c-api/subinterpreters.rst:463 +msgid "" +"Return the pointer to the first :c:type:`PyThreadState` object in the list " +"of threads associated with the interpreter *interp*." +msgstr "" + +#: ../../c-api/subinterpreters.rst:469 +msgid "" +"Return the next thread state object after *tstate* from the list of all such " +"objects belonging to the same :c:type:`PyInterpreterState` object." +msgstr "" + +#: ../../c-api/subinterpreters.rst:115 ../../c-api/subinterpreters.rst:215 +msgid "module" +msgstr "" + +#: ../../c-api/subinterpreters.rst:115 ../../c-api/subinterpreters.rst:215 +msgid "builtins" +msgstr "" + +#: ../../c-api/subinterpreters.rst:115 ../../c-api/subinterpreters.rst:215 +msgid "__main__" +msgstr "" + +#: ../../c-api/subinterpreters.rst:115 ../../c-api/subinterpreters.rst:215 +msgid "sys" +msgstr "" + +#: ../../c-api/subinterpreters.rst:115 ../../c-api/subinterpreters.rst:215 +msgid "stdout (in module sys)" +msgstr "" + +#: ../../c-api/subinterpreters.rst:115 ../../c-api/subinterpreters.rst:215 +msgid "stderr (in module sys)" +msgstr "" + +#: ../../c-api/subinterpreters.rst:115 ../../c-api/subinterpreters.rst:215 +msgid "stdin (in module sys)" +msgstr "" + +#: ../../c-api/subinterpreters.rst:179 ../../c-api/subinterpreters.rst:233 +msgid "Py_FinalizeEx (C function)" +msgstr "" + +#: ../../c-api/subinterpreters.rst:179 +msgid "Py_Initialize (C function)" +msgstr "" + +#: ../../c-api/subinterpreters.rst:210 +msgid "close (in module os)" +msgstr "" diff --git a/c-api/synchronization.po b/c-api/synchronization.po new file mode 100644 index 00000000..5c90c833 --- /dev/null +++ b/c-api/synchronization.po @@ -0,0 +1,365 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../c-api/synchronization.rst:6 +msgid "Synchronization primitives" +msgstr "" + +#: ../../c-api/synchronization.rst:8 +msgid "The C-API provides a basic mutual exclusion lock." +msgstr "" + +#: ../../c-api/synchronization.rst:12 +msgid "" +"A mutual exclusion lock. The :c:type:`!PyMutex` should be initialized to " +"zero to represent the unlocked state. For example::" +msgstr "" + +#: ../../c-api/synchronization.rst:15 +msgid "PyMutex mutex = {0};" +msgstr "" + +#: ../../c-api/synchronization.rst:17 +msgid "" +"Instances of :c:type:`!PyMutex` should not be copied or moved. Both the " +"contents and address of a :c:type:`!PyMutex` are meaningful, and it must " +"remain at a fixed, writable location in memory." +msgstr "" + +#: ../../c-api/synchronization.rst:23 +msgid "" +"A :c:type:`!PyMutex` currently occupies one byte, but the size should be " +"considered unstable. The size may change in future Python releases without " +"a deprecation period." +msgstr "" + +#: ../../c-api/synchronization.rst:31 +msgid "" +"Lock mutex *m*. If another thread has already locked it, the calling thread " +"will block until the mutex is unlocked. While blocked, the thread will " +"temporarily detach the :term:`thread state ` if one " +"exists." +msgstr "" + +#: ../../c-api/synchronization.rst:39 +msgid "" +"Unlock mutex *m*. The mutex must be locked --- otherwise, the function will " +"issue a fatal error." +msgstr "" + +#: ../../c-api/synchronization.rst:46 +msgid "Returns non-zero if the mutex *m* is currently locked, zero otherwise." +msgstr "" + +#: ../../c-api/synchronization.rst:50 +msgid "" +"This function is intended for use in assertions and debugging only and " +"should not be used to make concurrency control decisions, as the lock state " +"may change immediately after the check." +msgstr "" + +#: ../../c-api/synchronization.rst:59 +msgid "Python critical section API" +msgstr "" + +#: ../../c-api/synchronization.rst:61 +msgid "" +"The critical section API provides a deadlock avoidance layer on top of per-" +"object locks for :term:`free-threaded ` CPython. They are " +"intended to replace reliance on the :term:`global interpreter lock`, and are " +"no-ops in versions of Python with the global interpreter lock." +msgstr "" + +#: ../../c-api/synchronization.rst:66 +msgid "" +"Critical sections are intended to be used for custom types implemented in C-" +"API extensions. They should generally not be used with built-in types like :" +"class:`list` and :class:`dict` because their public C-APIs already use " +"critical sections internally, with the notable exception of :c:func:" +"`PyDict_Next`, which requires critical section to be acquired externally." +msgstr "" + +#: ../../c-api/synchronization.rst:73 +msgid "" +"Critical sections avoid deadlocks by implicitly suspending active critical " +"sections, hence, they do not provide exclusive access such as provided by " +"traditional locks like :c:type:`PyMutex`. When a critical section is " +"started, the per-object lock for the object is acquired. If the code " +"executed inside the critical section calls C-API functions then it can " +"suspend the critical section thereby releasing the per-object lock, so other " +"threads can acquire the per-object lock for the same object." +msgstr "" + +#: ../../c-api/synchronization.rst:81 +msgid "" +"Variants that accept :c:type:`PyMutex` pointers rather than Python objects " +"are also available. Use these variants to start a critical section in a " +"situation where there is no :c:type:`PyObject` -- for example, when working " +"with a C type that does not extend or wrap :c:type:`PyObject` but still " +"needs to call into the C API in a manner that might lead to deadlocks." +msgstr "" + +#: ../../c-api/synchronization.rst:87 +msgid "" +"The functions and structs used by the macros are exposed for cases where C " +"macros are not available. They should only be used as in the given macro " +"expansions. Note that the sizes and contents of the structures may change in " +"future Python versions." +msgstr "" + +#: ../../c-api/synchronization.rst:94 +msgid "" +"Operations that need to lock two objects at once must use :c:macro:" +"`Py_BEGIN_CRITICAL_SECTION2`. You *cannot* use nested critical sections to " +"lock more than one object at once, because the inner critical section may " +"suspend the outer critical sections. This API does not provide a way to " +"lock more than two objects at once." +msgstr "" + +#: ../../c-api/synchronization.rst:100 +msgid "Example usage::" +msgstr "" + +#: ../../c-api/synchronization.rst:102 +msgid "" +"static PyObject *\n" +"set_field(MyObject *self, PyObject *value)\n" +"{\n" +" Py_BEGIN_CRITICAL_SECTION(self);\n" +" Py_SETREF(self->field, Py_XNewRef(value));\n" +" Py_END_CRITICAL_SECTION();\n" +" Py_RETURN_NONE;\n" +"}" +msgstr "" + +#: ../../c-api/synchronization.rst:111 +msgid "" +"In the above example, :c:macro:`Py_SETREF` calls :c:macro:`Py_DECREF`, which " +"can call arbitrary code through an object's deallocation function. The " +"critical section API avoids potential deadlocks due to reentrancy and lock " +"ordering by allowing the runtime to temporarily suspend the critical section " +"if the code triggered by the finalizer blocks and calls :c:func:" +"`PyEval_SaveThread`." +msgstr "" + +#: ../../c-api/synchronization.rst:119 +msgid "" +"Acquires the per-object lock for the object *op* and begins a critical " +"section." +msgstr "" + +#: ../../c-api/synchronization.rst:122 ../../c-api/synchronization.rst:136 +#: ../../c-api/synchronization.rst:153 ../../c-api/synchronization.rst:168 +#: ../../c-api/synchronization.rst:182 ../../c-api/synchronization.rst:199 +msgid "In the free-threaded build, this macro expands to::" +msgstr "" + +#: ../../c-api/synchronization.rst:124 +msgid "" +"{\n" +" PyCriticalSection _py_cs;\n" +" PyCriticalSection_Begin(&_py_cs, (PyObject*)(op))" +msgstr "" + +#: ../../c-api/synchronization.rst:128 ../../c-api/synchronization.rst:174 +msgid "In the default build, this macro expands to ``{``." +msgstr "" + +#: ../../c-api/synchronization.rst:134 +msgid "Locks the mutex *m* and begins a critical section." +msgstr "" + +#: ../../c-api/synchronization.rst:138 +msgid "" +"{\n" +" PyCriticalSection _py_cs;\n" +" PyCriticalSection_BeginMutex(&_py_cs, m)" +msgstr "" + +#: ../../c-api/synchronization.rst:142 +msgid "" +"Note that unlike :c:macro:`Py_BEGIN_CRITICAL_SECTION`, there is no cast for " +"the argument of the macro - it must be a :c:type:`PyMutex` pointer." +msgstr "" + +#: ../../c-api/synchronization.rst:145 ../../c-api/synchronization.rst:191 +msgid "On the default build, this macro expands to ``{``." +msgstr "" + +#: ../../c-api/synchronization.rst:151 +msgid "Ends the critical section and releases the per-object lock." +msgstr "" + +#: ../../c-api/synchronization.rst:155 +msgid "" +" PyCriticalSection_End(&_py_cs);\n" +"}" +msgstr "" + +#: ../../c-api/synchronization.rst:158 ../../c-api/synchronization.rst:204 +msgid "In the default build, this macro expands to ``}``." +msgstr "" + +#: ../../c-api/synchronization.rst:164 +msgid "" +"Acquires the per-object locks for the objects *a* and *b* and begins a " +"critical section. The locks are acquired in a consistent order (lowest " +"address first) to avoid lock ordering deadlocks." +msgstr "" + +#: ../../c-api/synchronization.rst:170 +msgid "" +"{\n" +" PyCriticalSection2 _py_cs2;\n" +" PyCriticalSection2_Begin(&_py_cs2, (PyObject*)(a), (PyObject*)(b))" +msgstr "" + +#: ../../c-api/synchronization.rst:180 +msgid "Locks the mutexes *m1* and *m2* and begins a critical section." +msgstr "" + +#: ../../c-api/synchronization.rst:184 +msgid "" +"{\n" +" PyCriticalSection2 _py_cs2;\n" +" PyCriticalSection2_BeginMutex(&_py_cs2, m1, m2)" +msgstr "" + +#: ../../c-api/synchronization.rst:188 +msgid "" +"Note that unlike :c:macro:`Py_BEGIN_CRITICAL_SECTION2`, there is no cast for " +"the arguments of the macro - they must be :c:type:`PyMutex` pointers." +msgstr "" + +#: ../../c-api/synchronization.rst:197 +msgid "Ends the critical section and releases the per-object locks." +msgstr "" + +#: ../../c-api/synchronization.rst:201 +msgid "" +" PyCriticalSection2_End(&_py_cs2);\n" +"}" +msgstr "" + +#: ../../c-api/synchronization.rst:210 +msgid "Legacy locking APIs" +msgstr "" + +#: ../../c-api/synchronization.rst:212 +msgid "" +"These APIs are obsolete since Python 3.13 with the introduction of :c:type:" +"`PyMutex`." +msgstr "" + +#: ../../c-api/synchronization.rst:218 +msgid "A pointer to a mutual exclusion lock." +msgstr "" + +#: ../../c-api/synchronization.rst:223 +msgid "The result of acquiring a lock with a timeout." +msgstr "" + +#: ../../c-api/synchronization.rst:229 +msgid "Failed to acquire the lock." +msgstr "" + +#: ../../c-api/synchronization.rst:233 +msgid "The lock was successfully acquired." +msgstr "" + +#: ../../c-api/synchronization.rst:237 +msgid "The lock was interrupted by a signal." +msgstr "" + +#: ../../c-api/synchronization.rst:242 +msgid "Allocate a new lock." +msgstr "" + +#: ../../c-api/synchronization.rst:244 +msgid "" +"On success, this function returns a lock; on failure, this function returns " +"``0`` without an exception set." +msgstr "" + +#: ../../c-api/synchronization.rst:247 ../../c-api/synchronization.rst:255 +#: ../../c-api/synchronization.rst:275 ../../c-api/synchronization.rst:293 +#: ../../c-api/synchronization.rst:301 +msgid "The caller does not need to hold an :term:`attached thread state`." +msgstr "" + +#: ../../c-api/synchronization.rst:252 +msgid "" +"Destroy *lock*. The lock should not be held by any thread when calling this." +msgstr "" + +#: ../../c-api/synchronization.rst:260 +msgid "Acquire *lock* with a timeout." +msgstr "" + +#: ../../c-api/synchronization.rst:262 +msgid "" +"This will wait for *microseconds* microseconds to acquire the lock. If the " +"timeout expires, this function returns :c:enumerator:`PY_LOCK_FAILURE`. If " +"*microseconds* is ``-1``, this will wait indefinitely until the lock has " +"been released." +msgstr "" + +#: ../../c-api/synchronization.rst:267 +msgid "" +"If *intr_flag* is ``1``, acquiring the lock may be interrupted by a signal, " +"in which case this function returns :c:enumerator:`PY_LOCK_INTR`. Upon " +"interruption, it's generally expected that the caller makes a call to :c:" +"func:`Py_MakePendingCalls` to propagate an exception to Python code." +msgstr "" + +#: ../../c-api/synchronization.rst:272 +msgid "" +"If the lock is successfully acquired, this function returns :c:enumerator:" +"`PY_LOCK_ACQUIRED`." +msgstr "" + +#: ../../c-api/synchronization.rst:280 +msgid "Acquire *lock*." +msgstr "" + +#: ../../c-api/synchronization.rst:282 +msgid "" +"If *waitflag* is ``1`` and another thread currently holds the lock, this " +"function will wait until the lock can be acquired and will always return " +"``1``." +msgstr "" + +#: ../../c-api/synchronization.rst:286 +msgid "" +"If *waitflag* is ``0`` and another thread holds the lock, this function will " +"not wait and instead return ``0``. If the lock is not held by any other " +"thread, then this function will acquire it and return ``1``." +msgstr "" + +#: ../../c-api/synchronization.rst:290 +msgid "" +"Unlike :c:func:`PyThread_acquire_lock_timed`, acquiring the lock cannot be " +"interrupted by a signal." +msgstr "" + +#: ../../c-api/synchronization.rst:298 +msgid "" +"Release *lock*. If *lock* is not held, then this function issues a fatal " +"error." +msgstr "" diff --git a/c-api/threads.po b/c-api/threads.po new file mode 100644 index 00000000..ddac1826 --- /dev/null +++ b/c-api/threads.po @@ -0,0 +1,1127 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../c-api/threads.rst:6 +msgid "Thread states and the global interpreter lock" +msgstr "" + +#: ../../c-api/threads.rst:13 +msgid "" +"Unless on a :term:`free-threaded build` of :term:`CPython`, the Python " +"interpreter is generally not thread-safe. In order to support multi-" +"threaded Python programs, there's a global lock, called the :term:`global " +"interpreter lock` or :term:`GIL`, that must be held by a thread before " +"accessing Python objects. Without the lock, even the simplest operations " +"could cause problems in a multi-threaded program: for example, when two " +"threads simultaneously increment the reference count of the same object, the " +"reference count could end up being incremented only once instead of twice." +msgstr "" + +#: ../../c-api/threads.rst:22 +msgid "" +"As such, only a thread that holds the GIL may operate on Python objects or " +"invoke Python's C API." +msgstr "" + +#: ../../c-api/threads.rst:27 +msgid "" +"In order to emulate concurrency, the interpreter regularly tries to switch " +"threads between bytecode instructions (see :func:`sys.setswitchinterval`). " +"This is why locks are also necessary for thread-safety in pure-Python code." +msgstr "" + +#: ../../c-api/threads.rst:31 +msgid "" +"Additionally, the global interpreter lock is released around blocking I/O " +"operations, such as reading or writing to a file. From the C API, this is " +"done by :ref:`detaching the thread state `." +msgstr "" + +#: ../../c-api/threads.rst:39 +msgid "" +"The Python interpreter keeps some thread-local information inside a data " +"structure called :c:type:`PyThreadState`, known as a :term:`thread state`. " +"Each thread has a thread-local pointer to a :c:type:`PyThreadState`; a " +"thread state referenced by this pointer is considered to be :term:`attached " +"`." +msgstr "" + +#: ../../c-api/threads.rst:44 +msgid "" +"A thread can only have one :term:`attached thread state` at a time. An " +"attached thread state is typically analogous with holding the GIL, except on " +"free-threaded builds. On builds with the GIL enabled, attaching a thread " +"state will block until the GIL can be acquired. However, even on builds with " +"the GIL disabled, it is still required to have an attached thread state, as " +"the interpreter needs to keep track of which threads may access Python " +"objects." +msgstr "" + +#: ../../c-api/threads.rst:53 +msgid "" +"Even on the free-threaded build, attaching a thread state may block, as the " +"GIL can be re-enabled or threads might be temporarily suspended (such as " +"during a garbage collection)." +msgstr "" + +#: ../../c-api/threads.rst:57 +msgid "" +"Generally, there will always be an attached thread state when using Python's " +"C API, including during embedding and when implementing methods, so it's " +"uncommon to need to set up a thread state on your own. Only in some specific " +"cases, such as in a :c:macro:`Py_BEGIN_ALLOW_THREADS` block or in a fresh " +"thread, will the thread not have an attached thread state. If uncertain, " +"check if :c:func:`PyThreadState_GetUnchecked` returns ``NULL``." +msgstr "" + +#: ../../c-api/threads.rst:64 +msgid "" +"If it turns out that you do need to create a thread state, call :c:func:" +"`PyThreadState_New` followed by :c:func:`PyThreadState_Swap`, or use the " +"dangerous :c:func:`PyGILState_Ensure` function." +msgstr "" + +#: ../../c-api/threads.rst:72 +msgid "Detaching the thread state from extension code" +msgstr "" + +#: ../../c-api/threads.rst:74 +msgid "" +"Most extension code manipulating the :term:`thread state` has the following " +"simple structure::" +msgstr "" + +#: ../../c-api/threads.rst:77 +msgid "" +"Save the thread state in a local variable.\n" +"... Do some blocking I/O operation ...\n" +"Restore the thread state from the local variable." +msgstr "" + +#: ../../c-api/threads.rst:81 +msgid "This is so common that a pair of macros exists to simplify it::" +msgstr "" + +#: ../../c-api/threads.rst:83 +msgid "" +"Py_BEGIN_ALLOW_THREADS\n" +"... Do some blocking I/O operation ...\n" +"Py_END_ALLOW_THREADS" +msgstr "" + +#: ../../c-api/threads.rst:91 +msgid "" +"The :c:macro:`Py_BEGIN_ALLOW_THREADS` macro opens a new block and declares a " +"hidden local variable; the :c:macro:`Py_END_ALLOW_THREADS` macro closes the " +"block." +msgstr "" + +#: ../../c-api/threads.rst:95 +msgid "The block above expands to the following code::" +msgstr "" + +#: ../../c-api/threads.rst:97 +msgid "" +"PyThreadState *_save;\n" +"\n" +"_save = PyEval_SaveThread();\n" +"... Do some blocking I/O operation ...\n" +"PyEval_RestoreThread(_save);" +msgstr "" + +#: ../../c-api/threads.rst:107 +msgid "Here is how these functions work:" +msgstr "" + +#: ../../c-api/threads.rst:109 +msgid "" +"The attached thread state implies that the GIL is held for the interpreter. " +"To detach it, :c:func:`PyEval_SaveThread` is called and the result is stored " +"in a local variable." +msgstr "" + +#: ../../c-api/threads.rst:113 +msgid "" +"By detaching the thread state, the GIL is released, which allows other " +"threads to attach to the interpreter and execute while the current thread " +"performs blocking I/O. When the I/O operation is complete, the old thread " +"state is reattached by calling :c:func:`PyEval_RestoreThread`, which will " +"wait until the GIL can be acquired." +msgstr "" + +#: ../../c-api/threads.rst:120 +msgid "" +"Performing blocking I/O is the most common use case for detaching the thread " +"state, but it is also useful to call it over long-running native code that " +"doesn't need access to Python objects or Python's C API. For example, the " +"standard :mod:`zlib` and :mod:`hashlib` modules detach the :term:`thread " +"state ` when compressing or hashing data." +msgstr "" + +#: ../../c-api/threads.rst:127 +msgid "" +"On a :term:`free-threaded build`, the :term:`GIL` is usually out of the " +"question, but **detaching the thread state is still required**, because the " +"interpreter periodically needs to block all threads to get a consistent view " +"of Python objects without the risk of race conditions. For example, CPython " +"currently suspends all threads for a short period of time while running the " +"garbage collector." +msgstr "" + +#: ../../c-api/threads.rst:136 +msgid "" +"Detaching the thread state can lead to unexpected behavior during " +"interpreter finalization. See :ref:`cautions-regarding-runtime-finalization` " +"for more details." +msgstr "" + +#: ../../c-api/threads.rst:142 +msgid "APIs" +msgstr "" + +#: ../../c-api/threads.rst:144 +msgid "" +"The following macros are normally used without a trailing semicolon; look " +"for example usage in the Python source distribution." +msgstr "" + +#: ../../c-api/threads.rst:149 +msgid "" +"These macros are still necessary on the :term:`free-threaded build` to " +"prevent deadlocks." +msgstr "" + +#: ../../c-api/threads.rst:154 +msgid "" +"This macro expands to ``{ PyThreadState *_save; _save = PyEval_SaveThread();" +"``. Note that it contains an opening brace; it must be matched with a " +"following :c:macro:`Py_END_ALLOW_THREADS` macro. See above for further " +"discussion of this macro." +msgstr "" + +#: ../../c-api/threads.rst:162 +msgid "" +"This macro expands to ``PyEval_RestoreThread(_save); }``. Note that it " +"contains a closing brace; it must be matched with an earlier :c:macro:" +"`Py_BEGIN_ALLOW_THREADS` macro. See above for further discussion of this " +"macro." +msgstr "" + +#: ../../c-api/threads.rst:170 +msgid "" +"This macro expands to ``PyEval_RestoreThread(_save);``: it is equivalent to :" +"c:macro:`Py_END_ALLOW_THREADS` without the closing brace." +msgstr "" + +#: ../../c-api/threads.rst:176 +msgid "" +"This macro expands to ``_save = PyEval_SaveThread();``: it is equivalent to :" +"c:macro:`Py_BEGIN_ALLOW_THREADS` without the opening brace and variable " +"declaration." +msgstr "" + +#: ../../c-api/threads.rst:182 +msgid "Non-Python created threads" +msgstr "" + +#: ../../c-api/threads.rst:184 +msgid "" +"When threads are created using the dedicated Python APIs (such as the :mod:" +"`threading` module), a thread state is automatically associated with them, " +"However, when a thread is created from native code (for example, by a third-" +"party library with its own thread management), it doesn't hold an attached " +"thread state." +msgstr "" + +#: ../../c-api/threads.rst:190 +msgid "" +"If you need to call Python code from these threads (often this will be part " +"of a callback API provided by the aforementioned third-party library), you " +"must first register these threads with the interpreter by creating a new " +"thread state and attaching it." +msgstr "" + +#: ../../c-api/threads.rst:195 +msgid "" +"The most robust way to do this is through :c:func:`PyThreadState_New` " +"followed by :c:func:`PyThreadState_Swap`." +msgstr "" + +#: ../../c-api/threads.rst:199 +msgid "" +"``PyThreadState_New`` requires an argument pointing to the desired " +"interpreter; such a pointer can be acquired via a call to :c:func:" +"`PyInterpreterState_Get` from the code where the thread was created." +msgstr "" + +#: ../../c-api/threads.rst:204 +msgid "For example::" +msgstr "" + +#: ../../c-api/threads.rst:206 +msgid "" +"/* The return value of PyInterpreterState_Get() from the\n" +" function that created this thread. */\n" +"PyInterpreterState *interp = thread_data->interp;\n" +"\n" +"/* Create a new thread state for the interpreter. It does not start out\n" +" attached. */\n" +"PyThreadState *tstate = PyThreadState_New(interp);\n" +"\n" +"/* Attach the thread state, which will acquire the GIL. */\n" +"PyThreadState_Swap(tstate);\n" +"\n" +"/* Perform Python actions here. */\n" +"result = CallSomeFunction();\n" +"/* evaluate result or handle exception */\n" +"\n" +"/* Destroy the thread state. No Python API allowed beyond this point. */\n" +"PyThreadState_Clear(tstate);\n" +"PyThreadState_DeleteCurrent();" +msgstr "" + +#: ../../c-api/threads.rst:227 +msgid "" +"If the interpreter finalized before ``PyThreadState_Swap`` was called, then " +"``interp`` will be a dangling pointer!" +msgstr "" + +#: ../../c-api/threads.rst:233 +msgid "Legacy API" +msgstr "" + +#: ../../c-api/threads.rst:235 +msgid "" +"Another common pattern to call Python code from a non-Python thread is to " +"use :c:func:`PyGILState_Ensure` followed by a call to :c:func:" +"`PyGILState_Release`." +msgstr "" + +#: ../../c-api/threads.rst:238 +msgid "" +"These functions do not work well when multiple interpreters exist in the " +"Python process. If no Python interpreter has ever been used in the current " +"thread (which is common for threads created outside Python), " +"``PyGILState_Ensure`` will create and attach a thread state for the \"main\" " +"interpreter (the first interpreter in the Python process)." +msgstr "" + +#: ../../c-api/threads.rst:244 +msgid "" +"Additionally, these functions have thread-safety issues during interpreter " +"finalization. Using ``PyGILState_Ensure`` during finalization will likely " +"crash the process." +msgstr "" + +#: ../../c-api/threads.rst:248 +msgid "Usage of these functions look like such::" +msgstr "" + +#: ../../c-api/threads.rst:250 +msgid "" +"PyGILState_STATE gstate;\n" +"gstate = PyGILState_Ensure();\n" +"\n" +"/* Perform Python actions here. */\n" +"result = CallSomeFunction();\n" +"/* evaluate result or handle exception */\n" +"\n" +"/* Release the thread. No Python API allowed beyond this point. */\n" +"PyGILState_Release(gstate);" +msgstr "" + +#: ../../c-api/threads.rst:264 +msgid "Cautions about fork()" +msgstr "" + +#: ../../c-api/threads.rst:266 +msgid "" +"Another important thing to note about threads is their behaviour in the face " +"of the C :c:func:`fork` call. On most systems with :c:func:`fork`, after a " +"process forks only the thread that issued the fork will exist. This has a " +"concrete impact both on how locks must be handled and on all stored state in " +"CPython's runtime." +msgstr "" + +#: ../../c-api/threads.rst:272 +msgid "" +"The fact that only the \"current\" thread remains means any locks held by " +"other threads will never be released. Python solves this for :func:`os.fork` " +"by acquiring the locks it uses internally before the fork, and releasing " +"them afterwards. In addition, it resets any :ref:`lock-objects` in the " +"child. When extending or embedding Python, there is no way to inform Python " +"of additional (non-Python) locks that need to be acquired before or reset " +"after a fork. OS facilities such as :c:func:`!pthread_atfork` would need to " +"be used to accomplish the same thing. Additionally, when extending or " +"embedding Python, calling :c:func:`fork` directly rather than through :func:" +"`os.fork` (and returning to or calling into Python) may result in a deadlock " +"by one of Python's internal locks being held by a thread that is defunct " +"after the fork. :c:func:`PyOS_AfterFork_Child` tries to reset the necessary " +"locks, but is not always able to." +msgstr "" + +#: ../../c-api/threads.rst:287 +msgid "" +"The fact that all other threads go away also means that CPython's runtime " +"state there must be cleaned up properly, which :func:`os.fork` does. This " +"means finalizing all other :c:type:`PyThreadState` objects belonging to the " +"current interpreter and all other :c:type:`PyInterpreterState` objects. Due " +"to this and the special nature of the :ref:`\"main\" interpreter `, :c:func:`fork` should only be called in that " +"interpreter's \"main\" thread, where the CPython global runtime was " +"originally initialized. The only exception is if :c:func:`exec` will be " +"called immediately after." +msgstr "" + +#: ../../c-api/threads.rst:300 +msgid "High-level APIs" +msgstr "" + +#: ../../c-api/threads.rst:302 +msgid "" +"These are the most commonly used types and functions when writing multi-" +"threaded C extensions." +msgstr "" + +#: ../../c-api/threads.rst:308 +msgid "" +"This data structure represents the state of a single thread. The only " +"public data member is:" +msgstr "" + +#: ../../c-api/threads.rst:313 +msgid "This thread's interpreter state." +msgstr "" + +#: ../../c-api/threads.rst:324 +msgid "Deprecated function which does nothing." +msgstr "" + +#: ../../c-api/threads.rst:326 +msgid "" +"In Python 3.6 and older, this function created the GIL if it didn't exist." +msgstr "" + +#: ../../c-api/threads.rst:328 +msgid "The function now does nothing." +msgstr "" + +#: ../../c-api/threads.rst:331 +msgid "" +"This function is now called by :c:func:`Py_Initialize()`, so you don't have " +"to call it yourself anymore." +msgstr "" + +#: ../../c-api/threads.rst:335 +msgid "" +"This function cannot be called before :c:func:`Py_Initialize()` anymore." +msgstr "" + +#: ../../c-api/threads.rst:345 +msgid "" +"Detach the :term:`attached thread state` and return it. The thread will have " +"no :term:`thread state` upon returning." +msgstr "" + +#: ../../c-api/threads.rst:351 +msgid "" +"Set the :term:`attached thread state` to *tstate*. The passed :term:`thread " +"state` **should not** be :term:`attached `, otherwise " +"deadlock ensues. *tstate* will be attached upon returning." +msgstr "" + +#: ../../c-api/threads.rst:356 ../../c-api/threads.rst:640 +msgid "" +"Calling this function from a thread when the runtime is finalizing will hang " +"the thread until the program exits, even if the thread was not created by " +"Python. Refer to :ref:`cautions-regarding-runtime-finalization` for more " +"details." +msgstr "" + +#: ../../c-api/threads.rst:361 ../../c-api/threads.rst:448 +#: ../../c-api/threads.rst:650 +msgid "" +"Hangs the current thread, rather than terminating it, if called while the " +"interpreter is finalizing." +msgstr "" + +#: ../../c-api/threads.rst:367 +msgid "" +"Return the :term:`attached thread state`. If the thread has no attached " +"thread state, (such as when inside of :c:macro:`Py_BEGIN_ALLOW_THREADS` " +"block), then this issues a fatal error (so that the caller needn't check for " +"``NULL``)." +msgstr "" + +#: ../../c-api/threads.rst:372 +msgid "See also :c:func:`PyThreadState_GetUnchecked`." +msgstr "" + +#: ../../c-api/threads.rst:376 +msgid "" +"Similar to :c:func:`PyThreadState_Get`, but don't kill the process with a " +"fatal error if it is NULL. The caller is responsible to check if the result " +"is NULL." +msgstr "" + +#: ../../c-api/threads.rst:380 +msgid "" +"In Python 3.5 to 3.12, the function was private and known as " +"``_PyThreadState_UncheckedGet()``." +msgstr "" + +#: ../../c-api/threads.rst:387 +msgid "" +"Set the :term:`attached thread state` to *tstate*, and return the :term:" +"`thread state` that was attached prior to calling." +msgstr "" + +#: ../../c-api/threads.rst:390 +msgid "" +"This function is safe to call without an :term:`attached thread state`; it " +"will simply return ``NULL`` indicating that there was no prior thread state." +msgstr "" + +#: ../../c-api/threads.rst:394 +msgid ":c:func:`PyEval_ReleaseThread`" +msgstr "" + +#: ../../c-api/threads.rst:397 +msgid "" +"Similar to :c:func:`PyGILState_Ensure`, this function will hang the thread " +"if the runtime is finalizing." +msgstr "" + +#: ../../c-api/threads.rst:402 +msgid "GIL-state APIs" +msgstr "" + +#: ../../c-api/threads.rst:404 +msgid "" +"The following functions use thread-local storage, and are not compatible " +"with sub-interpreters:" +msgstr "" + +#: ../../c-api/threads.rst:409 +msgid "" +"The type of the value returned by :c:func:`PyGILState_Ensure` and passed to :" +"c:func:`PyGILState_Release`." +msgstr "" + +#: ../../c-api/threads.rst:414 +msgid "The GIL was already held when :c:func:`PyGILState_Ensure` was called." +msgstr "" + +#: ../../c-api/threads.rst:418 +msgid "The GIL was not held when :c:func:`PyGILState_Ensure` was called." +msgstr "" + +#: ../../c-api/threads.rst:422 +msgid "" +"Ensure that the current thread is ready to call the Python C API regardless " +"of the current state of Python, or of the :term:`attached thread state`. " +"This may be called as many times as desired by a thread as long as each call " +"is matched with a call to :c:func:`PyGILState_Release`. In general, other " +"thread-related APIs may be used between :c:func:`PyGILState_Ensure` and :c:" +"func:`PyGILState_Release` calls as long as the thread state is restored to " +"its previous state before the Release(). For example, normal usage of the :" +"c:macro:`Py_BEGIN_ALLOW_THREADS` and :c:macro:`Py_END_ALLOW_THREADS` macros " +"is acceptable." +msgstr "" + +#: ../../c-api/threads.rst:432 +msgid "" +"The return value is an opaque \"handle\" to the :term:`attached thread " +"state` when :c:func:`PyGILState_Ensure` was called, and must be passed to :c:" +"func:`PyGILState_Release` to ensure Python is left in the same state. Even " +"though recursive calls are allowed, these handles *cannot* be shared - each " +"unique call to :c:func:`PyGILState_Ensure` must save the handle for its call " +"to :c:func:`PyGILState_Release`." +msgstr "" + +#: ../../c-api/threads.rst:439 +msgid "" +"When the function returns, there will be an :term:`attached thread state` " +"and the thread will be able to call arbitrary Python code. Failure is a " +"fatal error." +msgstr "" + +#: ../../c-api/threads.rst:443 +msgid "" +"Calling this function when the runtime is finalizing is unsafe. Doing so " +"will either hang the thread until the program ends, or fully crash the " +"interpreter in rare cases. Refer to :ref:`cautions-regarding-runtime-" +"finalization` for more details." +msgstr "" + +#: ../../c-api/threads.rst:454 +msgid "" +"Release any resources previously acquired. After this call, Python's state " +"will be the same as it was prior to the corresponding :c:func:" +"`PyGILState_Ensure` call (but generally this state will be unknown to the " +"caller, hence the use of the GILState API)." +msgstr "" + +#: ../../c-api/threads.rst:459 +msgid "" +"Every call to :c:func:`PyGILState_Ensure` must be matched by a call to :c:" +"func:`PyGILState_Release` on the same thread." +msgstr "" + +#: ../../c-api/threads.rst:464 +msgid "" +"Get the :term:`attached thread state` for this thread. May return ``NULL`` " +"if no GILState API has been used on the current thread. Note that the main " +"thread always has such a thread-state, even if no auto-thread-state call has " +"been made on the main thread. This is mainly a helper/diagnostic function." +msgstr "" + +#: ../../c-api/threads.rst:470 +msgid "" +"This function may return non-``NULL`` even when the :term:`thread state` is " +"detached. Prefer :c:func:`PyThreadState_Get` or :c:func:" +"`PyThreadState_GetUnchecked` for most cases." +msgstr "" + +#: ../../c-api/threads.rst:475 +msgid ":c:func:`PyThreadState_Get`" +msgstr "" + +#: ../../c-api/threads.rst:479 +msgid "" +"Return ``1`` if the current thread is holding the :term:`GIL` and ``0`` " +"otherwise. This function can be called from any thread at any time. Only if " +"it has had its :term:`thread state ` initialized via :" +"c:func:`PyGILState_Ensure` will it return ``1``. This is mainly a helper/" +"diagnostic function. It can be useful for example in callback contexts or " +"memory allocation functions when knowing that the :term:`GIL` is locked can " +"allow the caller to perform sensitive actions or otherwise behave " +"differently." +msgstr "" + +#: ../../c-api/threads.rst:489 +msgid "" +"If the current Python process has ever created a subinterpreter, this " +"function will *always* return ``1``. Prefer :c:func:" +"`PyThreadState_GetUnchecked` for most cases." +msgstr "" + +#: ../../c-api/threads.rst:497 +msgid "Low-level APIs" +msgstr "" + +#: ../../c-api/threads.rst:501 +msgid "" +"Create a new thread state object belonging to the given interpreter object. " +"An :term:`attached thread state` is not needed." +msgstr "" + +#: ../../c-api/threads.rst:506 +msgid "" +"Reset all information in a :term:`thread state` object. *tstate* must be :" +"term:`attached `" +msgstr "" + +#: ../../c-api/threads.rst:509 +msgid "" +"This function now calls the :c:member:`!PyThreadState.on_delete` callback. " +"Previously, that happened in :c:func:`PyThreadState_Delete`." +msgstr "" + +#: ../../c-api/threads.rst:513 +msgid "The :c:member:`!PyThreadState.on_delete` callback was removed." +msgstr "" + +#: ../../c-api/threads.rst:519 +msgid "" +"Destroy a :term:`thread state` object. *tstate* should not be :term:" +"`attached ` to any thread. *tstate* must have been " +"reset with a previous call to :c:func:`PyThreadState_Clear`." +msgstr "" + +#: ../../c-api/threads.rst:527 +msgid "" +"Detach the :term:`attached thread state` (which must have been reset with a " +"previous call to :c:func:`PyThreadState_Clear`) and then destroy it." +msgstr "" + +#: ../../c-api/threads.rst:530 +msgid "" +"No :term:`thread state` will be :term:`attached ` " +"upon returning." +msgstr "" + +#: ../../c-api/threads.rst:535 +msgid "Get the current frame of the Python thread state *tstate*." +msgstr "" + +#: ../../c-api/threads.rst:537 +msgid "" +"Return a :term:`strong reference`. Return ``NULL`` if no frame is currently " +"executing." +msgstr "" + +#: ../../c-api/threads.rst:540 +msgid "See also :c:func:`PyEval_GetFrame`." +msgstr "" + +#: ../../c-api/threads.rst:542 ../../c-api/threads.rst:551 +#: ../../c-api/threads.rst:560 +msgid "" +"*tstate* must not be ``NULL``, and must be :term:`attached `." +msgstr "" + +#: ../../c-api/threads.rst:549 +msgid "" +"Get the unique :term:`thread state` identifier of the Python thread state " +"*tstate*." +msgstr "" + +#: ../../c-api/threads.rst:558 +msgid "Get the interpreter of the Python thread state *tstate*." +msgstr "" + +#: ../../c-api/threads.rst:567 +msgid "Suspend tracing and profiling in the Python thread state *tstate*." +msgstr "" + +#: ../../c-api/threads.rst:569 +msgid "Resume them using the :c:func:`PyThreadState_LeaveTracing` function." +msgstr "" + +#: ../../c-api/threads.rst:576 +msgid "" +"Resume tracing and profiling in the Python thread state *tstate* suspended " +"by the :c:func:`PyThreadState_EnterTracing` function." +msgstr "" + +#: ../../c-api/threads.rst:579 +msgid "" +"See also :c:func:`PyEval_SetTrace` and :c:func:`PyEval_SetProfile` functions." +msgstr "" + +#: ../../c-api/threads.rst:587 +msgid "" +"Set the stack protection start address and stack protection size of a Python " +"thread state." +msgstr "" + +#: ../../c-api/threads.rst:590 +msgid "" +"On success, return ``0``. On failure, set an exception and return ``-1``." +msgstr "" + +#: ../../c-api/threads.rst:593 +msgid "" +"CPython implements :ref:`recursion control ` for C code by " +"raising :py:exc:`RecursionError` when it notices that the machine execution " +"stack is close to overflow. See for example the :c:func:" +"`Py_EnterRecursiveCall` function. For this, it needs to know the location of " +"the current thread's stack, which it normally gets from the operating " +"system. When the stack is changed, for example using context switching " +"techniques like the Boost library's ``boost::context``, you must call :c:" +"func:`~PyUnstable_ThreadState_SetStackProtection` to inform CPython of the " +"change." +msgstr "" + +#: ../../c-api/threads.rst:602 +msgid "" +"Call :c:func:`~PyUnstable_ThreadState_SetStackProtection` either before or " +"after changing the stack. Do not call any other Python C API between the " +"call and the stack change." +msgstr "" + +#: ../../c-api/threads.rst:607 +msgid "" +"See :c:func:`PyUnstable_ThreadState_ResetStackProtection` for undoing this " +"operation." +msgstr "" + +#: ../../c-api/threads.rst:614 +msgid "" +"Reset the stack protection start address and stack protection size of a " +"Python thread state to the operating system defaults." +msgstr "" + +#: ../../c-api/threads.rst:617 +msgid "" +"See :c:func:`PyUnstable_ThreadState_SetStackProtection` for an explanation." +msgstr "" + +#: ../../c-api/threads.rst:624 +msgid "" +"Return a dictionary in which extensions can store thread-specific state " +"information. Each extension should use a unique key to use to store state " +"in the dictionary. It is okay to call this function when no :term:`thread " +"state` is :term:`attached `. If this function returns " +"``NULL``, no exception has been raised and the caller should assume no " +"thread state is attached." +msgstr "" + +#: ../../c-api/threads.rst:634 +msgid "" +":term:`Attach ` *tstate* to the current thread, which " +"must not be ``NULL`` or already :term:`attached `." +msgstr "" + +#: ../../c-api/threads.rst:637 +msgid "" +"The calling thread must not already have an :term:`attached thread state`." +msgstr "" + +#: ../../c-api/threads.rst:645 +msgid "" +"Updated to be consistent with :c:func:`PyEval_RestoreThread`, :c:func:" +"`Py_END_ALLOW_THREADS`, and :c:func:`PyGILState_Ensure`, and terminate the " +"current thread if called while the interpreter is finalizing." +msgstr "" + +#: ../../c-api/threads.rst:654 +msgid "" +":c:func:`PyEval_RestoreThread` is a higher-level function which is always " +"available (even when threads have not been initialized)." +msgstr "" + +#: ../../c-api/threads.rst:660 +msgid "" +"Detach the :term:`attached thread state`. The *tstate* argument, which must " +"not be ``NULL``, is only used to check that it represents the :term:" +"`attached thread state` --- if it isn't, a fatal error is reported." +msgstr "" + +#: ../../c-api/threads.rst:665 +msgid "" +":c:func:`PyEval_SaveThread` is a higher-level function which is always " +"available (even when threads have not been initialized)." +msgstr "" + +#: ../../c-api/threads.rst:670 +msgid "Asynchronous notifications" +msgstr "" + +#: ../../c-api/threads.rst:672 +msgid "" +"A mechanism is provided to make asynchronous notifications to the main " +"interpreter thread. These notifications take the form of a function pointer " +"and a void pointer argument." +msgstr "" + +#: ../../c-api/threads.rst:679 +msgid "" +"Schedule a function to be called from the main interpreter thread. On " +"success, ``0`` is returned and *func* is queued for being called in the main " +"thread. On failure, ``-1`` is returned without setting any exception." +msgstr "" + +#: ../../c-api/threads.rst:683 +msgid "" +"When successfully queued, *func* will be *eventually* called from the main " +"interpreter thread with the argument *arg*. It will be called " +"asynchronously with respect to normally running Python code, but with both " +"these conditions met:" +msgstr "" + +#: ../../c-api/threads.rst:688 +msgid "on a :term:`bytecode` boundary;" +msgstr "" + +#: ../../c-api/threads.rst:689 +msgid "" +"with the main thread holding an :term:`attached thread state` (*func* can " +"therefore use the full C API)." +msgstr "" + +#: ../../c-api/threads.rst:692 +msgid "" +"*func* must return ``0`` on success, or ``-1`` on failure with an exception " +"set. *func* won't be interrupted to perform another asynchronous " +"notification recursively, but it can still be interrupted to switch threads " +"if the :term:`thread state ` is detached." +msgstr "" + +#: ../../c-api/threads.rst:697 +msgid "" +"This function doesn't need an :term:`attached thread state`. However, to " +"call this function in a subinterpreter, the caller must have an :term:" +"`attached thread state`. Otherwise, the function *func* can be scheduled to " +"be called from the wrong interpreter." +msgstr "" + +#: ../../c-api/threads.rst:702 +msgid "" +"This is a low-level function, only useful for very special cases. There is " +"no guarantee that *func* will be called as quick as possible. If the main " +"thread is busy executing a system call, *func* won't be called before the " +"system call returns. This function is generally **not** suitable for " +"calling Python code from arbitrary C threads. Instead, use the :ref:" +"`PyGILState API`." +msgstr "" + +#: ../../c-api/threads.rst:711 +msgid "" +"If this function is called in a subinterpreter, the function *func* is now " +"scheduled to be called from the subinterpreter, rather than being called " +"from the main interpreter. Each subinterpreter now has its own list of " +"scheduled calls." +msgstr "" + +#: ../../c-api/threads.rst:717 +msgid "" +"This function now always schedules *func* to be run in the main interpreter." +msgstr "" + +#: ../../c-api/threads.rst:724 +msgid "" +"Execute all pending calls. This is usually executed automatically by the " +"interpreter." +msgstr "" + +#: ../../c-api/threads.rst:727 +msgid "" +"This function returns ``0`` on success, and returns ``-1`` with an exception " +"set on failure." +msgstr "" + +#: ../../c-api/threads.rst:730 +msgid "" +"If this is not called in the main thread of the main interpreter, this " +"function does nothing and returns ``0``. The caller must hold an :term:" +"`attached thread state`." +msgstr "" + +#: ../../c-api/threads.rst:736 +msgid "This function only runs pending calls in the main interpreter." +msgstr "" + +#: ../../c-api/threads.rst:742 +msgid "" +"Asynchronously raise an exception in a thread. The *id* argument is the " +"thread id of the target thread; *exc* is the exception object to be raised. " +"This function does not :term:`steal` any references to *exc*. To prevent " +"naive misuse, you must write your own C extension to call this. Must be " +"called with an :term:`attached thread state`. Returns the number of thread " +"states modified; this is normally one, but will be zero if the thread id " +"isn't found. If *exc* is ``NULL``, the pending exception (if any) for the " +"thread is cleared. This raises no exceptions." +msgstr "" + +#: ../../c-api/threads.rst:750 +msgid "" +"The type of the *id* parameter changed from :c:expr:`long` to :c:expr:" +"`unsigned long`." +msgstr "" + +#: ../../c-api/threads.rst:756 +msgid "Operating system thread APIs" +msgstr "" + +#: ../../c-api/threads.rst:760 +msgid "Sentinel value for an invalid thread ID." +msgstr "" + +#: ../../c-api/threads.rst:762 +msgid "This is currently equivalent to ``(unsigned long)-1``." +msgstr "" + +#: ../../c-api/threads.rst:767 +msgid "" +"Start function *func* in a new thread with argument *arg*. The resulting " +"thread is not intended to be joined." +msgstr "" + +#: ../../c-api/threads.rst:770 +msgid "*func* must not be ``NULL``, but *arg* may be ``NULL``." +msgstr "" + +#: ../../c-api/threads.rst:772 +msgid "" +"On success, this function returns the identifier of the new thread; on " +"failure, this returns :c:macro:`PYTHREAD_INVALID_THREAD_ID`." +msgstr "" + +#: ../../c-api/threads.rst:775 ../../c-api/threads.rst:859 +#: ../../c-api/threads.rst:867 +msgid "The caller does not need to hold an :term:`attached thread state`." +msgstr "" + +#: ../../c-api/threads.rst:780 +msgid "Return the identifier of the current thread, which will never be zero." +msgstr "" + +#: ../../c-api/threads.rst:782 ../../c-api/threads.rst:814 +msgid "" +"This function cannot fail, and the caller does not need to hold an :term:" +"`attached thread state`." +msgstr "" + +#: ../../c-api/threads.rst:786 +msgid ":py:func:`threading.get_ident`" +msgstr "" + +#: ../../c-api/threads.rst:791 +msgid "" +"Get general information about the current thread in the form of a :ref:" +"`struct sequence ` object. This information is " +"accessible as :py:attr:`sys.thread_info` in Python." +msgstr "" + +#: ../../c-api/threads.rst:795 +msgid "" +"On success, this returns a new :term:`strong reference` to the thread " +"information; on failure, this returns ``NULL`` with an exception set." +msgstr "" + +#: ../../c-api/threads.rst:798 +msgid "The caller must hold an :term:`attached thread state`." +msgstr "" + +#: ../../c-api/threads.rst:803 +msgid "This macro is defined when the system supports native thread IDs." +msgstr "" + +#: ../../c-api/threads.rst:808 +msgid "" +"Get the native identifier of the current thread as it was assigned by the " +"operating system's kernel, which will never be less than zero." +msgstr "" + +#: ../../c-api/threads.rst:811 +msgid "" +"This function is only available when :c:macro:`PY_HAVE_THREAD_NATIVE_ID` is " +"defined." +msgstr "" + +#: ../../c-api/threads.rst:818 +msgid ":py:func:`threading.get_native_id`" +msgstr "" + +#: ../../c-api/threads.rst:823 +msgid "" +"Terminate the current thread. This function is generally considered unsafe " +"and should be avoided. It is kept solely for backwards compatibility." +msgstr "" + +#: ../../c-api/threads.rst:826 +msgid "" +"This function is only safe to call if all functions in the full call stack " +"are written to safely allow it." +msgstr "" + +#: ../../c-api/threads.rst:831 +msgid "" +"If the current system uses POSIX threads (also known as \"pthreads\"), this " +"calls :manpage:`pthread_exit(3)`, which attempts to unwind the stack and " +"call C++ destructors on some libc implementations. However, if a " +"``noexcept`` function is reached, it may terminate the process. Other " +"systems, such as macOS, do unwinding." +msgstr "" + +#: ../../c-api/threads.rst:837 +msgid "" +"On Windows, this function calls ``_endthreadex()``, which kills the thread " +"without calling C++ destructors." +msgstr "" + +#: ../../c-api/threads.rst:840 +msgid "In any case, there is a risk of corruption on the thread's stack." +msgstr "" + +#: ../../c-api/threads.rst:847 +msgid "" +"Initialize ``PyThread*`` APIs. Python executes this function automatically, " +"so there's little need to call it from an extension module." +msgstr "" + +#: ../../c-api/threads.rst:853 +msgid "Set the stack size of the current thread to *size* bytes." +msgstr "" + +#: ../../c-api/threads.rst:855 +msgid "" +"This function returns ``0`` on success, ``-1`` if *size* is invalid, or " +"``-2`` if the system does not support changing the stack size. This function " +"does not set exceptions." +msgstr "" + +#: ../../c-api/threads.rst:864 +msgid "" +"Return the stack size of the current thread in bytes, or ``0`` if the " +"system's default stack size is in use." +msgstr "" + +#: ../../c-api/threads.rst:8 +msgid "global interpreter lock" +msgstr "" + +#: ../../c-api/threads.rst:8 +msgid "interpreter lock" +msgstr "" + +#: ../../c-api/threads.rst:8 +msgid "lock, interpreter" +msgstr "" + +#: ../../c-api/threads.rst:25 +msgid "setswitchinterval (in module sys)" +msgstr "" + +#: ../../c-api/threads.rst:36 +msgid "PyThreadState (C type)" +msgstr "" + +#: ../../c-api/threads.rst:87 +msgid "Py_BEGIN_ALLOW_THREADS (C macro)" +msgstr "" + +#: ../../c-api/threads.rst:87 +msgid "Py_END_ALLOW_THREADS (C macro)" +msgstr "" + +#: ../../c-api/threads.rst:103 +msgid "PyEval_RestoreThread (C function)" +msgstr "" + +#: ../../c-api/threads.rst:103 +msgid "PyEval_SaveThread (C function)" +msgstr "" + +#: ../../c-api/threads.rst:318 +msgid "PyEval_AcquireThread()" +msgstr "" + +#: ../../c-api/threads.rst:318 +msgid "PyEval_ReleaseThread()" +msgstr "" + +#: ../../c-api/threads.rst:318 +msgid "PyEval_SaveThread()" +msgstr "" + +#: ../../c-api/threads.rst:318 +msgid "PyEval_RestoreThread()" +msgstr "" + +#: ../../c-api/threads.rst:340 +msgid "module" +msgstr "" + +#: ../../c-api/threads.rst:340 +msgid "_thread" +msgstr "" diff --git a/c-api/tls.po b/c-api/tls.po new file mode 100644 index 00000000..2ceef6ff --- /dev/null +++ b/c-api/tls.po @@ -0,0 +1,191 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../c-api/tls.rst:6 +msgid "Thread-local storage support" +msgstr "" + +#: ../../c-api/tls.rst:8 +msgid "" +"The Python interpreter provides low-level support for thread-local storage " +"(TLS) which wraps the underlying native TLS implementation to support the " +"Python-level thread-local storage API (:class:`threading.local`). The " +"CPython C level APIs are similar to those offered by pthreads and Windows: " +"use a thread key and functions to associate a :c:expr:`void*` value per " +"thread." +msgstr "" + +#: ../../c-api/tls.rst:15 +msgid "" +"A :term:`thread state` does *not* need to be :term:`attached ` when calling these functions; they supply their own locking." +msgstr "" + +#: ../../c-api/tls.rst:18 +msgid "" +"Note that :file:`Python.h` does not include the declaration of the TLS APIs, " +"you need to include :file:`pythread.h` to use thread-local storage." +msgstr "" + +#: ../../c-api/tls.rst:22 +msgid "" +"None of these API functions handle memory management on behalf of the :c:" +"expr:`void*` values. You need to allocate and deallocate them yourself. If " +"the :c:expr:`void*` values happen to be :c:expr:`PyObject*`, these functions " +"don't do refcount operations on them either." +msgstr "" + +#: ../../c-api/tls.rst:30 +msgid "Thread-specific storage API" +msgstr "" + +#: ../../c-api/tls.rst:32 +msgid "" +"The thread-specific storage (TSS) API was introduced to supersede the use of " +"the existing TLS API within the CPython interpreter. This API uses a new " +"type :c:type:`Py_tss_t` instead of :c:expr:`int` to represent thread keys." +msgstr "" + +#: ../../c-api/tls.rst:38 +msgid "\"A New C-API for Thread-Local Storage in CPython\" (:pep:`539`)" +msgstr "" + +#: ../../c-api/tls.rst:43 +msgid "" +"This data structure represents the state of a thread key, the definition of " +"which may depend on the underlying TLS implementation, and it has an " +"internal field representing the key's initialization state. There are no " +"public members in this structure." +msgstr "" + +#: ../../c-api/tls.rst:48 +msgid "" +"When :ref:`Py_LIMITED_API ` is not defined, static allocation of " +"this type by :c:macro:`Py_tss_NEEDS_INIT` is allowed." +msgstr "" + +#: ../../c-api/tls.rst:54 +msgid "" +"This macro expands to the initializer for :c:type:`Py_tss_t` variables. Note " +"that this macro won't be defined with :ref:`Py_LIMITED_API `." +msgstr "" + +#: ../../c-api/tls.rst:59 +msgid "Dynamic allocation" +msgstr "" + +#: ../../c-api/tls.rst:61 +msgid "" +"Dynamic allocation of the :c:type:`Py_tss_t`, required in extension modules " +"built with :ref:`Py_LIMITED_API `, where static allocation of this " +"type is not possible due to its implementation being opaque at build time." +msgstr "" + +#: ../../c-api/tls.rst:68 +msgid "" +"Return a value which is the same state as a value initialized with :c:macro:" +"`Py_tss_NEEDS_INIT`, or ``NULL`` in the case of dynamic allocation failure." +msgstr "" + +#: ../../c-api/tls.rst:75 +msgid "" +"Free the given *key* allocated by :c:func:`PyThread_tss_alloc`, after first " +"calling :c:func:`PyThread_tss_delete` to ensure any associated thread locals " +"have been unassigned. This is a no-op if the *key* argument is ``NULL``." +msgstr "" + +#: ../../c-api/tls.rst:81 +msgid "" +"A freed key becomes a dangling pointer. You should reset the key to ``NULL``." +msgstr "" + +#: ../../c-api/tls.rst:86 +msgid "Methods" +msgstr "" + +#: ../../c-api/tls.rst:88 +msgid "" +"The parameter *key* of these functions must not be ``NULL``. Moreover, the " +"behaviors of :c:func:`PyThread_tss_set` and :c:func:`PyThread_tss_get` are " +"undefined if the given :c:type:`Py_tss_t` has not been initialized by :c:" +"func:`PyThread_tss_create`." +msgstr "" + +#: ../../c-api/tls.rst:96 +msgid "" +"Return a non-zero value if the given :c:type:`Py_tss_t` has been initialized " +"by :c:func:`PyThread_tss_create`." +msgstr "" + +#: ../../c-api/tls.rst:102 +msgid "" +"Return a zero value on successful initialization of a TSS key. The behavior " +"is undefined if the value pointed to by the *key* argument is not " +"initialized by :c:macro:`Py_tss_NEEDS_INIT`. This function can be called " +"repeatedly on the same key -- calling it on an already initialized key is a " +"no-op and immediately returns success." +msgstr "" + +#: ../../c-api/tls.rst:111 +msgid "" +"Destroy a TSS key to forget the values associated with the key across all " +"threads, and change the key's initialization state to uninitialized. A " +"destroyed key is able to be initialized again by :c:func:" +"`PyThread_tss_create`. This function can be called repeatedly on the same " +"key -- calling it on an already destroyed key is a no-op." +msgstr "" + +#: ../../c-api/tls.rst:120 +msgid "" +"Return a zero value to indicate successfully associating a :c:expr:`void*` " +"value with a TSS key in the current thread. Each thread has a distinct " +"mapping of the key to a :c:expr:`void*` value." +msgstr "" + +#: ../../c-api/tls.rst:127 +msgid "" +"Return the :c:expr:`void*` value associated with a TSS key in the current " +"thread. This returns ``NULL`` if no value is associated with the key in the " +"current thread." +msgstr "" + +#: ../../c-api/tls.rst:135 +msgid "Legacy APIs" +msgstr "" + +#: ../../c-api/tls.rst:137 +msgid "" +"This API is superseded by the :ref:`thread-specific storage (TSS) API " +"`." +msgstr "" + +#: ../../c-api/tls.rst:142 +msgid "" +"This version of the API does not support platforms where the native TLS key " +"is defined in a way that cannot be safely cast to ``int``. On such " +"platforms, :c:func:`PyThread_create_key` will return immediately with a " +"failure status, and the other TLS functions will all be no-ops on such " +"platforms." +msgstr "" + +#: ../../c-api/tls.rst:147 +msgid "" +"Due to the compatibility problem noted above, this version of the API should " +"not be used in new code." +msgstr "" diff --git a/cpython-src b/cpython-src index e13e7cd4..0b3e6157 160000 --- a/cpython-src +++ b/cpython-src @@ -1 +1 @@ -Subproject commit e13e7cd40e6d5d8ec2ff3a8a7c3a7c38812a3d83 +Subproject commit 0b3e615714a510827fc497e6620879979da41668 diff --git a/deprecations/pending-removal-in-3.18.po b/deprecations/pending-removal-in-3.18.po new file mode 100644 index 00000000..5753f4ca --- /dev/null +++ b/deprecations/pending-removal-in-3.18.po @@ -0,0 +1,34 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../deprecations/pending-removal-in-3.18.rst:2 +msgid "Pending removal in Python 3.18" +msgstr "" + +#: ../../deprecations/pending-removal-in-3.18.rst:4 +msgid ":mod:`decimal`:" +msgstr "" + +#: ../../deprecations/pending-removal-in-3.18.rst:6 +msgid "" +"The non-standard and undocumented :class:`~decimal.Decimal` format specifier " +"``'N'``, which is only supported in the :mod:`!decimal` module's C " +"implementation, has been deprecated since Python 3.13. (Contributed by " +"Serhiy Storchaka in :gh:`89902`.)" +msgstr "" diff --git a/improve-page-nojs.po b/improve-page-nojs.po new file mode 100644 index 00000000..8846db5a --- /dev/null +++ b/improve-page-nojs.po @@ -0,0 +1,54 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../improve-page-nojs.rst:5 +msgid "Improve a documentation page" +msgstr "" + +#: ../../improve-page-nojs.rst:13 +msgid "" +"We are always interested to hear ideas about improvements to the " +"documentation." +msgstr "" + +#: ../../improve-page-nojs.rst:17 +msgid "" +"If the bug or suggested improvement concerns the translation of this " +"documentation, open an issue or edit the page in `translation's repository " +"`_ instead." +msgstr "" + +#: ../../improve-page-nojs.rst:21 +msgid "You have a few ways to ask questions or suggest changes:" +msgstr "" + +#: ../../improve-page-nojs.rst:23 +msgid "" +"You can start a discussion about the page on the Python discussion forum. " +"This link will start a topic in the Documentation category: `New " +"Documentation topic `_." +msgstr "" + +#: ../../improve-page-nojs.rst:27 +msgid "" +"You can open an issue on the Python GitHub issue tracker. This link will " +"create a new issue with the \"docs\" label: `New docs issue `_." +msgstr "" diff --git a/improve-page.po b/improve-page.po new file mode 100644 index 00000000..4a2224d3 --- /dev/null +++ b/improve-page.po @@ -0,0 +1,71 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../improve-page.rst:5 +msgid "Improve a documentation page" +msgstr "" + +#: ../../improve-page.rst:43 +msgid "" +"We are always interested to hear ideas about improvements to the " +"documentation." +msgstr "" + +#: ../../improve-page.rst:45 +msgid "" +"You were reading \"PAGETITLE\" at ``_. The source for that page is " +"on `GitHub `_." +msgstr "" + +#: ../../improve-page.rst:50 +msgid "" +"If the bug or suggested improvement concerns the translation of this " +"documentation, open an issue or edit the page in `translation's repository " +"`_ instead." +msgstr "" + +#: ../../improve-page.rst:54 +msgid "You have a few ways to ask questions or suggest changes:" +msgstr "" + +#: ../../improve-page.rst:56 +msgid "" +"You can start a discussion about the page on the Python discussion forum. " +"This link will start a pre-populated topic: `Question about page " +"\"PAGETITLE\" `_." +msgstr "" + +#: ../../improve-page.rst:60 +msgid "" +"You can open an issue on the Python GitHub issue tracker. This link will " +"create a new pre-populated issue: `Docs: problem with page \"PAGETITLE\" " +"`_." +msgstr "" + +#: ../../improve-page.rst:64 +msgid "" +"You can `edit the page on GitHub `_ to open a pull request and begin the " +"contribution process." +msgstr "" diff --git a/library/asyncio-threading.po b/library/asyncio-threading.po new file mode 100644 index 00000000..37a586b4 --- /dev/null +++ b/library/asyncio-threading.po @@ -0,0 +1,210 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../library/asyncio-threading.rst:6 +msgid "asyncio and free-threaded Python" +msgstr "" + +#: ../../library/asyncio-threading.rst:8 +msgid "" +"asyncio uses an event loop as a scheduler to enable highly efficient " +"concurrency by switching between tasks to allow non-blocking I/O operations. " +"This results in better performance for I/O-bound use cases. It also allows " +"off-loading CPU-bound work to a thread or process pool, but that is still " +"limited by the :term:`global interpreter lock` in CPython." +msgstr "" + +#: ../../library/asyncio-threading.rst:15 +msgid "" +"However, in :ref:`free-threaded Python `, the " +"GIL is disabled and Python can run true multi-threaded code. This means that " +"asyncio can now take advantage of multiple CPU cores without the limitations " +"imposed by the GIL." +msgstr "" + +#: ../../library/asyncio-threading.rst:20 +msgid "" +"Since Python 3.14, asyncio has first-class support for free-threaded Python, " +"and the implementation of asyncio is safe to use in a multi-threaded " +"environment." +msgstr "" + +#: ../../library/asyncio-threading.rst:24 +msgid "" +"A single event loop on one core can handle many connections concurrently, " +"but the Python code that runs to handle each one still executes serially. " +"Once requests involve a non-trivial amount of per-request computation, that " +"handling becomes the bottleneck, and a single core can no longer keep up. " +"Combining asyncio with threads is most useful here: by running an event loop " +"per thread, the handling of different requests can run in parallel across " +"multiple CPU cores. It is also useful when you need to run blocking or CPU-" +"bound code from an asyncio application." +msgstr "" + +#: ../../library/asyncio-threading.rst:37 +msgid "" +"`Scaling asyncio on Free-Threaded Python `__, a blog post by Kumar Aditya " +"which explains the internal changes that make asyncio safe and efficient " +"under free-threaded Python, together with benchmarks of the resulting " +"improvements." +msgstr "" + +#: ../../library/asyncio-threading.rst:45 +msgid "Thread safety considerations" +msgstr "" + +#: ../../library/asyncio-threading.rst:47 +msgid "" +"While asyncio is designed to be thread-safe in a free-threaded Python " +"environment, there are still some considerations to keep in mind when using " +"asyncio with threads:" +msgstr "" + +#: ../../library/asyncio-threading.rst:51 +msgid "" +"**Event loop**: Each thread should have its own event loop which should not " +"be shared across threads. This ensures that the event loop can manage its " +"own tasks and callbacks without interference from other threads." +msgstr "" + +#: ../../library/asyncio-threading.rst:56 +msgid "" +"**Task management**: Tasks and futures created in one thread should not be " +"awaited or manipulated from another thread." +msgstr "" + +#: ../../library/asyncio-threading.rst:59 +msgid "" +"**Thread-safe APIs**: When interacting with asyncio from multiple threads, " +"it's important to use thread-safe APIs provided by asyncio, such as :func:" +"`asyncio.run_coroutine_threadsafe` for submitting coroutines to an event " +"loop from another thread. If you need to call a callback from a different " +"thread, you can use :meth:`loop.call_soon_threadsafe` to schedule it safely." +msgstr "" + +#: ../../library/asyncio-threading.rst:66 +msgid "" +"**Synchronization**: The synchronization primitives provided by asyncio " +"(like :class:`asyncio.Lock` and :class:`asyncio.Event`) are not designed to " +"be used across threads. If you need to synchronize between threads, you " +"should use the synchronization primitives from the :mod:`threading` module " +"instead." +msgstr "" + +#: ../../library/asyncio-threading.rst:74 +msgid "Using asyncio with threads" +msgstr "" + +#: ../../library/asyncio-threading.rst:76 +msgid "" +"asyncio supports running one event loop per thread, which allows you to take " +"advantage of multiple CPU cores in a free-threaded Python environment. Each " +"thread can run its own event loop, and tasks can be scheduled on those loops " +"independently." +msgstr "" + +#: ../../library/asyncio-threading.rst:81 +msgid "Here's an example of how to use asyncio with threads::" +msgstr "" + +#: ../../library/asyncio-threading.rst:83 +msgid "" +"import asyncio\n" +"import threading\n" +"\n" +"async def worker(name: str) -> None:\n" +" print(f\"Worker {name} starting\")\n" +" await asyncio.sleep(1)\n" +" print(f\"Worker {name} done\")\n" +"\n" +"def run_loop(name: str) -> None:\n" +" asyncio.run(worker(name))\n" +"\n" +"threads = [\n" +" threading.Thread(target=run_loop, args=(f\"T{i}\",))\n" +" for i in range(4)\n" +"]\n" +"for t in threads:\n" +" t.start()\n" +"for t in threads:\n" +" t.join()" +msgstr "" + +#: ../../library/asyncio-threading.rst:103 +msgid "" +"In this example, each thread creates its own event loop with :func:`asyncio." +"run` and runs a coroutine on it. The threads execute concurrently, and in a " +"free-threaded build they can run on separate CPU cores in parallel." +msgstr "" + +#: ../../library/asyncio-threading.rst:110 +msgid "Producer/consumer across threads" +msgstr "" + +#: ../../library/asyncio-threading.rst:112 +msgid "" +"When a regular (non-asyncio) thread needs to hand work to an asyncio event " +"loop running in another thread, use a thread-safe primitive such as :class:" +"`queue.Queue` rather than :class:`asyncio.Queue`, which is only safe within " +"a single event loop.::" +msgstr "" + +#: ../../library/asyncio-threading.rst:117 +msgid "" +"import asyncio\n" +"import queue\n" +"import threading\n" +"\n" +"def producer(q: queue.Queue[int]) -> None:\n" +" for i in range(5):\n" +" print(f\"Producing {i}\")\n" +" q.put(i)\n" +" q.shutdown()\n" +"\n" +"async def consumer(q: queue.Queue[int]) -> None:\n" +" while True:\n" +" try:\n" +" item = q.get_nowait()\n" +" except queue.Empty:\n" +" await asyncio.sleep(0.1)\n" +" continue\n" +" except queue.ShutDown:\n" +" break\n" +" print(f\"Consumed {item}\")\n" +" await asyncio.sleep(item)\n" +"\n" +"q: queue.Queue[int] = queue.Queue()\n" +"consumer_thread = threading.Thread(\n" +" target=lambda: asyncio.run(consumer(q))\n" +")\n" +"consumer_thread.start()\n" +"producer(q)\n" +"consumer_thread.join()" +msgstr "" + +#: ../../library/asyncio-threading.rst:147 +msgid "" +"The producer runs on the main thread while the consumer runs inside an event " +"loop on its own thread, yet they communicate safely through ``queue.Queue``. " +"When the queue is empty the consumer sleeps briefly and tries again. When " +"the producer is done it calls :meth:`~queue.Queue.shutdown`, which causes " +"subsequent :meth:`~queue.Queue.get_nowait` calls to raise :exc:`queue." +"ShutDown` so the consumer can exit cleanly." +msgstr "" diff --git a/library/asyncio-tools.po b/library/asyncio-tools.po new file mode 100644 index 00000000..85623e58 --- /dev/null +++ b/library/asyncio-tools.po @@ -0,0 +1,223 @@ +# German translations for Python package. +# Copyright (C) 2001 Python Software Foundation +# This file is distributed under the same license as the Python package. +# Automatically generated, 2026. +# +msgid "" +msgstr "" +"Project-Id-Version: Python 3.14\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" +"PO-Revision-Date: 2026-09-23 06:17+0000\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../library/asyncio-tools.rst:7 +msgid "Command-line introspection tools" +msgstr "" + +#: ../../library/asyncio-tools.rst:9 +msgid "**Source code:** :source:`Lib/asyncio/tools.py`" +msgstr "" + +#: ../../library/asyncio-tools.rst:13 +msgid "" +"The :mod:`!asyncio` module can be invoked as a script via ``python -m " +"asyncio`` to inspect the task graph of another running Python process " +"without modifying it or restarting it. The :mod:`!asyncio.tools` submodule " +"implements this interface." +msgstr "" + +#: ../../library/asyncio-tools.rst:18 +msgid "The following commands inspect the process identified by ``PID``:" +msgstr "" + +#: ../../library/asyncio-tools.rst:20 +msgid "" +"$ python -m asyncio pstree PID\n" +"$ python -m asyncio ps PID" +msgstr "" + +#: ../../library/asyncio-tools.rst:25 +msgid "" +"The commands read the target process state without executing any code in it. " +"They are only available on supported platforms and may require permission to " +"inspect another process. See the :ref:`permission requirements ` for details." +msgstr "" + +#: ../../library/asyncio-tools.rst:31 +msgid ":ref:`asyncio-graph`" +msgstr "" + +#: ../../library/asyncio-tools.rst:32 +msgid "" +"Programmatic APIs for inspecting the async call graph of a task or future in " +"the current process." +msgstr "" + +#: ../../library/asyncio-tools.rst:35 +msgid "" +"The command examples below use this program, which creates a task hierarchy " +"suitable for inspection and prints its process ID:" +msgstr "" + +#: ../../library/asyncio-tools.rst:38 +msgid "example.py" +msgstr "" + +#: ../../library/asyncio-tools.rst:38 +msgid "" +"import asyncio\n" +"import os\n" +"\n" +"async def play(track):\n" +" await asyncio.sleep(3600)\n" +" print(f\"🎵 Finished: {track}\")\n" +"\n" +"async def album(name, tracks):\n" +" async with asyncio.TaskGroup() as tg:\n" +" for track in tracks:\n" +" tg.create_task(play(track), name=track)\n" +"\n" +"async def main():\n" +" print(f\"PID: {os.getpid()}\")\n" +" async with asyncio.TaskGroup() as tg:\n" +" tg.create_task(\n" +" album(\"Sundowning\", [\"TNDNBTG\", \"Levitate\"]),\n" +" name=\"Sundowning\",\n" +" )\n" +" tg.create_task(\n" +" album(\"TMBTE\", [\"DYWTYLM\", \"Aqua Regia\"]),\n" +" name=\"TMBTE\",\n" +" )\n" +"\n" +"asyncio.run(main())" +msgstr "" + +#: ../../library/asyncio-tools.rst:67 +msgid "Run the program in one terminal and leave it running:" +msgstr "" + +#: ../../library/asyncio-tools.rst:69 +msgid "" +"$ python example.py\n" +"PID: 12345" +msgstr "" + +#: ../../library/asyncio-tools.rst:74 +msgid "" +"Then pass the printed process ID to the commands from another terminal. " +"Thread IDs, task IDs, file paths, and line numbers vary between runs and " +"source layouts." +msgstr "" + +#: ../../library/asyncio-tools.rst:81 +msgid "Command-line options" +msgstr "" + +#: ../../library/asyncio-tools.rst:85 +msgid "" +"Display task and coroutine relationships as a tree. Each task is shown with " +"its full coroutine stack, nested under the task (if any) that is awaiting " +"it. This subcommand is useful for quickly identifying which branch of a " +"task hierarchy is blocked and where in its coroutine stack execution has " +"paused:" +msgstr "" + +#: ../../library/asyncio-tools.rst:91 +msgid "" +"$ python -m asyncio pstree 12345\n" +"└── (T) Task-1\n" +" └── main example.py:12\n" +" └── TaskGroup.__aexit__ Lib/asyncio/taskgroups.py:75\n" +" └── TaskGroup._aexit Lib/asyncio/taskgroups.py:124\n" +" ├── (T) Sundowning\n" +" │ └── album example.py:7\n" +" │ └── TaskGroup.__aexit__ Lib/asyncio/taskgroups." +"py:75\n" +" │ └── TaskGroup._aexit Lib/asyncio/taskgroups." +"py:124\n" +" │ ├── (T) TNDNBTG\n" +" │ │ └── play example.py:4\n" +" │ │ └── sleep Lib/asyncio/tasks.py:702\n" +" │ └── (T) Levitate\n" +" │ └── play example.py:4\n" +" │ └── sleep Lib/asyncio/tasks.py:702\n" +" └── (T) TMBTE\n" +" └── album example.py:7\n" +" └── TaskGroup.__aexit__ Lib/asyncio/taskgroups." +"py:75\n" +" └── TaskGroup._aexit Lib/asyncio/taskgroups." +"py:124\n" +" ├── (T) DYWTYLM\n" +" │ └── play example.py:4\n" +" │ └── sleep Lib/asyncio/tasks.py:702\n" +" └── (T) Aqua Regia\n" +" └── play example.py:4\n" +" └── sleep Lib/asyncio/tasks.py:702" +msgstr "" + +#: ../../library/asyncio-tools.rst:119 +msgid "" +"If the await graph contains a cycle, ``pstree`` reports an error instead of " +"printing a tree. A cycle in the await graph is unusual and typically " +"indicates a programming error:" +msgstr "" + +#: ../../library/asyncio-tools.rst:123 +msgid "" +"$ python -m asyncio pstree 12345\n" +"ERROR: await-graph contains cycles - cannot print a tree!\n" +"\n" +"cycle: Task-2 → Task-3 → Task-2" +msgstr "" + +#: ../../library/asyncio-tools.rst:132 +msgid "" +"Display a flat table of all pending tasks in the process *PID*. Each row " +"shows the event-loop thread ID, task ID and name, coroutine stack, and the " +"awaiting task's stack, name, and ID, if any." +msgstr "" + +#: ../../library/asyncio-tools.rst:136 +msgid "" +"This subcommand prints all tasks regardless of whether the await graph " +"contains cycles:" +msgstr "" + +#: ../../library/asyncio-tools.rst:139 +msgid "" +"$ python -m asyncio ps 12345\n" +"tid task id task name coroutine " +"stack awaiter " +"chain awaiter name awaiter id\n" +"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n" +"18445801 0x10a456060 Task-1 TaskGroup._aexit -> " +"TaskGroup.__aexit__ -> " +"main " +"0x0\n" +"18445801 0x10a439f60 Sundowning TaskGroup._aexit -> " +"TaskGroup.__aexit__ -> album TaskGroup._aexit -> TaskGroup.__aexit__ -> " +"main Task-1 0x10a456060\n" +"18445801 0x10a439d70 TMBTE TaskGroup._aexit -> " +"TaskGroup.__aexit__ -> album TaskGroup._aexit -> TaskGroup.__aexit__ -> " +"main Task-1 0x10a456060\n" +"18445801 0x10a2a3a80 TNDNBTG sleep -> " +"play TaskGroup._aexit -> TaskGroup." +"__aexit__ -> album Sundowning 0x10a439f60\n" +"18445801 0x10a2a38a0 Levitate sleep -> " +"play TaskGroup._aexit -> TaskGroup." +"__aexit__ -> album Sundowning 0x10a439f60\n" +"18445801 0x10a2d7150 DYWTYLM sleep -> " +"play TaskGroup._aexit -> TaskGroup." +"__aexit__ -> album TMBTE 0x10a439d70\n" +"18445801 0x10a6bdaa0 Aqua Regia sleep -> " +"play TaskGroup._aexit -> TaskGroup." +"__aexit__ -> album TMBTE 0x10a439d70" +msgstr "" diff --git a/library/codecs.po b/library/codecs.po index b3a1dbd1..50017439 100644 --- a/library/codecs.po +++ b/library/codecs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-15 09:12+0000\n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" "PO-Revision-Date: 2025-09-16 00:00+0000\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" "Language: de\n" @@ -399,7 +399,7 @@ msgstr "" #: ../../library/codecs.rst:356 ../../library/codecs.rst:399 #: ../../library/codecs.rst:419 ../../library/codecs.rst:1376 -#: ../../library/codecs.rst:1456 ../../library/codecs.rst:1541 +#: ../../library/codecs.rst:1465 ../../library/codecs.rst:1550 msgid "Meaning" msgstr "" @@ -1421,12 +1421,12 @@ msgid "an IBM PC code page, which is ASCII compatible" msgstr "" #: ../../library/codecs.rst:1117 ../../library/codecs.rst:1376 -#: ../../library/codecs.rst:1456 ../../library/codecs.rst:1541 +#: ../../library/codecs.rst:1465 ../../library/codecs.rst:1550 msgid "Codec" msgstr "" #: ../../library/codecs.rst:1117 ../../library/codecs.rst:1376 -#: ../../library/codecs.rst:1456 ../../library/codecs.rst:1541 +#: ../../library/codecs.rst:1465 ../../library/codecs.rst:1550 msgid "Aliases" msgstr "" @@ -2383,225 +2383,231 @@ msgid "" "``errors='strict'`` is supported." msgstr "" -#: ../../library/codecs.rst:1384 +#: ../../library/codecs.rst:1386 +msgid "" +"This codec builds on ``punycode``, whose algorithms scale poorly, so limit " +"the length of untrusted input." +msgstr "" + +#: ../../library/codecs.rst:1393 msgid "mbcs" msgstr "" -#: ../../library/codecs.rst:1384 +#: ../../library/codecs.rst:1393 msgid "ansi, dbcs" msgstr "" -#: ../../library/codecs.rst:1384 +#: ../../library/codecs.rst:1393 msgid "" "Windows only: Encode the operand according to the ANSI codepage (CP_ACP)." msgstr "" -#: ../../library/codecs.rst:1388 +#: ../../library/codecs.rst:1397 msgid "oem" msgstr "" -#: ../../library/codecs.rst:1388 +#: ../../library/codecs.rst:1397 msgid "" "Windows only: Encode the operand according to the OEM codepage (CP_OEMCP)." msgstr "" -#: ../../library/codecs.rst:1394 +#: ../../library/codecs.rst:1403 msgid "palmos" msgstr "" -#: ../../library/codecs.rst:1394 +#: ../../library/codecs.rst:1403 msgid "Encoding of PalmOS 3.5." msgstr "" -#: ../../library/codecs.rst:1396 +#: ../../library/codecs.rst:1405 msgid "punycode" msgstr "" -#: ../../library/codecs.rst:1396 +#: ../../library/codecs.rst:1405 msgid "Implement :rfc:`3492`. Stateful codecs are not supported." msgstr "" -#: ../../library/codecs.rst:1402 +#: ../../library/codecs.rst:1411 msgid "" "The decoding and encoding algorithms scale poorly, so limit the length of " "untrusted input." msgstr "" -#: ../../library/codecs.rst:1408 +#: ../../library/codecs.rst:1417 msgid "raw_unicode_escape" msgstr "" -#: ../../library/codecs.rst:1408 +#: ../../library/codecs.rst:1417 msgid "" "Latin-1 encoding with :samp:`\\\\u{XXXX}` and :samp:`\\\\U{XXXXXXXX}` for " "other code points. Existing backslashes are not escaped in any way. It is " "used in the Python pickle protocol." msgstr "" -#: ../../library/codecs.rst:1418 +#: ../../library/codecs.rst:1427 msgid "undefined" msgstr "" -#: ../../library/codecs.rst:1418 +#: ../../library/codecs.rst:1427 msgid "This Codec should only be used for testing purposes." msgstr "" -#: ../../library/codecs.rst:1422 +#: ../../library/codecs.rst:1431 msgid "" "Raise an exception for all conversions, even empty strings. The error " "handler is ignored." msgstr "" -#: ../../library/codecs.rst:1427 +#: ../../library/codecs.rst:1436 msgid "unicode_escape" msgstr "" -#: ../../library/codecs.rst:1427 +#: ../../library/codecs.rst:1436 msgid "" "Encoding suitable as the contents of a Unicode literal in ASCII-encoded " "Python source code, except that quotes are not escaped. Decode from Latin-1 " "source code. Beware that Python source code actually uses UTF-8 by default." msgstr "" -#: ../../library/codecs.rst:1439 +#: ../../library/codecs.rst:1448 msgid "\"unicode_internal\" codec is removed." msgstr "" -#: ../../library/codecs.rst:1446 +#: ../../library/codecs.rst:1455 msgid "Binary Transforms" msgstr "" -#: ../../library/codecs.rst:1448 +#: ../../library/codecs.rst:1457 msgid "" "The following codecs provide binary transforms: :term:`bytes-like object` " "to :class:`bytes` mappings. They are not supported by :meth:`bytes.decode` " "(which only produces :class:`str` output)." msgstr "" -#: ../../library/codecs.rst:1456 +#: ../../library/codecs.rst:1465 msgid "Encoder / decoder" msgstr "" -#: ../../library/codecs.rst:1458 +#: ../../library/codecs.rst:1467 msgid "base64_codec [#b64]_" msgstr "" -#: ../../library/codecs.rst:1458 +#: ../../library/codecs.rst:1467 msgid "base64, base_64" msgstr "" -#: ../../library/codecs.rst:1458 +#: ../../library/codecs.rst:1467 msgid "" "Convert the operand to multiline MIME base64 (the result always includes a " "trailing ``'\\n'``)." msgstr "" -#: ../../library/codecs.rst:1463 +#: ../../library/codecs.rst:1472 msgid "" "accepts any :term:`bytes-like object` as input for encoding and decoding" msgstr "" -#: ../../library/codecs.rst:1458 +#: ../../library/codecs.rst:1467 msgid ":meth:`base64.encodebytes` / :meth:`base64.decodebytes`" msgstr "" -#: ../../library/codecs.rst:1469 +#: ../../library/codecs.rst:1478 msgid "bz2_codec" msgstr "" -#: ../../library/codecs.rst:1469 +#: ../../library/codecs.rst:1478 msgid "bz2" msgstr "" -#: ../../library/codecs.rst:1469 +#: ../../library/codecs.rst:1478 msgid "Compress the operand using bz2." msgstr "" -#: ../../library/codecs.rst:1469 +#: ../../library/codecs.rst:1478 msgid ":meth:`bz2.compress` / :meth:`bz2.decompress`" msgstr "" -#: ../../library/codecs.rst:1472 +#: ../../library/codecs.rst:1481 msgid "hex_codec" msgstr "" -#: ../../library/codecs.rst:1472 +#: ../../library/codecs.rst:1481 msgid "hex" msgstr "" -#: ../../library/codecs.rst:1472 +#: ../../library/codecs.rst:1481 msgid "" "Convert the operand to hexadecimal representation, with two digits per byte." msgstr "" -#: ../../library/codecs.rst:1472 +#: ../../library/codecs.rst:1481 msgid ":meth:`binascii.b2a_hex` / :meth:`binascii.a2b_hex`" msgstr "" -#: ../../library/codecs.rst:1477 +#: ../../library/codecs.rst:1486 msgid "quopri_codec" msgstr "" -#: ../../library/codecs.rst:1477 +#: ../../library/codecs.rst:1486 msgid "quopri, quotedprintable, quoted_printable" msgstr "" -#: ../../library/codecs.rst:1477 +#: ../../library/codecs.rst:1486 msgid "Convert the operand to MIME quoted printable." msgstr "" -#: ../../library/codecs.rst:1477 +#: ../../library/codecs.rst:1486 msgid ":meth:`quopri.encode` with ``quotetabs=True`` / :meth:`quopri.decode`" msgstr "" -#: ../../library/codecs.rst:1481 +#: ../../library/codecs.rst:1490 msgid "uu_codec" msgstr "" -#: ../../library/codecs.rst:1481 +#: ../../library/codecs.rst:1490 msgid "uu" msgstr "" -#: ../../library/codecs.rst:1481 +#: ../../library/codecs.rst:1490 msgid "Convert the operand using uuencode." msgstr "" -#: ../../library/codecs.rst:1484 +#: ../../library/codecs.rst:1493 msgid "zlib_codec" msgstr "" -#: ../../library/codecs.rst:1484 +#: ../../library/codecs.rst:1493 msgid "zip, zlib" msgstr "" -#: ../../library/codecs.rst:1484 +#: ../../library/codecs.rst:1493 msgid "Compress the operand using gzip." msgstr "" -#: ../../library/codecs.rst:1484 +#: ../../library/codecs.rst:1493 msgid ":meth:`zlib.compress` / :meth:`zlib.decompress`" msgstr "" -#: ../../library/codecs.rst:1488 +#: ../../library/codecs.rst:1497 msgid "" "In addition to :term:`bytes-like objects `, " "``'base64_codec'`` also accepts ASCII-only instances of :class:`str` for " "decoding" msgstr "" -#: ../../library/codecs.rst:1492 +#: ../../library/codecs.rst:1501 msgid "Restoration of the binary transforms." msgstr "" -#: ../../library/codecs.rst:1495 +#: ../../library/codecs.rst:1504 msgid "Restoration of the aliases for the binary transforms." msgstr "" -#: ../../library/codecs.rst:1502 +#: ../../library/codecs.rst:1511 msgid "Standalone Codec Functions" msgstr "" -#: ../../library/codecs.rst:1504 +#: ../../library/codecs.rst:1513 msgid "" "The following functions provide encoding and decoding functionality similar " "to codecs, but are not available as named codecs through :func:`codecs." @@ -2610,74 +2616,74 @@ msgid "" "removed in Python 3." msgstr "" -#: ../../library/codecs.rst:1511 +#: ../../library/codecs.rst:1520 msgid "" "Encode *input* using escape sequences. Similar to how :func:`repr` on bytes " "produces escaped byte values." msgstr "" -#: ../../library/codecs.rst:1514 +#: ../../library/codecs.rst:1523 msgid "*input* must be a :class:`bytes` object." msgstr "" -#: ../../library/codecs.rst:1516 ../../library/codecs.rst:1525 +#: ../../library/codecs.rst:1525 ../../library/codecs.rst:1534 msgid "" "Returns a tuple ``(output, length)`` where *output* is a :class:`bytes` " "object and *length* is the number of bytes consumed." msgstr "" -#: ../../library/codecs.rst:1521 +#: ../../library/codecs.rst:1530 msgid "Decode *input* from escape sequences back to the original bytes." msgstr "" -#: ../../library/codecs.rst:1523 +#: ../../library/codecs.rst:1532 msgid "*input* must be a :term:`bytes-like object`." msgstr "" -#: ../../library/codecs.rst:1532 +#: ../../library/codecs.rst:1541 msgid "Text Transforms" msgstr "" -#: ../../library/codecs.rst:1534 +#: ../../library/codecs.rst:1543 msgid "" "The following codec provides a text transform: a :class:`str` to :class:" "`str` mapping. It is not supported by :meth:`str.encode` (which only " "produces :class:`bytes` output)." msgstr "" -#: ../../library/codecs.rst:1543 +#: ../../library/codecs.rst:1552 msgid "rot_13" msgstr "" -#: ../../library/codecs.rst:1543 +#: ../../library/codecs.rst:1552 msgid "rot13" msgstr "" -#: ../../library/codecs.rst:1543 +#: ../../library/codecs.rst:1552 msgid "Return the Caesar-cypher encryption of the operand." msgstr "" -#: ../../library/codecs.rst:1548 +#: ../../library/codecs.rst:1557 msgid "Restoration of the ``rot_13`` text transform." msgstr "" -#: ../../library/codecs.rst:1551 +#: ../../library/codecs.rst:1560 msgid "Restoration of the ``rot13`` alias." msgstr "" -#: ../../library/codecs.rst:1556 +#: ../../library/codecs.rst:1565 msgid ":mod:`!encodings` --- Encodings package" msgstr "" -#: ../../library/codecs.rst:1561 +#: ../../library/codecs.rst:1570 msgid "This module implements the following functions:" msgstr "" -#: ../../library/codecs.rst:1565 +#: ../../library/codecs.rst:1574 msgid "Normalize encoding name *encoding*." msgstr "" -#: ../../library/codecs.rst:1567 +#: ../../library/codecs.rst:1576 msgid "" "Normalization works as follows: all non-alphanumeric characters except the " "dot used for Python package names are collapsed and replaced with a single " @@ -2685,23 +2691,23 @@ msgid "" "-;#'`` becomes ``'_'``." msgstr "" -#: ../../library/codecs.rst:1572 +#: ../../library/codecs.rst:1581 msgid "Note that *encoding* should be ASCII only." msgstr "" -#: ../../library/codecs.rst:1576 +#: ../../library/codecs.rst:1585 msgid "" "The following functions should not be used directly, except for testing " "purposes; :func:`codecs.lookup` should be used instead." msgstr "" -#: ../../library/codecs.rst:1582 +#: ../../library/codecs.rst:1591 msgid "" "Search for the codec module corresponding to the given encoding name " "*encoding*." msgstr "" -#: ../../library/codecs.rst:1585 +#: ../../library/codecs.rst:1594 msgid "" "This function first normalizes the *encoding* using :func:" "`normalize_encoding`, then looks for a corresponding alias. It attempts to " @@ -2711,41 +2717,41 @@ msgid "" "the codec is cached and returned." msgstr "" -#: ../../library/codecs.rst:1592 +#: ../../library/codecs.rst:1601 msgid "" "If the codec module defines a ``getaliases()`` function any returned aliases " "are registered for future use." msgstr "" -#: ../../library/codecs.rst:1598 +#: ../../library/codecs.rst:1607 msgid "" "Search for a Windows code page encoding *encoding* of the form ``cpXXXX``." msgstr "" -#: ../../library/codecs.rst:1600 +#: ../../library/codecs.rst:1609 msgid "" "If the code page is valid and supported, return a :class:`codecs.CodecInfo` " "object for it." msgstr "" -#: ../../library/codecs.rst:1603 ../../library/codecs.rst:1689 +#: ../../library/codecs.rst:1612 ../../library/codecs.rst:1703 msgid "Availability" msgstr "" -#: ../../library/codecs.rst:1608 +#: ../../library/codecs.rst:1617 msgid "This module implements the following exception:" msgstr "" -#: ../../library/codecs.rst:1612 +#: ../../library/codecs.rst:1621 msgid "Raised when a codec is invalid or incompatible." msgstr "" -#: ../../library/codecs.rst:1616 +#: ../../library/codecs.rst:1625 msgid "" ":mod:`!encodings.idna` --- Internationalized Domain Names in Applications" msgstr "" -#: ../../library/codecs.rst:1622 +#: ../../library/codecs.rst:1631 msgid "" "This module implements :rfc:`3490` (Internationalized Domain Names in " "Applications) and :rfc:`3492` (Nameprep: A Stringprep Profile for " @@ -2753,13 +2759,19 @@ msgid "" "encoding and :mod:`stringprep`." msgstr "" -#: ../../library/codecs.rst:1627 +#: ../../library/codecs.rst:1638 +msgid "" +"This module builds on ``punycode``, whose algorithms scale poorly, so limit " +"the length of untrusted input." +msgstr "" + +#: ../../library/codecs.rst:1641 msgid "" "If you need the IDNA 2008 standard from :rfc:`5891` and :rfc:`5895`, use the " "third-party :pypi:`idna` module." msgstr "" -#: ../../library/codecs.rst:1630 +#: ../../library/codecs.rst:1644 msgid "" "These RFCs together define a protocol to support non-ASCII characters in " "domain names. A domain name containing non-ASCII characters (such as ``www." @@ -2773,7 +2785,7 @@ msgid "" "presenting them to the user." msgstr "" -#: ../../library/codecs.rst:1641 +#: ../../library/codecs.rst:1655 msgid "" "Python supports this conversion in several ways: the ``idna`` codec " "performs conversion between Unicode and ACE, separating an input string into " @@ -2790,14 +2802,14 @@ msgid "" "sends that field at all)." msgstr "" -#: ../../library/codecs.rst:1654 +#: ../../library/codecs.rst:1668 msgid "" "When receiving host names from the wire (such as in reverse name lookup), no " "automatic conversion to Unicode is performed: applications wishing to " "present such host names to the user should decode them to Unicode." msgstr "" -#: ../../library/codecs.rst:1658 +#: ../../library/codecs.rst:1672 msgid "" "The module :mod:`!encodings.idna` also implements the nameprep procedure, " "which performs certain normalizations on host names, to achieve case-" @@ -2805,45 +2817,45 @@ msgid "" "characters. The nameprep functions can be used directly if desired." msgstr "" -#: ../../library/codecs.rst:1666 +#: ../../library/codecs.rst:1680 msgid "" "Return the nameprepped version of *label*. The implementation currently " "assumes query strings, so ``AllowUnassigned`` is true." msgstr "" -#: ../../library/codecs.rst:1672 +#: ../../library/codecs.rst:1686 msgid "" "Convert a label to ASCII, as specified in :rfc:`3490`. ``UseSTD3ASCIIRules`` " "is assumed to be false." msgstr "" -#: ../../library/codecs.rst:1678 +#: ../../library/codecs.rst:1692 msgid "Convert a label to Unicode, as specified in :rfc:`3490`." msgstr "" -#: ../../library/codecs.rst:1682 +#: ../../library/codecs.rst:1696 msgid ":mod:`!encodings.mbcs` --- Windows ANSI codepage" msgstr "" -#: ../../library/codecs.rst:1687 +#: ../../library/codecs.rst:1701 msgid "This module implements the ANSI codepage (CP_ACP)." msgstr "" -#: ../../library/codecs.rst:1691 +#: ../../library/codecs.rst:1705 msgid "" "Before 3.2, the *errors* argument was ignored; ``'replace'`` was always used " "to encode, and ``'ignore'`` to decode." msgstr "" -#: ../../library/codecs.rst:1695 +#: ../../library/codecs.rst:1709 msgid "Support any error handler." msgstr "" -#: ../../library/codecs.rst:1700 +#: ../../library/codecs.rst:1714 msgid ":mod:`!encodings.utf_8_sig` --- UTF-8 codec with BOM signature" msgstr "" -#: ../../library/codecs.rst:1706 +#: ../../library/codecs.rst:1720 msgid "" "This module implements a variant of the UTF-8 codec. On encoding, a UTF-8 " "encoded BOM will be prepended to the UTF-8 encoded bytes. For the stateful " diff --git a/library/ctypes.po b/library/ctypes.po index fc46d9b2..752e73a4 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-05 16:53+0200\n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -342,7 +342,7 @@ msgid "" "learn more about :mod:`!ctypes` data types." msgstr "" -#: ../../library/ctypes.rst:228 ../../library/ctypes.rst:2542 +#: ../../library/ctypes.rst:228 ../../library/ctypes.rst:2551 msgid "Fundamental data types" msgstr "" @@ -1599,7 +1599,17 @@ msgid "" "instead of a single item." msgstr "" -#: ../../library/ctypes.rst:956 +#: ../../library/ctypes.rst:958 +msgid "" +"Because pointer objects support subscription, they implicitly support :term:" +"`iteration `. Unless doing this in a controlled manner, such as by " +"manually calling :func:`next` on a :func:`pointer` iterator, this will " +"typically lead to infinite loops or crashes, because ctypes has no way of " +"knowing when to stop iteration. In other words, a ``pointer`` iterator will " +"infinitely yield arbitrary memory." +msgstr "" + +#: ../../library/ctypes.rst:965 msgid "" "Behind the scenes, the :func:`pointer` function does more than simply create " "pointer instances, it has to create pointer *types* first. This is done with " @@ -1607,7 +1617,7 @@ msgid "" "returns a new type::" msgstr "" -#: ../../library/ctypes.rst:961 +#: ../../library/ctypes.rst:970 msgid "" ">>> PI = POINTER(c_int)\n" ">>> PI\n" @@ -1621,13 +1631,13 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:972 +#: ../../library/ctypes.rst:981 msgid "" "Calling the pointer type without an argument creates a ``NULL`` pointer. " "``NULL`` pointers have a ``False`` boolean value::" msgstr "" -#: ../../library/ctypes.rst:975 +#: ../../library/ctypes.rst:984 msgid "" ">>> null_ptr = POINTER(c_int)()\n" ">>> print(bool(null_ptr))\n" @@ -1635,13 +1645,13 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:980 +#: ../../library/ctypes.rst:989 msgid "" ":mod:`!ctypes` checks for ``NULL`` when dereferencing pointers (but " "dereferencing invalid non-\\ ``NULL`` pointers would crash Python)::" msgstr "" -#: ../../library/ctypes.rst:983 +#: ../../library/ctypes.rst:992 msgid "" ">>> null_ptr[0]\n" "Traceback (most recent call last):\n" @@ -1656,25 +1666,25 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:998 +#: ../../library/ctypes.rst:1007 msgid "Thread safety without the GIL" msgstr "" -#: ../../library/ctypes.rst:1000 +#: ../../library/ctypes.rst:1009 msgid "" "From Python 3.13 onward, the :term:`GIL` can be disabled on the :term:`free-" "threaded build`. In ctypes, reads and writes to a single object concurrently " "is safe, but not across multiple objects:" msgstr "" -#: ../../library/ctypes.rst:1003 +#: ../../library/ctypes.rst:1012 msgid "" ">>> number = c_int(42)\n" ">>> pointer_a = pointer(number)\n" ">>> pointer_b = pointer(number)" msgstr "" -#: ../../library/ctypes.rst:1009 +#: ../../library/ctypes.rst:1018 msgid "" "In the above, it's only safe for one object to read and write to the address " "at once if the GIL is disabled. So, ``pointer_a`` can be shared and written " @@ -1683,7 +1693,7 @@ msgid "" "Lock` to synchronize access to memory:" msgstr "" -#: ../../library/ctypes.rst:1014 +#: ../../library/ctypes.rst:1023 msgid "" ">>> import threading\n" ">>> lock = threading.Lock()\n" @@ -1695,11 +1705,11 @@ msgid "" "... pointer_b.contents = 42" msgstr "" -#: ../../library/ctypes.rst:1029 +#: ../../library/ctypes.rst:1038 msgid "Type conversions" msgstr "" -#: ../../library/ctypes.rst:1031 +#: ../../library/ctypes.rst:1040 msgid "" "Usually, ctypes does strict type checking. This means, if you have " "``POINTER(c_int)`` in the :attr:`~_CFuncPtr.argtypes` list of a function or " @@ -1710,7 +1720,7 @@ msgid "" "ctypes accepts an array of c_int::" msgstr "" -#: ../../library/ctypes.rst:1038 +#: ../../library/ctypes.rst:1047 msgid "" ">>> class Bar(Structure):\n" "... _fields_ = [(\"count\", c_int), (\"values\", POINTER(c_int))]\n" @@ -1727,7 +1737,7 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1052 +#: ../../library/ctypes.rst:1061 msgid "" "In addition, if a function argument is explicitly declared to be a pointer " "type (such as ``POINTER(c_int)``) in :attr:`~_CFuncPtr.argtypes`, an object " @@ -1736,17 +1746,17 @@ msgid "" "automatically." msgstr "" -#: ../../library/ctypes.rst:1057 +#: ../../library/ctypes.rst:1066 msgid "To set a POINTER type field to ``NULL``, you can assign ``None``::" msgstr "" -#: ../../library/ctypes.rst:1059 +#: ../../library/ctypes.rst:1068 msgid "" ">>> bar.values = None\n" ">>>" msgstr "" -#: ../../library/ctypes.rst:1064 +#: ../../library/ctypes.rst:1073 msgid "" "Sometimes you have instances of incompatible types. In C, you can cast one " "type into another type. :mod:`!ctypes` provides a :func:`cast` function " @@ -1755,7 +1765,7 @@ msgid "" "``values`` field, but not instances of other types::" msgstr "" -#: ../../library/ctypes.rst:1070 +#: ../../library/ctypes.rst:1079 msgid "" ">>> bar.values = (c_byte * 4)()\n" "Traceback (most recent call last):\n" @@ -1765,11 +1775,11 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1076 +#: ../../library/ctypes.rst:1085 msgid "For these cases, the :func:`cast` function is handy." msgstr "" -#: ../../library/ctypes.rst:1078 +#: ../../library/ctypes.rst:1087 msgid "" "The :func:`cast` function can be used to cast a ctypes instance into a " "pointer to a different ctypes data type. :func:`cast` takes two parameters, " @@ -1778,7 +1788,7 @@ msgid "" "references the same memory block as the first argument::" msgstr "" -#: ../../library/ctypes.rst:1084 +#: ../../library/ctypes.rst:1093 msgid "" ">>> a = (c_byte * 4)()\n" ">>> cast(a, POINTER(c_int))\n" @@ -1786,13 +1796,13 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1089 +#: ../../library/ctypes.rst:1098 msgid "" "So, :func:`cast` can be used to assign to the ``values`` field of ``Bar`` " "the structure::" msgstr "" -#: ../../library/ctypes.rst:1092 +#: ../../library/ctypes.rst:1101 msgid "" ">>> bar = Bar()\n" ">>> bar.values = cast((c_byte * 4)(), POINTER(c_int))\n" @@ -1801,18 +1811,18 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1102 +#: ../../library/ctypes.rst:1111 msgid "Incomplete Types" msgstr "" -#: ../../library/ctypes.rst:1104 +#: ../../library/ctypes.rst:1113 msgid "" "*Incomplete Types* are structures, unions or arrays whose members are not " "yet specified. In C, they are specified by forward declarations, which are " "defined later::" msgstr "" -#: ../../library/ctypes.rst:1108 +#: ../../library/ctypes.rst:1117 msgid "" "struct cell; /* forward declaration */\n" "\n" @@ -1822,13 +1832,13 @@ msgid "" "};" msgstr "" -#: ../../library/ctypes.rst:1115 +#: ../../library/ctypes.rst:1124 msgid "" "The straightforward translation into ctypes code would be this, but it does " "not work::" msgstr "" -#: ../../library/ctypes.rst:1118 +#: ../../library/ctypes.rst:1127 msgid "" ">>> class cell(Structure):\n" "... _fields_ = [(\"name\", c_char_p),\n" @@ -1841,14 +1851,14 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1128 +#: ../../library/ctypes.rst:1137 msgid "" "because the new ``class cell`` is not available in the class statement " "itself. In :mod:`!ctypes`, we can define the ``cell`` class and set the :" "attr:`~Structure._fields_` attribute later, after the class statement::" msgstr "" -#: ../../library/ctypes.rst:1132 +#: ../../library/ctypes.rst:1141 msgid "" ">>> from ctypes import *\n" ">>> class cell(Structure):\n" @@ -1859,13 +1869,13 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1140 +#: ../../library/ctypes.rst:1149 msgid "" "Let's try it. We create two instances of ``cell``, and let them point to " "each other, and finally follow the pointer chain a few times::" msgstr "" -#: ../../library/ctypes.rst:1143 +#: ../../library/ctypes.rst:1152 msgid "" ">>> c1 = cell()\n" ">>> c1.name = b\"foo\"\n" @@ -1882,24 +1892,24 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1161 +#: ../../library/ctypes.rst:1170 msgid "Callback functions" msgstr "" -#: ../../library/ctypes.rst:1163 +#: ../../library/ctypes.rst:1172 msgid "" ":mod:`!ctypes` allows creating C callable function pointers from Python " "callables. These are sometimes called *callback functions*." msgstr "" -#: ../../library/ctypes.rst:1166 +#: ../../library/ctypes.rst:1175 msgid "" "First, you must create a class for the callback function. The class knows " "the calling convention, the return type, and the number and types of " "arguments this function will receive." msgstr "" -#: ../../library/ctypes.rst:1170 +#: ../../library/ctypes.rst:1179 msgid "" "The :func:`CFUNCTYPE` factory function creates types for callback functions " "using the ``cdecl`` calling convention. On Windows, the :func:`WINFUNCTYPE` " @@ -1907,21 +1917,21 @@ msgid "" "calling convention." msgstr "" -#: ../../library/ctypes.rst:1175 +#: ../../library/ctypes.rst:1184 msgid "" "Both of these factory functions are called with the result type as first " "argument, and the callback functions expected argument types as the " "remaining arguments." msgstr "" -#: ../../library/ctypes.rst:1179 +#: ../../library/ctypes.rst:1188 msgid "" "I will present an example here which uses the standard C library's :c:func:`!" "qsort` function, that is used to sort items with the help of a callback " "function. :c:func:`!qsort` will be used to sort an array of integers::" msgstr "" -#: ../../library/ctypes.rst:1183 +#: ../../library/ctypes.rst:1192 msgid "" ">>> IntArray5 = c_int * 5\n" ">>> ia = IntArray5(5, 1, 7, 33, 99)\n" @@ -1930,7 +1940,7 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1189 +#: ../../library/ctypes.rst:1198 msgid "" ":func:`!qsort` must be called with a pointer to the data to sort, the number " "of items in the data array, the size of one item, and a pointer to the " @@ -1940,25 +1950,25 @@ msgid "" "otherwise." msgstr "" -#: ../../library/ctypes.rst:1195 +#: ../../library/ctypes.rst:1204 msgid "" "So our callback function receives pointers to integers, and must return an " "integer. First we create the ``type`` for the callback function::" msgstr "" -#: ../../library/ctypes.rst:1198 +#: ../../library/ctypes.rst:1207 msgid "" ">>> CMPFUNC = CFUNCTYPE(c_int, POINTER(c_int), POINTER(c_int))\n" ">>>" msgstr "" -#: ../../library/ctypes.rst:1201 +#: ../../library/ctypes.rst:1210 msgid "" "To get started, here is a simple callback that shows the values it gets " "passed::" msgstr "" -#: ../../library/ctypes.rst:1204 +#: ../../library/ctypes.rst:1213 msgid "" ">>> def py_cmp_func(a, b):\n" "... print(\"py_cmp_func\", a[0], b[0])\n" @@ -1968,11 +1978,11 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1211 +#: ../../library/ctypes.rst:1220 msgid "The result::" msgstr "" -#: ../../library/ctypes.rst:1213 +#: ../../library/ctypes.rst:1222 msgid "" ">>> qsort(ia, len(ia), sizeof(c_int), cmp_func)\n" "py_cmp_func 5 1\n" @@ -1983,11 +1993,11 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1221 +#: ../../library/ctypes.rst:1230 msgid "Now we can actually compare the two items and return a useful result::" msgstr "" -#: ../../library/ctypes.rst:1223 +#: ../../library/ctypes.rst:1232 msgid "" ">>> def py_cmp_func(a, b):\n" "... print(\"py_cmp_func\", a[0], b[0])\n" @@ -2003,11 +2013,11 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1236 +#: ../../library/ctypes.rst:1245 msgid "As we can easily check, our array is sorted now::" msgstr "" -#: ../../library/ctypes.rst:1238 +#: ../../library/ctypes.rst:1247 msgid "" ">>> for i in ia: print(i, end=\" \")\n" "...\n" @@ -2015,13 +2025,13 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1243 +#: ../../library/ctypes.rst:1252 msgid "" "The function factories can be used as decorator factories, so we may as well " "write::" msgstr "" -#: ../../library/ctypes.rst:1246 +#: ../../library/ctypes.rst:1255 msgid "" ">>> @CFUNCTYPE(c_int, POINTER(c_int), POINTER(c_int))\n" "... def py_cmp_func(a, b):\n" @@ -2037,14 +2047,14 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1261 +#: ../../library/ctypes.rst:1270 msgid "" "Make sure you keep references to :func:`CFUNCTYPE` objects as long as they " "are used from C code. :mod:`!ctypes` doesn't, and if you don't, they may be " "garbage collected, crashing your program when a callback is made." msgstr "" -#: ../../library/ctypes.rst:1265 +#: ../../library/ctypes.rst:1274 msgid "" "Also, note that if the callback function is called in a thread created " "outside of Python's control (e.g. by the foreign code that calls the " @@ -2054,42 +2064,42 @@ msgid "" "even when those calls are made from the same C thread." msgstr "" -#: ../../library/ctypes.rst:1275 +#: ../../library/ctypes.rst:1284 msgid "Accessing values exported from dlls" msgstr "" -#: ../../library/ctypes.rst:1277 +#: ../../library/ctypes.rst:1286 msgid "" "Some shared libraries not only export functions, they also export variables. " "An example in the Python library itself is the :c:data:`Py_Version`, Python " "runtime version number encoded in a single constant integer." msgstr "" -#: ../../library/ctypes.rst:1281 +#: ../../library/ctypes.rst:1290 msgid "" ":mod:`!ctypes` can access values like this with the :meth:`~_CData.in_dll` " "class methods of the type. *pythonapi* is a predefined symbol giving access " "to the Python C api::" msgstr "" -#: ../../library/ctypes.rst:1285 +#: ../../library/ctypes.rst:1294 msgid "" ">>> version = ctypes.c_int.in_dll(ctypes.pythonapi, \"Py_Version\")\n" ">>> print(hex(version.value))\n" "0x30c00a0" msgstr "" -#: ../../library/ctypes.rst:1289 +#: ../../library/ctypes.rst:1298 msgid "" "An extended example which also demonstrates the use of pointers accesses " "the :c:data:`PyImport_FrozenModules` pointer exported by Python." msgstr "" -#: ../../library/ctypes.rst:1292 +#: ../../library/ctypes.rst:1301 msgid "Quoting the docs for that value:" msgstr "" -#: ../../library/ctypes.rst:1294 +#: ../../library/ctypes.rst:1303 msgid "" "This pointer is initialized to point to an array of :c:struct:`_frozen` " "records, terminated by one whose members are all ``NULL`` or zero. When a " @@ -2098,13 +2108,13 @@ msgid "" "frozen modules." msgstr "" -#: ../../library/ctypes.rst:1299 +#: ../../library/ctypes.rst:1308 msgid "" "So manipulating this pointer could even prove useful. To restrict the " "example size, we show only how this table can be read with :mod:`!ctypes`::" msgstr "" -#: ../../library/ctypes.rst:1302 +#: ../../library/ctypes.rst:1311 msgid "" ">>> from ctypes import *\n" ">>>\n" @@ -2118,20 +2128,20 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1313 +#: ../../library/ctypes.rst:1322 msgid "" "We have defined the :c:struct:`_frozen` data type, so we can get the pointer " "to the table::" msgstr "" -#: ../../library/ctypes.rst:1316 +#: ../../library/ctypes.rst:1325 msgid "" ">>> FrozenTable = POINTER(struct_frozen)\n" ">>> table = FrozenTable.in_dll(pythonapi, \"_PyImport_FrozenBootstrap\")\n" ">>>" msgstr "" -#: ../../library/ctypes.rst:1320 +#: ../../library/ctypes.rst:1329 msgid "" "Since ``table`` is a ``pointer`` to the array of ``struct_frozen`` records, " "we can iterate over it, but we just have to make sure that our loop " @@ -2140,7 +2150,7 @@ msgid "" "the loop when we hit the ``NULL`` entry::" msgstr "" -#: ../../library/ctypes.rst:1326 +#: ../../library/ctypes.rst:1335 msgid "" ">>> for item in table:\n" "... if item.name is None:\n" @@ -2153,28 +2163,28 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1336 +#: ../../library/ctypes.rst:1345 msgid "" "The fact that standard Python has a frozen module and a frozen package " "(indicated by the negative ``size`` member) is not well known, it is only " "used for testing. Try it out with ``import __hello__`` for example." msgstr "" -#: ../../library/ctypes.rst:1344 +#: ../../library/ctypes.rst:1353 msgid "Surprises" msgstr "" -#: ../../library/ctypes.rst:1346 +#: ../../library/ctypes.rst:1355 msgid "" "There are some edges in :mod:`!ctypes` where you might expect something " "other than what actually happens." msgstr "" -#: ../../library/ctypes.rst:1349 +#: ../../library/ctypes.rst:1358 msgid "Consider the following example::" msgstr "" -#: ../../library/ctypes.rst:1351 +#: ../../library/ctypes.rst:1360 msgid "" ">>> from ctypes import *\n" ">>> class POINT(Structure):\n" @@ -2195,13 +2205,13 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1369 +#: ../../library/ctypes.rst:1378 msgid "" "Hm. We certainly expected the last statement to print ``3 4 1 2``. What " "happened? Here are the steps of the ``rc.a, rc.b = rc.b, rc.a`` line above::" msgstr "" -#: ../../library/ctypes.rst:1372 +#: ../../library/ctypes.rst:1381 msgid "" ">>> temp0, temp1 = rc.b, rc.a\n" ">>> rc.a = temp0\n" @@ -2209,7 +2219,7 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1377 +#: ../../library/ctypes.rst:1386 msgid "" "Note that ``temp0`` and ``temp1`` are objects still using the internal " "buffer of the ``rc`` object above. So executing ``rc.a = temp0`` copies the " @@ -2218,20 +2228,20 @@ msgid "" "have the expected effect." msgstr "" -#: ../../library/ctypes.rst:1383 +#: ../../library/ctypes.rst:1392 msgid "" "Keep in mind that retrieving sub-objects from Structure, Unions, and Arrays " "doesn't *copy* the sub-object, instead it retrieves a wrapper object " "accessing the root-object's underlying buffer." msgstr "" -#: ../../library/ctypes.rst:1387 +#: ../../library/ctypes.rst:1396 msgid "" "Another example that may behave differently from what one would expect is " "this::" msgstr "" -#: ../../library/ctypes.rst:1389 +#: ../../library/ctypes.rst:1398 msgid "" ">>> s = c_char_p()\n" ">>> s.value = b\"abc def ghi\"\n" @@ -2242,13 +2252,13 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1399 +#: ../../library/ctypes.rst:1408 msgid "" "Objects instantiated from :class:`c_char_p` can only have their value set to " "bytes or integers." msgstr "" -#: ../../library/ctypes.rst:1402 +#: ../../library/ctypes.rst:1411 msgid "" "Why is it printing ``False``? ctypes instances are objects containing a " "memory block plus some :term:`descriptor`\\s accessing the contents of the " @@ -2257,17 +2267,17 @@ msgid "" "the contents again constructs a new Python object each time!" msgstr "" -#: ../../library/ctypes.rst:1412 +#: ../../library/ctypes.rst:1421 msgid "Variable-sized data types" msgstr "" -#: ../../library/ctypes.rst:1414 +#: ../../library/ctypes.rst:1423 msgid "" ":mod:`!ctypes` provides some support for variable-sized arrays and " "structures." msgstr "" -#: ../../library/ctypes.rst:1416 +#: ../../library/ctypes.rst:1425 msgid "" "The :func:`resize` function can be used to resize the memory buffer of an " "existing ctypes object. The function takes the object as first argument, " @@ -2276,7 +2286,7 @@ msgid "" "objects type, a :exc:`ValueError` is raised if this is tried::" msgstr "" -#: ../../library/ctypes.rst:1422 +#: ../../library/ctypes.rst:1431 msgid "" ">>> short_array = (c_short * 4)()\n" ">>> print(sizeof(short_array))\n" @@ -2293,14 +2303,14 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1436 +#: ../../library/ctypes.rst:1445 msgid "" "This is nice and fine, but how would one access the additional elements " "contained in this array? Since the type still only knows about 4 elements, " "we get errors accessing other elements::" msgstr "" -#: ../../library/ctypes.rst:1440 +#: ../../library/ctypes.rst:1449 msgid "" ">>> short_array[:]\n" "[0, 0, 0, 0]\n" @@ -2311,28 +2321,28 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1448 +#: ../../library/ctypes.rst:1457 msgid "" "Another way to use variable-sized data types with :mod:`!ctypes` is to use " "the dynamic nature of Python, and (re-)define the data type after the " "required size is already known, on a case by case basis." msgstr "" -#: ../../library/ctypes.rst:1456 +#: ../../library/ctypes.rst:1465 msgid "ctypes reference" msgstr "" -#: ../../library/ctypes.rst:1462 +#: ../../library/ctypes.rst:1471 msgid "Finding shared libraries" msgstr "" -#: ../../library/ctypes.rst:1464 +#: ../../library/ctypes.rst:1473 msgid "" "When programming in a compiled language, shared libraries are accessed when " "compiling/linking a program, and when the program is run." msgstr "" -#: ../../library/ctypes.rst:1467 +#: ../../library/ctypes.rst:1476 msgid "" "The purpose of the :func:`~ctypes.util.find_library` function is to locate a " "library in a way similar to what the compiler or runtime loader does (on " @@ -2341,13 +2351,13 @@ msgid "" "and call the runtime loader directly." msgstr "" -#: ../../library/ctypes.rst:1473 +#: ../../library/ctypes.rst:1482 msgid "" "The :mod:`!ctypes.util` module provides a function which can help to " "determine the library to load." msgstr "" -#: ../../library/ctypes.rst:1481 +#: ../../library/ctypes.rst:1490 msgid "" "Try to find a library and return a pathname. *name* is the library name " "without any prefix like *lib*, suffix like ``.so``, ``.dylib`` or version " @@ -2355,35 +2365,35 @@ msgid "" "If no library can be found, returns ``None``." msgstr "" -#: ../../library/ctypes.rst:1486 ../../library/ctypes.rst:2245 +#: ../../library/ctypes.rst:1495 ../../library/ctypes.rst:2254 msgid "The exact functionality is system dependent." msgstr "" -#: ../../library/ctypes.rst:1488 +#: ../../library/ctypes.rst:1497 msgid "" "On Linux, :func:`~ctypes.util.find_library` tries to run external programs " "(``/sbin/ldconfig``, ``gcc``, ``objdump`` and ``ld``) to find the library " "file. It returns the filename of the library file." msgstr "" -#: ../../library/ctypes.rst:1492 +#: ../../library/ctypes.rst:1501 msgid "" "Note that if the output of these programs does not correspond to the dynamic " "linker used by Python, the result of this function may be misleading." msgstr "" -#: ../../library/ctypes.rst:1495 +#: ../../library/ctypes.rst:1504 msgid "" "On Linux, the value of the environment variable ``LD_LIBRARY_PATH`` is used " "when searching for libraries, if a library cannot be found by any other " "means." msgstr "" -#: ../../library/ctypes.rst:1499 +#: ../../library/ctypes.rst:1508 msgid "Here are some examples::" msgstr "" -#: ../../library/ctypes.rst:1501 +#: ../../library/ctypes.rst:1510 msgid "" ">>> from ctypes.util import find_library\n" ">>> find_library(\"m\")\n" @@ -2395,14 +2405,14 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1510 +#: ../../library/ctypes.rst:1519 msgid "" "On macOS and Android, :func:`~ctypes.util.find_library` uses the system's " "standard naming schemes and paths to locate the library, and returns a full " "pathname if successful::" msgstr "" -#: ../../library/ctypes.rst:1514 +#: ../../library/ctypes.rst:1523 msgid "" ">>> from ctypes.util import find_library\n" ">>> find_library(\"c\")\n" @@ -2416,7 +2426,7 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:1525 +#: ../../library/ctypes.rst:1534 msgid "" "On Windows, :func:`~ctypes.util.find_library` searches along the system " "search path, and returns the full pathname, but since there is no predefined " @@ -2424,7 +2434,7 @@ msgid "" "``None``." msgstr "" -#: ../../library/ctypes.rst:1529 +#: ../../library/ctypes.rst:1538 msgid "" "If wrapping a shared library with :mod:`!ctypes`, it *may* be better to " "determine the shared library name at development time, and hardcode that " @@ -2432,18 +2442,18 @@ msgid "" "to locate the library at runtime." msgstr "" -#: ../../library/ctypes.rst:1537 +#: ../../library/ctypes.rst:1546 msgid "Listing loaded shared libraries" msgstr "" -#: ../../library/ctypes.rst:1539 +#: ../../library/ctypes.rst:1548 msgid "" "When writing code that relies on code loaded from shared libraries, it can " "be useful to know which shared libraries have already been loaded into the " "current process." msgstr "" -#: ../../library/ctypes.rst:1543 +#: ../../library/ctypes.rst:1552 msgid "" "The :mod:`!ctypes.util` module provides the :func:`~ctypes.util.dllist` " "function, which calls the different APIs provided by the various platforms " @@ -2451,7 +2461,7 @@ msgid "" "current process." msgstr "" -#: ../../library/ctypes.rst:1547 +#: ../../library/ctypes.rst:1556 msgid "" "The exact output of this function will be system dependent. On most " "platforms, the first entry of this list represents the current process " @@ -2459,7 +2469,7 @@ msgid "" "return may look like::" msgstr "" -#: ../../library/ctypes.rst:1552 +#: ../../library/ctypes.rst:1561 msgid "" ">>> from ctypes.util import dllist\n" ">>> dllist()\n" @@ -2467,21 +2477,21 @@ msgid "" "linux-gnu/libc.so.6', ... ]" msgstr "" -#: ../../library/ctypes.rst:1559 +#: ../../library/ctypes.rst:1568 msgid "Loading shared libraries" msgstr "" -#: ../../library/ctypes.rst:1561 +#: ../../library/ctypes.rst:1570 msgid "" "There are several ways to load shared libraries into the Python process. " "One way is to instantiate :py:class:`CDLL` or one of its subclasses:" msgstr "" -#: ../../library/ctypes.rst:1567 +#: ../../library/ctypes.rst:1576 msgid "Represents a loaded shared library." msgstr "" -#: ../../library/ctypes.rst:1569 +#: ../../library/ctypes.rst:1578 msgid "" "Functions in this library use the standard C calling convention, and are " "assumed to return :c:expr:`int`. The Python :term:`global interpreter lock` " @@ -2491,7 +2501,7 @@ msgid "" "PyDLL`." msgstr "" -#: ../../library/ctypes.rst:1576 +#: ../../library/ctypes.rst:1585 msgid "" "If you have an existing :py:attr:`handle ` to an " "already loaded shared library, it can be passed as the *handle* argument to " @@ -2500,20 +2510,20 @@ msgid "" "it may be adjusted and/or validated." msgstr "" -#: ../../library/ctypes.rst:1582 +#: ../../library/ctypes.rst:1591 msgid "" "If *handle* is ``None``, the underlying platform's :manpage:`dlopen(3)` or :" "c:func:`!LoadLibrary` function is used to load the library into the process, " "and to get a handle to it." msgstr "" -#: ../../library/ctypes.rst:1586 +#: ../../library/ctypes.rst:1595 msgid "" "*name* is the pathname of the shared library to open. If *name* does not " "contain a path separator, the library is found in a platform-specific way." msgstr "" -#: ../../library/ctypes.rst:1590 +#: ../../library/ctypes.rst:1599 msgid "" "On non-Windows systems, *name* can be ``None``. In this case, :c:func:`!" "dlopen` is called with ``NULL``, which opens the main program as a " @@ -2521,17 +2531,17 @@ msgid "" "is more portable.)" msgstr "" -#: ../../library/ctypes.rst:1596 +#: ../../library/ctypes.rst:1605 msgid "CPython implementation detail" msgstr "" -#: ../../library/ctypes.rst:1598 +#: ../../library/ctypes.rst:1607 msgid "" "Since CPython is linked to ``libc``, a ``None`` *name* is often used to " "access the C standard library::" msgstr "" -#: ../../library/ctypes.rst:1601 +#: ../../library/ctypes.rst:1610 msgid "" ">>> printf = ctypes.CDLL(None).printf\n" ">>> printf.argtypes = [ctypes.c_char_p]\n" @@ -2540,13 +2550,13 @@ msgid "" "6" msgstr "" -#: ../../library/ctypes.rst:1607 +#: ../../library/ctypes.rst:1616 msgid "" "To access the Python C API, prefer :py:data:`ctypes.pythonapi` which works " "across platforms." msgstr "" -#: ../../library/ctypes.rst:1610 +#: ../../library/ctypes.rst:1619 msgid "" "The *mode* parameter can be used to specify how the library is loaded. For " "details, consult the :manpage:`dlopen(3)` manpage. On Windows, *mode* is " @@ -2554,7 +2564,7 @@ msgid "" "configurable." msgstr "" -#: ../../library/ctypes.rst:1615 +#: ../../library/ctypes.rst:1624 msgid "" "The *use_errno* parameter, when set to true, enables a ctypes mechanism that " "allows accessing the system :data:`errno` error number in a safe way. :mod:`!" @@ -2564,14 +2574,14 @@ msgid "" "private copy, the same happens immediately after the function call." msgstr "" -#: ../../library/ctypes.rst:1622 +#: ../../library/ctypes.rst:1631 msgid "" "The function :func:`ctypes.get_errno` returns the value of the ctypes " "private copy, and the function :func:`ctypes.set_errno` changes the ctypes " "private copy to a new value and returns the former value." msgstr "" -#: ../../library/ctypes.rst:1626 +#: ../../library/ctypes.rst:1635 msgid "" "The *use_last_error* parameter, when set to true, enables the same mechanism " "for the Windows error code which is managed by the :func:`GetLastError` and :" @@ -2580,7 +2590,7 @@ msgid "" "private copy of the windows error code." msgstr "" -#: ../../library/ctypes.rst:1632 +#: ../../library/ctypes.rst:1641 msgid "" "The *winmode* parameter is used on Windows to specify how the library is " "loaded (since *mode* is ignored). It takes any value that is valid for the " @@ -2590,7 +2600,7 @@ msgid "" "ensure the correct library and dependencies are loaded." msgstr "" -#: ../../library/ctypes.rst:1639 +#: ../../library/ctypes.rst:1648 msgid "" "On Windows creating a :class:`CDLL` instance may fail even if the DLL name " "exists. When a dependent DLL of the loaded DLL is not found, a :exc:" @@ -2602,22 +2612,22 @@ msgid "" "determine which one is not found using Windows debugging and tracing tools." msgstr "" -#: ../../library/ctypes.rst:1651 +#: ../../library/ctypes.rst:1660 msgid "" "`Microsoft DUMPBIN tool `_ -- A tool to find DLL " "dependents." msgstr "" -#: ../../library/ctypes.rst:1654 +#: ../../library/ctypes.rst:1663 msgid "Added *winmode* parameter." msgstr "" -#: ../../library/ctypes.rst:1659 +#: ../../library/ctypes.rst:1668 msgid "The *name* parameter can now be a :term:`path-like object`." msgstr "" -#: ../../library/ctypes.rst:1661 +#: ../../library/ctypes.rst:1670 msgid "" "Instances of this class have no public methods. Functions exported by the " "shared library can be accessed as attributes or by index. Please note that " @@ -2626,7 +2636,7 @@ msgid "" "hand, accessing it through an index returns a new object each time::" msgstr "" -#: ../../library/ctypes.rst:1667 +#: ../../library/ctypes.rst:1676 msgid "" ">>> from ctypes import CDLL\n" ">>> libc = CDLL(\"libc.so.6\") # On Linux\n" @@ -2636,26 +2646,26 @@ msgid "" "False" msgstr "" -#: ../../library/ctypes.rst:1674 +#: ../../library/ctypes.rst:1683 msgid "" "The following public attributes are available. Their name starts with an " "underscore to not clash with exported function names:" msgstr "" -#: ../../library/ctypes.rst:1679 +#: ../../library/ctypes.rst:1688 msgid "The system handle used to access the library." msgstr "" -#: ../../library/ctypes.rst:1683 +#: ../../library/ctypes.rst:1692 msgid "The name of the library passed in the constructor." msgstr "" -#: ../../library/ctypes.rst:1687 ../../library/ctypes.rst:1704 -#: ../../library/ctypes.rst:1713 +#: ../../library/ctypes.rst:1696 ../../library/ctypes.rst:1713 +#: ../../library/ctypes.rst:1722 msgid "See :py:class:`~ctypes.CDLL`, the superclass, for common information." msgstr "" -#: ../../library/ctypes.rst:1689 +#: ../../library/ctypes.rst:1698 msgid "" "Functions in this library use the ``stdcall`` calling convention, and are " "assumed to return the windows specific :class:`HRESULT` code. :class:" @@ -2664,60 +2674,60 @@ msgid "" "value signals a failure, an :class:`OSError` is automatically raised." msgstr "" -#: ../../library/ctypes.rst:1695 ../../library/ctypes.rst:1709 -#: ../../library/ctypes.rst:1772 ../../library/ctypes.rst:1779 -#: ../../library/ctypes.rst:1949 ../../library/ctypes.rst:2001 -#: ../../library/ctypes.rst:2153 ../../library/ctypes.rst:2225 -#: ../../library/ctypes.rst:2234 ../../library/ctypes.rst:2261 -#: ../../library/ctypes.rst:2275 ../../library/ctypes.rst:2284 -#: ../../library/ctypes.rst:2293 ../../library/ctypes.rst:2308 -#: ../../library/ctypes.rst:2375 ../../library/ctypes.rst:2402 -#: ../../library/ctypes.rst:2834 ../../library/ctypes.rst:3257 +#: ../../library/ctypes.rst:1704 ../../library/ctypes.rst:1718 +#: ../../library/ctypes.rst:1781 ../../library/ctypes.rst:1788 +#: ../../library/ctypes.rst:1958 ../../library/ctypes.rst:2010 +#: ../../library/ctypes.rst:2162 ../../library/ctypes.rst:2234 +#: ../../library/ctypes.rst:2243 ../../library/ctypes.rst:2270 +#: ../../library/ctypes.rst:2284 ../../library/ctypes.rst:2293 +#: ../../library/ctypes.rst:2302 ../../library/ctypes.rst:2317 +#: ../../library/ctypes.rst:2384 ../../library/ctypes.rst:2411 +#: ../../library/ctypes.rst:2843 ../../library/ctypes.rst:3266 msgid "Availability" msgstr "" -#: ../../library/ctypes.rst:1697 +#: ../../library/ctypes.rst:1706 msgid "" ":exc:`WindowsError` used to be raised, which is now an alias of :exc:" "`OSError`." msgstr "" -#: ../../library/ctypes.rst:1706 +#: ../../library/ctypes.rst:1715 msgid "" "Functions in these libraries use the ``stdcall`` calling convention, and are " "assumed to return :c:expr:`int` by default." msgstr "" -#: ../../library/ctypes.rst:1715 +#: ../../library/ctypes.rst:1724 msgid "" "When functions in this library are called, the Python GIL is *not* released " "during the function call, and after the function execution the Python error " "flag is checked. If the error flag is set, a Python exception is raised." msgstr "" -#: ../../library/ctypes.rst:1720 +#: ../../library/ctypes.rst:1729 msgid "Thus, this is only useful to call Python C API functions directly." msgstr "" -#: ../../library/ctypes.rst:1725 +#: ../../library/ctypes.rst:1734 msgid "" "Flag to use as *mode* parameter. On platforms where this flag is not " "available, it is defined as the integer zero." msgstr "" -#: ../../library/ctypes.rst:1731 +#: ../../library/ctypes.rst:1740 msgid "" "Flag to use as *mode* parameter. On platforms where this is not available, " "it is the same as *RTLD_GLOBAL*." msgstr "" -#: ../../library/ctypes.rst:1737 +#: ../../library/ctypes.rst:1746 msgid "" "The default mode which is used to load shared libraries. On OSX 10.3, this " "is *RTLD_GLOBAL*, otherwise it is the same as *RTLD_LOCAL*." msgstr "" -#: ../../library/ctypes.rst:1741 +#: ../../library/ctypes.rst:1750 msgid "" "Shared libraries can also be loaded by using one of the prefabricated " "objects, which are instances of the :class:`LibraryLoader` class, either by " @@ -2725,13 +2735,13 @@ msgid "" "library as attribute of the loader instance." msgstr "" -#: ../../library/ctypes.rst:1748 +#: ../../library/ctypes.rst:1757 msgid "" "Class which loads shared libraries. *dlltype* should be one of the :class:" "`CDLL`, :class:`PyDLL`, :class:`WinDLL`, or :class:`OleDLL` types." msgstr "" -#: ../../library/ctypes.rst:1751 +#: ../../library/ctypes.rst:1760 msgid "" ":meth:`!__getattr__` has special behavior: It allows loading a shared " "library by accessing it as attribute of a library loader instance. The " @@ -2739,39 +2749,39 @@ msgid "" "each time." msgstr "" -#: ../../library/ctypes.rst:1757 +#: ../../library/ctypes.rst:1766 msgid "" "Load a shared library into the process and return it. This method always " "returns a new instance of the library." msgstr "" -#: ../../library/ctypes.rst:1761 +#: ../../library/ctypes.rst:1770 msgid "These prefabricated library loaders are available:" msgstr "" -#: ../../library/ctypes.rst:1765 +#: ../../library/ctypes.rst:1774 msgid "Creates :class:`CDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1770 +#: ../../library/ctypes.rst:1779 msgid "Creates :class:`WinDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1777 +#: ../../library/ctypes.rst:1786 msgid "Creates :class:`OleDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1784 +#: ../../library/ctypes.rst:1793 msgid "Creates :class:`PyDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1787 +#: ../../library/ctypes.rst:1796 msgid "" "For accessing the C Python api directly, a ready-to-use Python shared " "library object is available:" msgstr "" -#: ../../library/ctypes.rst:1792 +#: ../../library/ctypes.rst:1801 msgid "" "An instance of :class:`PyDLL` that exposes Python C API functions as " "attributes. Note that all these functions are assumed to return C :c:expr:" @@ -2779,32 +2789,32 @@ msgid "" "correct :attr:`!restype` attribute to use these functions." msgstr "" -#: ../../library/ctypes.rst:1797 ../../library/ctypes.rst:1799 +#: ../../library/ctypes.rst:1806 ../../library/ctypes.rst:1808 msgid "" "Loading a library through any of these objects raises an :ref:`auditing " "event ` ``ctypes.dlopen`` with string argument ``name``, the name " "used to load the library." msgstr "" -#: ../../library/ctypes.rst:1803 ../../library/ctypes.rst:1805 +#: ../../library/ctypes.rst:1812 ../../library/ctypes.rst:1814 msgid "" "Accessing a function on a loaded library raises an auditing event ``ctypes." "dlsym`` with arguments ``library`` (the library object) and ``name`` (the " "symbol's name as a string or integer)." msgstr "" -#: ../../library/ctypes.rst:1809 ../../library/ctypes.rst:1811 +#: ../../library/ctypes.rst:1818 ../../library/ctypes.rst:1820 msgid "" "In cases when only the library handle is available rather than the object, " "accessing a function raises an auditing event ``ctypes.dlsym/handle`` with " "arguments ``handle`` (the raw library handle) and ``name``." msgstr "" -#: ../../library/ctypes.rst:1818 +#: ../../library/ctypes.rst:1827 msgid "Foreign functions" msgstr "" -#: ../../library/ctypes.rst:1820 +#: ../../library/ctypes.rst:1829 msgid "" "As explained in the previous section, foreign functions can be accessed as " "attributes of loaded shared libraries. The function objects created in this " @@ -2813,13 +2823,13 @@ msgid "" "library loader." msgstr "" -#: ../../library/ctypes.rst:1825 +#: ../../library/ctypes.rst:1834 msgid "" "They are instances of a private local class :class:`!_FuncPtr` (not exposed " "in :mod:`!ctypes`) which inherits from the private :class:`_CFuncPtr` class:" msgstr "" -#: ../../library/ctypes.rst:1828 +#: ../../library/ctypes.rst:1837 msgid "" ">>> import ctypes\n" ">>> lib = ctypes.CDLL(None)\n" @@ -2829,29 +2839,29 @@ msgid "" "False" msgstr "" -#: ../../library/ctypes.rst:1839 +#: ../../library/ctypes.rst:1848 msgid "Base class for C callable foreign functions." msgstr "" -#: ../../library/ctypes.rst:1841 +#: ../../library/ctypes.rst:1850 msgid "" "Instances of foreign functions are also C compatible data types; they " "represent C function pointers." msgstr "" -#: ../../library/ctypes.rst:1844 +#: ../../library/ctypes.rst:1853 msgid "" "This behavior can be customized by assigning to special attributes of the " "foreign function object." msgstr "" -#: ../../library/ctypes.rst:1849 +#: ../../library/ctypes.rst:1858 msgid "" "Assign a ctypes type to specify the result type of the foreign function. Use " "``None`` for :c:expr:`void`, a function not returning anything." msgstr "" -#: ../../library/ctypes.rst:1852 +#: ../../library/ctypes.rst:1861 msgid "" "It is possible to assign a callable Python object that is not a ctypes type, " "in this case the function is assumed to return a C :c:expr:`int`, and the " @@ -2861,7 +2871,7 @@ msgid "" "callable to the :attr:`errcheck` attribute." msgstr "" -#: ../../library/ctypes.rst:1861 +#: ../../library/ctypes.rst:1870 msgid "" "Assign a tuple of ctypes types to specify the argument types that the " "function accepts. Functions using the ``stdcall`` calling convention can " @@ -2870,7 +2880,7 @@ msgid "" "unspecified arguments as well." msgstr "" -#: ../../library/ctypes.rst:1867 +#: ../../library/ctypes.rst:1876 msgid "" "When a foreign function is called, each actual argument is passed to the :" "meth:`~_CData.from_param` class method of the items in the :attr:`argtypes` " @@ -2880,7 +2890,7 @@ msgid "" "object using ctypes conversion rules." msgstr "" -#: ../../library/ctypes.rst:1874 +#: ../../library/ctypes.rst:1883 msgid "" "New: It is now possible to put items in argtypes which are not ctypes types, " "but each item must have a :meth:`~_CData.from_param` method which returns a " @@ -2888,38 +2898,38 @@ msgid "" "defining adapters that can adapt custom objects as function parameters." msgstr "" -#: ../../library/ctypes.rst:1881 +#: ../../library/ctypes.rst:1890 msgid "" "Assign a Python function or another callable to this attribute. The callable " "will be called with three or more arguments:" msgstr "" -#: ../../library/ctypes.rst:1888 +#: ../../library/ctypes.rst:1897 msgid "" "*result* is what the foreign function returns, as specified by the :attr:`!" "restype` attribute." msgstr "" -#: ../../library/ctypes.rst:1891 +#: ../../library/ctypes.rst:1900 msgid "" "*func* is the foreign function object itself, this allows reusing the same " "callable object to check or post process the results of several functions." msgstr "" -#: ../../library/ctypes.rst:1895 +#: ../../library/ctypes.rst:1904 msgid "" "*arguments* is a tuple containing the parameters originally passed to the " "function call, this allows specializing the behavior on the arguments used." msgstr "" -#: ../../library/ctypes.rst:1899 +#: ../../library/ctypes.rst:1908 msgid "" "The object that this function returns will be returned from the foreign " "function call, but it can also check the result value and raise an exception " "if the foreign function call failed." msgstr "" -#: ../../library/ctypes.rst:1904 ../../library/ctypes.rst:1906 +#: ../../library/ctypes.rst:1913 ../../library/ctypes.rst:1915 msgid "" "On Windows, when a foreign function call raises a system exception (for " "example, due to an access violation), it will be captured and replaced with " @@ -2928,18 +2938,18 @@ msgid "" "hook to replace the exception with its own." msgstr "" -#: ../../library/ctypes.rst:1912 ../../library/ctypes.rst:1914 +#: ../../library/ctypes.rst:1921 ../../library/ctypes.rst:1923 msgid "" "Some ways to invoke foreign function calls as well as some of the functions " "in this module may raise an auditing event ``ctypes.call_function`` with " "arguments ``function pointer`` and ``arguments``." msgstr "" -#: ../../library/ctypes.rst:1921 +#: ../../library/ctypes.rst:1930 msgid "Function prototypes" msgstr "" -#: ../../library/ctypes.rst:1923 +#: ../../library/ctypes.rst:1932 msgid "" "Foreign functions can also be created by instantiating function prototypes. " "Function prototypes are similar to function prototypes in C; they describe a " @@ -2950,7 +2960,7 @@ msgid "" "``@wrapper`` syntax. See :ref:`ctypes-callback-functions` for examples." msgstr "" -#: ../../library/ctypes.rst:1934 +#: ../../library/ctypes.rst:1943 msgid "" "The returned function prototype creates functions that use the standard C " "calling convention. The function will release the GIL during the call. If " @@ -2959,37 +2969,37 @@ msgid "" "after the call; *use_last_error* does the same for the Windows error code." msgstr "" -#: ../../library/ctypes.rst:1944 +#: ../../library/ctypes.rst:1953 msgid "" "The returned function prototype creates functions that use the ``stdcall`` " "calling convention. The function will release the GIL during the call. " "*use_errno* and *use_last_error* have the same meaning as above." msgstr "" -#: ../../library/ctypes.rst:1954 +#: ../../library/ctypes.rst:1963 msgid "" "The returned function prototype creates functions that use the Python " "calling convention. The function will *not* release the GIL during the call." msgstr "" -#: ../../library/ctypes.rst:1957 +#: ../../library/ctypes.rst:1966 msgid "" "Function prototypes created by these factory functions can be instantiated " "in different ways, depending on the type and number of the parameters in the " "call:" msgstr "" -#: ../../library/ctypes.rst:1964 +#: ../../library/ctypes.rst:1973 msgid "" "Returns a foreign function at the specified address which must be an integer." msgstr "" -#: ../../library/ctypes.rst:1971 +#: ../../library/ctypes.rst:1980 msgid "" "Create a C callable function (a callback function) from a Python *callable*." msgstr "" -#: ../../library/ctypes.rst:1978 +#: ../../library/ctypes.rst:1987 msgid "" "Returns a foreign function exported by a shared library. *func_spec* must be " "a 2-tuple ``(name_or_ordinal, library)``. The first item is the name of the " @@ -2997,7 +3007,7 @@ msgid "" "small integer. The second item is the shared library instance." msgstr "" -#: ../../library/ctypes.rst:1988 +#: ../../library/ctypes.rst:1997 msgid "" "Returns a foreign function that will call a COM method. *vtbl_index* is the " "index into the virtual function table, a small non-negative integer. *name* " @@ -3005,86 +3015,86 @@ msgid "" "identifier which is used in extended error reporting." msgstr "" -#: ../../library/ctypes.rst:1993 +#: ../../library/ctypes.rst:2002 msgid "" "If *iid* is not specified, an :exc:`OSError` is raised if the COM method " "call fails. If *iid* is specified, a :exc:`~ctypes.COMError` is raised " "instead." msgstr "" -#: ../../library/ctypes.rst:1997 +#: ../../library/ctypes.rst:2006 msgid "" "COM methods use a special calling convention: They require a pointer to the " "COM interface as first argument, in addition to those parameters that are " "specified in the :attr:`!argtypes` tuple." msgstr "" -#: ../../library/ctypes.rst:2004 +#: ../../library/ctypes.rst:2013 msgid "" "The optional *paramflags* parameter creates foreign function wrappers with " "much more functionality than the features described above." msgstr "" -#: ../../library/ctypes.rst:2007 +#: ../../library/ctypes.rst:2016 msgid "" "*paramflags* must be a tuple of the same length as :attr:`~_CFuncPtr." "argtypes`." msgstr "" -#: ../../library/ctypes.rst:2009 +#: ../../library/ctypes.rst:2018 msgid "" "Each item in this tuple contains further information about a parameter, it " "must be a tuple containing one, two, or three items." msgstr "" -#: ../../library/ctypes.rst:2012 +#: ../../library/ctypes.rst:2021 msgid "" "The first item is an integer containing a combination of direction flags for " "the parameter:" msgstr "" -#: ../../library/ctypes.rst:2015 +#: ../../library/ctypes.rst:2024 msgid "1" msgstr "" -#: ../../library/ctypes.rst:2016 +#: ../../library/ctypes.rst:2025 msgid "Specifies an input parameter to the function." msgstr "" -#: ../../library/ctypes.rst:2018 +#: ../../library/ctypes.rst:2027 msgid "2" msgstr "" -#: ../../library/ctypes.rst:2019 +#: ../../library/ctypes.rst:2028 msgid "Output parameter. The foreign function fills in a value." msgstr "" -#: ../../library/ctypes.rst:2021 +#: ../../library/ctypes.rst:2030 msgid "4" msgstr "" -#: ../../library/ctypes.rst:2022 +#: ../../library/ctypes.rst:2031 msgid "Input parameter which defaults to the integer zero." msgstr "" -#: ../../library/ctypes.rst:2024 +#: ../../library/ctypes.rst:2033 msgid "" "The optional second item is the parameter name as string. If this is " "specified, the foreign function can be called with named parameters." msgstr "" -#: ../../library/ctypes.rst:2027 +#: ../../library/ctypes.rst:2036 msgid "The optional third item is the default value for this parameter." msgstr "" -#: ../../library/ctypes.rst:2030 +#: ../../library/ctypes.rst:2039 msgid "" "The following example demonstrates how to wrap the Windows ``MessageBoxW`` " "function so that it supports default parameters and named arguments. The C " "declaration from the windows header file is this::" msgstr "" -#: ../../library/ctypes.rst:2034 +#: ../../library/ctypes.rst:2043 msgid "" "WINUSERAPI int WINAPI\n" "MessageBoxW(\n" @@ -3094,11 +3104,11 @@ msgid "" " UINT uType);" msgstr "" -#: ../../library/ctypes.rst:2041 ../../library/ctypes.rst:2064 +#: ../../library/ctypes.rst:2050 ../../library/ctypes.rst:2073 msgid "Here is the wrapping with :mod:`!ctypes`::" msgstr "" -#: ../../library/ctypes.rst:2043 +#: ../../library/ctypes.rst:2052 msgid "" ">>> from ctypes import c_int, WINFUNCTYPE, windll\n" ">>> from ctypes.wintypes import HWND, LPCWSTR, UINT\n" @@ -3108,18 +3118,18 @@ msgid "" ">>> MessageBox = prototype((\"MessageBoxW\", windll.user32), paramflags)" msgstr "" -#: ../../library/ctypes.rst:2049 +#: ../../library/ctypes.rst:2058 msgid "The ``MessageBox`` foreign function can now be called in these ways::" msgstr "" -#: ../../library/ctypes.rst:2051 +#: ../../library/ctypes.rst:2060 msgid "" ">>> MessageBox()\n" ">>> MessageBox(text=\"Spam, spam, spam\")\n" ">>> MessageBox(flags=2, text=\"foo bar\")" msgstr "" -#: ../../library/ctypes.rst:2055 +#: ../../library/ctypes.rst:2064 msgid "" "A second example demonstrates output parameters. The win32 " "``GetWindowRect`` function retrieves the dimensions of a specified window by " @@ -3127,7 +3137,7 @@ msgid "" "the C declaration::" msgstr "" -#: ../../library/ctypes.rst:2059 +#: ../../library/ctypes.rst:2068 msgid "" "WINUSERAPI BOOL WINAPI\n" "GetWindowRect(\n" @@ -3135,7 +3145,7 @@ msgid "" " LPRECT lpRect);" msgstr "" -#: ../../library/ctypes.rst:2066 +#: ../../library/ctypes.rst:2075 msgid "" ">>> from ctypes import POINTER, WINFUNCTYPE, windll, WinError\n" ">>> from ctypes.wintypes import BOOL, HWND, RECT\n" @@ -3146,7 +3156,7 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:2073 +#: ../../library/ctypes.rst:2082 msgid "" "Functions with output parameters will automatically return the output " "parameter value if there is a single one, or a tuple containing the output " @@ -3154,7 +3164,7 @@ msgid "" "now returns a RECT instance, when called." msgstr "" -#: ../../library/ctypes.rst:2078 +#: ../../library/ctypes.rst:2087 msgid "" "Output parameters can be combined with the :attr:`~_CFuncPtr.errcheck` " "protocol to do further output processing and error checking. The win32 " @@ -3163,7 +3173,7 @@ msgid "" "exception when the api call failed::" msgstr "" -#: ../../library/ctypes.rst:2083 +#: ../../library/ctypes.rst:2092 msgid "" ">>> def errcheck(result, func, args):\n" "... if not result:\n" @@ -3174,7 +3184,7 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:2091 +#: ../../library/ctypes.rst:2100 msgid "" "If the :attr:`~_CFuncPtr.errcheck` function returns the argument tuple it " "receives unchanged, :mod:`!ctypes` continues the normal processing it does " @@ -3184,7 +3194,7 @@ msgid "" "take place::" msgstr "" -#: ../../library/ctypes.rst:2097 +#: ../../library/ctypes.rst:2106 msgid "" ">>> def errcheck(result, func, args):\n" "... if not result:\n" @@ -3196,62 +3206,62 @@ msgid "" ">>>" msgstr "" -#: ../../library/ctypes.rst:2110 +#: ../../library/ctypes.rst:2119 msgid "Utility functions" msgstr "" -#: ../../library/ctypes.rst:2114 +#: ../../library/ctypes.rst:2123 msgid "" "Returns the address of the memory buffer as integer. *obj* must be an " "instance of a ctypes type." msgstr "" -#: ../../library/ctypes.rst:2117 +#: ../../library/ctypes.rst:2126 msgid "" "Raises an :ref:`auditing event ` ``ctypes.addressof`` with " "argument ``obj``." msgstr "" -#: ../../library/ctypes.rst:2122 +#: ../../library/ctypes.rst:2131 msgid "" "Returns the alignment requirements of a ctypes type. *obj_or_type* must be a " "ctypes type or instance." msgstr "" -#: ../../library/ctypes.rst:2128 +#: ../../library/ctypes.rst:2137 msgid "" "Returns a light-weight pointer to *obj*, which must be an instance of a " "ctypes type. *offset* defaults to zero, and must be an integer that will be " "added to the internal pointer value." msgstr "" -#: ../../library/ctypes.rst:2132 +#: ../../library/ctypes.rst:2141 msgid "``byref(obj, offset)`` corresponds to this C code::" msgstr "" -#: ../../library/ctypes.rst:2134 +#: ../../library/ctypes.rst:2143 msgid "(((char *)&obj) + offset)" msgstr "" -#: ../../library/ctypes.rst:2136 +#: ../../library/ctypes.rst:2145 msgid "" "The returned object can only be used as a foreign function call parameter. " "It behaves similar to ``pointer(obj)``, but the construction is a lot faster." msgstr "" -#: ../../library/ctypes.rst:2142 +#: ../../library/ctypes.rst:2151 msgid "" "Copies a COM pointer from *src* to *dst* and returns the Windows specific :c:" "type:`!HRESULT` value." msgstr "" -#: ../../library/ctypes.rst:2145 +#: ../../library/ctypes.rst:2154 msgid "" "If *src* is not ``NULL``, its ``AddRef`` method is called, incrementing the " "reference count." msgstr "" -#: ../../library/ctypes.rst:2148 +#: ../../library/ctypes.rst:2157 msgid "" "In contrast, the reference count of *dst* will not be decremented before " "assigning the new value. Unless *dst* is ``NULL``, the caller is responsible " @@ -3259,7 +3269,7 @@ msgid "" "necessary." msgstr "" -#: ../../library/ctypes.rst:2160 +#: ../../library/ctypes.rst:2169 msgid "" "This function is similar to the cast operator in C. It returns a new " "instance of *type* which points to the same memory block as *obj*. *type* " @@ -3267,47 +3277,47 @@ msgid "" "as a pointer." msgstr "" -#: ../../library/ctypes.rst:2169 +#: ../../library/ctypes.rst:2178 msgid "" "This function creates a mutable character buffer. The returned object is a " "ctypes array of :class:`c_char`." msgstr "" -#: ../../library/ctypes.rst:2172 +#: ../../library/ctypes.rst:2181 msgid "" "If *size* is given (and not ``None``), it must be an :class:`int`. It " "specifies the size of the returned array." msgstr "" -#: ../../library/ctypes.rst:2175 +#: ../../library/ctypes.rst:2184 msgid "" "If the *init* argument is given, it must be :class:`bytes`. It is used to " "initialize the array items. Bytes not initialized this way are set to zero " "(NUL)." msgstr "" -#: ../../library/ctypes.rst:2179 +#: ../../library/ctypes.rst:2188 msgid "" "If *size* is not given (or if it is ``None``), the buffer is made one " "element larger than *init*, effectively adding a NUL terminator." msgstr "" -#: ../../library/ctypes.rst:2182 +#: ../../library/ctypes.rst:2191 msgid "" "If both arguments are given, *size* must not be less than ``len(init)``." msgstr "" -#: ../../library/ctypes.rst:2186 +#: ../../library/ctypes.rst:2195 msgid "" "If *size* is equal to ``len(init)``, a NUL terminator is not added. Do not " "treat such a buffer as a C string." msgstr "" -#: ../../library/ctypes.rst:2189 +#: ../../library/ctypes.rst:2198 msgid "For example::" msgstr "" -#: ../../library/ctypes.rst:2191 +#: ../../library/ctypes.rst:2200 msgid "" ">>> bytes(create_string_buffer(2))\n" "b'\\x00\\x00'\n" @@ -3323,45 +3333,45 @@ msgid "" "ValueError: byte string too long" msgstr "" -#: ../../library/ctypes.rst:2204 +#: ../../library/ctypes.rst:2213 msgid "" "Raises an :ref:`auditing event ` ``ctypes.create_string_buffer`` " "with arguments ``init``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2210 +#: ../../library/ctypes.rst:2219 msgid "" "This function creates a mutable unicode character buffer. The returned " "object is a ctypes array of :class:`c_wchar`." msgstr "" -#: ../../library/ctypes.rst:2213 +#: ../../library/ctypes.rst:2222 msgid "" "The function takes the same arguments as :func:`~create_string_buffer` " "except *init* must be a string and *size* counts :class:`c_wchar`." msgstr "" -#: ../../library/ctypes.rst:2216 +#: ../../library/ctypes.rst:2225 msgid "" "Raises an :ref:`auditing event ` ``ctypes.create_unicode_buffer`` " "with arguments ``init``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2221 +#: ../../library/ctypes.rst:2230 msgid "" "This function is a hook which allows implementing in-process COM servers " "with ctypes. It is called from the DllCanUnloadNow function that the " "_ctypes extension dll exports." msgstr "" -#: ../../library/ctypes.rst:2230 +#: ../../library/ctypes.rst:2239 msgid "" "This function is a hook which allows implementing in-process COM servers " "with ctypes. It is called from the DllGetClassObject function that the " "``_ctypes`` extension dll exports." msgstr "" -#: ../../library/ctypes.rst:2240 +#: ../../library/ctypes.rst:2249 msgid "" "Try to find a library and return a pathname. *name* is the library name " "without any prefix like ``lib``, suffix like ``.so``, ``.dylib`` or version " @@ -3369,25 +3379,25 @@ msgid "" "If no library can be found, returns ``None``." msgstr "" -#: ../../library/ctypes.rst:2247 +#: ../../library/ctypes.rst:2256 msgid "See :ref:`ctypes-finding-shared-libraries` for complete documentation." msgstr "" -#: ../../library/ctypes.rst:2253 +#: ../../library/ctypes.rst:2262 msgid "" "Returns the filename of the VC runtime library used by Python, and by the " "extension modules. If the name of the library cannot be determined, " "``None`` is returned." msgstr "" -#: ../../library/ctypes.rst:2257 +#: ../../library/ctypes.rst:2266 msgid "" "If you need to free memory, for example, allocated by an extension module " "with a call to the ``free(void *)``, it is important that you use the " "function in the same library that allocated the memory." msgstr "" -#: ../../library/ctypes.rst:2267 +#: ../../library/ctypes.rst:2276 msgid "" "Try to provide a list of paths of the shared libraries loaded into the " "current process. These paths are not normalized or processed in any way. " @@ -3395,72 +3405,72 @@ msgid "" "The exact functionality is system dependent." msgstr "" -#: ../../library/ctypes.rst:2272 +#: ../../library/ctypes.rst:2281 msgid "" "On most platforms, the first element of the list represents the current " "executable file. It may be an empty string." msgstr "" -#: ../../library/ctypes.rst:2280 +#: ../../library/ctypes.rst:2289 msgid "" "Returns a textual description of the error code *code*. If no error code is " "specified, the last error code is used by calling the Windows API function :" "func:`GetLastError`." msgstr "" -#: ../../library/ctypes.rst:2289 +#: ../../library/ctypes.rst:2298 msgid "" "Returns the last error code set by Windows in the calling thread. This " "function calls the Windows ``GetLastError()`` function directly, it does not " "return the ctypes-private copy of the error code." msgstr "" -#: ../../library/ctypes.rst:2298 +#: ../../library/ctypes.rst:2307 msgid "" "Returns the current value of the ctypes-private copy of the system :data:" "`errno` variable in the calling thread." msgstr "" -#: ../../library/ctypes.rst:2301 +#: ../../library/ctypes.rst:2310 msgid "" "Raises an :ref:`auditing event ` ``ctypes.get_errno`` with no " "arguments." msgstr "" -#: ../../library/ctypes.rst:2305 +#: ../../library/ctypes.rst:2314 msgid "" "Returns the current value of the ctypes-private copy of the system :data:`!" "LastError` variable in the calling thread." msgstr "" -#: ../../library/ctypes.rst:2310 +#: ../../library/ctypes.rst:2319 msgid "" "Raises an :ref:`auditing event ` ``ctypes.get_last_error`` with no " "arguments." msgstr "" -#: ../../library/ctypes.rst:2315 +#: ../../library/ctypes.rst:2324 msgid "" "Same as the standard C memmove library function: copies *count* bytes from " "*src* to *dst*. *dst* and *src* must be integers or ctypes instances that " "can be converted to pointers." msgstr "" -#: ../../library/ctypes.rst:2322 +#: ../../library/ctypes.rst:2331 msgid "" "Same as the standard C memset library function: fills the memory block at " "address *dst* with *count* bytes of value *c*. *dst* must be an integer " "specifying an address, or a ctypes instance." msgstr "" -#: ../../library/ctypes.rst:2329 +#: ../../library/ctypes.rst:2338 msgid "" "Create or return a ctypes pointer type. Pointer types are cached and reused " "internally, so calling this function repeatedly is cheap. *type* must be a " "ctypes type." msgstr "" -#: ../../library/ctypes.rst:2335 +#: ../../library/ctypes.rst:2344 msgid "" "The resulting pointer type is cached in the ``__pointer_type__`` attribute " "of *type*. It is possible to set this attribute before the first call to " @@ -3469,19 +3479,19 @@ msgid "" "relying on implementation details that may change in future Python versions." msgstr "" -#: ../../library/ctypes.rst:2346 +#: ../../library/ctypes.rst:2355 msgid "" "Create a new pointer instance, pointing to *obj*. The returned object is of " "the type ``POINTER(type(obj))``." msgstr "" -#: ../../library/ctypes.rst:2349 +#: ../../library/ctypes.rst:2358 msgid "" "Note: If you just want to pass a pointer to an object to a foreign function " "call, you should use ``byref(obj)`` which is much faster." msgstr "" -#: ../../library/ctypes.rst:2355 +#: ../../library/ctypes.rst:2364 msgid "" "This function resizes the internal memory buffer of *obj*, which must be an " "instance of a ctypes type. It is not possible to make the buffer smaller " @@ -3489,50 +3499,50 @@ msgid "" "but it is possible to enlarge the buffer." msgstr "" -#: ../../library/ctypes.rst:2363 +#: ../../library/ctypes.rst:2372 msgid "" "Set the current value of the ctypes-private copy of the system :data:`errno` " "variable in the calling thread to *value* and return the previous value." msgstr "" -#: ../../library/ctypes.rst:2366 +#: ../../library/ctypes.rst:2375 msgid "" "Raises an :ref:`auditing event ` ``ctypes.set_errno`` with " "argument ``errno``." msgstr "" -#: ../../library/ctypes.rst:2371 +#: ../../library/ctypes.rst:2380 msgid "" "Sets the current value of the ctypes-private copy of the system :data:`!" "LastError` variable in the calling thread to *value* and return the previous " "value." msgstr "" -#: ../../library/ctypes.rst:2377 +#: ../../library/ctypes.rst:2386 msgid "" "Raises an :ref:`auditing event ` ``ctypes.set_last_error`` with " "argument ``error``." msgstr "" -#: ../../library/ctypes.rst:2382 +#: ../../library/ctypes.rst:2391 msgid "" "Returns the size in bytes of a ctypes type or instance memory buffer. Does " "the same as the C ``sizeof`` operator." msgstr "" -#: ../../library/ctypes.rst:2388 +#: ../../library/ctypes.rst:2397 msgid "" "Return the byte string at *void \\*ptr*. If *size* is specified, it is used " "as size, otherwise the string is assumed to be zero-terminated." msgstr "" -#: ../../library/ctypes.rst:2392 +#: ../../library/ctypes.rst:2401 msgid "" "Raises an :ref:`auditing event ` ``ctypes.string_at`` with " "arguments ``ptr``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2397 +#: ../../library/ctypes.rst:2406 msgid "" "Creates an instance of :exc:`OSError`. If *code* is not specified, :func:" "`GetLastError` is called to determine the error code. If *descr* is not " @@ -3540,39 +3550,39 @@ msgid "" "error." msgstr "" -#: ../../library/ctypes.rst:2404 +#: ../../library/ctypes.rst:2413 msgid "" "An instance of :exc:`WindowsError` used to be created, which is now an alias " "of :exc:`OSError`." msgstr "" -#: ../../library/ctypes.rst:2411 +#: ../../library/ctypes.rst:2420 msgid "" "Return the wide-character string at *void \\*ptr*. If *size* is specified, " "it is used as the number of characters of the string, otherwise the string " "is assumed to be zero-terminated." msgstr "" -#: ../../library/ctypes.rst:2416 +#: ../../library/ctypes.rst:2425 msgid "" "Raises an :ref:`auditing event ` ``ctypes.wstring_at`` with " "arguments ``ptr``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2421 +#: ../../library/ctypes.rst:2430 msgid "" "Return a :class:`memoryview` object of length *size* that references memory " "starting at *void \\*ptr*." msgstr "" -#: ../../library/ctypes.rst:2424 +#: ../../library/ctypes.rst:2433 msgid "" "If *readonly* is true, the returned :class:`!memoryview` object can not be " "used to modify the underlying memory. (Changes made by other means will " "still be reflected in the returned object.)" msgstr "" -#: ../../library/ctypes.rst:2429 +#: ../../library/ctypes.rst:2438 msgid "" "This function is similar to :func:`string_at` with the key difference of not " "making a copy of the specified memory. It is a semantically equivalent (but " @@ -3582,17 +3592,17 @@ msgid "" "`~ctypes.byref` object.)" msgstr "" -#: ../../library/ctypes.rst:2436 +#: ../../library/ctypes.rst:2445 msgid "" "Raises an :ref:`auditing event ` ``ctypes.memoryview_at`` with " "arguments ``address``, ``size``, ``readonly``." msgstr "" -#: ../../library/ctypes.rst:2444 +#: ../../library/ctypes.rst:2453 msgid "Data types" msgstr "" -#: ../../library/ctypes.rst:2449 +#: ../../library/ctypes.rst:2458 msgid "" "This non-public class is the common base class of all ctypes data types. " "Among other things, all ctypes type instances contain a memory block that " @@ -3602,13 +3612,13 @@ msgid "" "alive in case the memory block contains pointers." msgstr "" -#: ../../library/ctypes.rst:2456 +#: ../../library/ctypes.rst:2465 msgid "" "Common methods of ctypes data types, these are all class methods (to be " "exact, they are methods of the :term:`metaclass`):" msgstr "" -#: ../../library/ctypes.rst:2461 +#: ../../library/ctypes.rst:2470 msgid "" "This method returns a ctypes instance that shares the buffer of the *source* " "object. The *source* object must support the writeable buffer interface. " @@ -3617,13 +3627,13 @@ msgid "" "exc:`ValueError` is raised." msgstr "" -#: ../../library/ctypes.rst:2467 ../../library/ctypes.rst:2477 +#: ../../library/ctypes.rst:2476 ../../library/ctypes.rst:2486 msgid "" "Raises an :ref:`auditing event ` ``ctypes.cdata/buffer`` with " "arguments ``pointer``, ``size``, ``offset``." msgstr "" -#: ../../library/ctypes.rst:2471 +#: ../../library/ctypes.rst:2480 msgid "" "This method creates a ctypes instance, copying the buffer from the *source* " "object buffer which must be readable. The optional *offset* parameter " @@ -3631,19 +3641,19 @@ msgid "" "If the source buffer is not large enough a :exc:`ValueError` is raised." msgstr "" -#: ../../library/ctypes.rst:2481 +#: ../../library/ctypes.rst:2490 msgid "" "This method returns a ctypes type instance using the memory specified by " "*address* which must be an integer." msgstr "" -#: ../../library/ctypes.rst:2484 ../../library/ctypes.rst:2486 +#: ../../library/ctypes.rst:2493 ../../library/ctypes.rst:2495 msgid "" "This method, and others that indirectly call this method, raises an :ref:" "`auditing event ` ``ctypes.cdata`` with argument ``address``." msgstr "" -#: ../../library/ctypes.rst:2492 +#: ../../library/ctypes.rst:2501 msgid "" "This method adapts *obj* to a ctypes type. It is called with the actual " "object used in a foreign function call when the type is present in the " @@ -3651,36 +3661,36 @@ msgid "" "object that can be used as a function call parameter." msgstr "" -#: ../../library/ctypes.rst:2497 +#: ../../library/ctypes.rst:2506 msgid "" "All ctypes data types have a default implementation of this classmethod that " "normally returns *obj* if that is an instance of the type. Some types " "accept other objects as well." msgstr "" -#: ../../library/ctypes.rst:2503 +#: ../../library/ctypes.rst:2512 msgid "" "This method returns a ctypes type instance exported by a shared library. " "*name* is the name of the symbol that exports the data, *library* is the " "loaded shared library." msgstr "" -#: ../../library/ctypes.rst:2507 +#: ../../library/ctypes.rst:2516 msgid "Common class variables of ctypes data types:" msgstr "" -#: ../../library/ctypes.rst:2511 +#: ../../library/ctypes.rst:2520 msgid "" "The pointer type that was created by calling :func:`POINTER` for " "corresponding ctypes data type. If a pointer type was not yet created, the " "attribute is missing." msgstr "" -#: ../../library/ctypes.rst:2517 +#: ../../library/ctypes.rst:2526 msgid "Common instance variables of ctypes data types:" msgstr "" -#: ../../library/ctypes.rst:2521 +#: ../../library/ctypes.rst:2530 msgid "" "Sometimes ctypes data instances do not own the memory block they contain, " "instead they share part of the memory block of a base object. The :attr:" @@ -3688,13 +3698,13 @@ msgid "" "block." msgstr "" -#: ../../library/ctypes.rst:2528 +#: ../../library/ctypes.rst:2537 msgid "" "This read-only variable is true when the ctypes data instance has allocated " "the memory block itself, false otherwise." msgstr "" -#: ../../library/ctypes.rst:2533 +#: ../../library/ctypes.rst:2542 msgid "" "This member is either ``None`` or a dictionary containing Python objects " "that need to be kept alive so that the memory block contents is kept valid. " @@ -3702,7 +3712,7 @@ msgid "" "dictionary." msgstr "" -#: ../../library/ctypes.rst:2546 +#: ../../library/ctypes.rst:2555 msgid "" "This non-public class is the base class of all fundamental ctypes data " "types. It is mentioned here because it contains the common attributes of the " @@ -3711,11 +3721,11 @@ msgid "" "types that are not and do not contain pointers can now be pickled." msgstr "" -#: ../../library/ctypes.rst:2552 +#: ../../library/ctypes.rst:2561 msgid "Instances have a single attribute:" msgstr "" -#: ../../library/ctypes.rst:2556 +#: ../../library/ctypes.rst:2565 msgid "" "This attribute contains the actual value of the instance. For integer and " "pointer types, it is an integer, for character types, it is a single " @@ -3723,7 +3733,7 @@ msgid "" "bytes object or string." msgstr "" -#: ../../library/ctypes.rst:2561 +#: ../../library/ctypes.rst:2570 msgid "" "When the ``value`` attribute is retrieved from a ctypes instance, usually a " "new object is returned each time. :mod:`!ctypes` does *not* implement " @@ -3731,17 +3741,17 @@ msgid "" "true for all other ctypes object instances." msgstr "" -#: ../../library/ctypes.rst:2566 +#: ../../library/ctypes.rst:2575 msgid "Each subclass has a class attribute:" msgstr "" -#: ../../library/ctypes.rst:2570 +#: ../../library/ctypes.rst:2579 msgid "" "Class attribute that contains an internal type code, as a single-character " "string. See :ref:`ctypes-fundamental-data-types` for a summary." msgstr "" -#: ../../library/ctypes.rst:2574 +#: ../../library/ctypes.rst:2583 msgid "" "Types marked \\* in the summary may be (or always are) aliases of a " "different :class:`_SimpleCData` subclass, and will not necessarily use the " @@ -3752,7 +3762,7 @@ msgid "" "code will be unused." msgstr "" -#: ../../library/ctypes.rst:2585 +#: ../../library/ctypes.rst:2594 msgid "" "The :mod:`array` and :ref:`struct ` modules, as well as " "third-party modules like `numpy >> class Color(Structure):\n" "... _fields_ = (\n" @@ -4335,100 +4345,100 @@ msgid "" "1" msgstr "" -#: ../../library/ctypes.rst:3087 +#: ../../library/ctypes.rst:3096 msgid "All attributes are read-only." msgstr "" -#: ../../library/ctypes.rst:3089 +#: ../../library/ctypes.rst:3098 msgid "" ":class:`!CField` objects are created via :attr:`~Structure._fields_`; do not " "instantiate the class directly." msgstr "" -#: ../../library/ctypes.rst:3094 +#: ../../library/ctypes.rst:3103 msgid "" "Previously, descriptors only had ``offset`` and ``size`` attributes and a " "readable string representation; the :class:`!CField` class was not available " "directly." msgstr "" -#: ../../library/ctypes.rst:3100 +#: ../../library/ctypes.rst:3109 msgid "Name of the field, as a string." msgstr "" -#: ../../library/ctypes.rst:3104 +#: ../../library/ctypes.rst:3113 msgid "Type of the field, as a :ref:`ctypes class `." msgstr "" -#: ../../library/ctypes.rst:3109 +#: ../../library/ctypes.rst:3118 msgid "Offset of the field, in bytes." msgstr "" -#: ../../library/ctypes.rst:3111 +#: ../../library/ctypes.rst:3120 msgid "" "For bitfields, this is the offset of the underlying byte-aligned *storage " "unit*; see :attr:`~CField.bit_offset`." msgstr "" -#: ../../library/ctypes.rst:3116 +#: ../../library/ctypes.rst:3125 msgid "Size of the field, in bytes." msgstr "" -#: ../../library/ctypes.rst:3118 +#: ../../library/ctypes.rst:3127 msgid "" "For bitfields, this is the size of the underlying *storage unit*. Typically, " "it has the same size as the bitfield's type." msgstr "" -#: ../../library/ctypes.rst:3123 +#: ../../library/ctypes.rst:3132 msgid "For non-bitfields, equivalent to :attr:`~CField.byte_size`." msgstr "" -#: ../../library/ctypes.rst:3125 +#: ../../library/ctypes.rst:3134 msgid "" "For bitfields, this contains a backwards-compatible bit-packed value that " "combines :attr:`~CField.bit_size` and :attr:`~CField.bit_offset`. Prefer " "using the explicit attributes instead." msgstr "" -#: ../../library/ctypes.rst:3132 +#: ../../library/ctypes.rst:3141 msgid "True if this is a bitfield." msgstr "" -#: ../../library/ctypes.rst:3137 +#: ../../library/ctypes.rst:3146 msgid "" "The location of a bitfield within its *storage unit*, that is, within :attr:" "`~CField.byte_size` bytes of memory starting at :attr:`~CField.byte_offset`." msgstr "" -#: ../../library/ctypes.rst:3141 +#: ../../library/ctypes.rst:3150 msgid "" "To get the field's value, read the storage unit as an integer, :ref:`shift " "left ` by :attr:`!bit_offset` and take the :attr:`!bit_size` least " "significant bits." msgstr "" -#: ../../library/ctypes.rst:3145 +#: ../../library/ctypes.rst:3154 msgid "" "For non-bitfields, :attr:`!bit_offset` is zero and :attr:`!bit_size` is " "equal to ``byte_size * 8``." msgstr "" -#: ../../library/ctypes.rst:3150 +#: ../../library/ctypes.rst:3159 msgid "" "True if this field is anonymous, that is, it contains nested sub-fields that " "should be merged into a containing structure or union." msgstr "" -#: ../../library/ctypes.rst:3157 +#: ../../library/ctypes.rst:3166 msgid "Arrays and pointers" msgstr "" -#: ../../library/ctypes.rst:3161 +#: ../../library/ctypes.rst:3170 msgid "Abstract base class for arrays." msgstr "" -#: ../../library/ctypes.rst:3163 +#: ../../library/ctypes.rst:3172 msgid "" "The recommended way to create concrete array types is by multiplying any :" "mod:`!ctypes` data type with a non-negative integer. Alternatively, you can " @@ -4438,48 +4448,48 @@ msgid "" "an :class:`Array`." msgstr "" -#: ../../library/ctypes.rst:3170 +#: ../../library/ctypes.rst:3179 msgid "Arrays are :ref:`generic ` over the type of their elements." msgstr "" -#: ../../library/ctypes.rst:3175 +#: ../../library/ctypes.rst:3184 msgid "" "A positive integer specifying the number of elements in the array. Out-of-" "range subscripts result in an :exc:`IndexError`. Will be returned by :func:" "`len`." msgstr "" -#: ../../library/ctypes.rst:3182 +#: ../../library/ctypes.rst:3191 msgid "Specifies the type of each element in the array." msgstr "" -#: ../../library/ctypes.rst:3185 +#: ../../library/ctypes.rst:3194 msgid "" "Array subclass constructors accept positional arguments, used to initialize " "the elements in order." msgstr "" -#: ../../library/ctypes.rst:3190 +#: ../../library/ctypes.rst:3199 msgid "" "Create an array. Equivalent to ``type * length``, where *type* is a :mod:`!" "ctypes` data type and *length* an integer." msgstr "" -#: ../../library/ctypes.rst:3194 +#: ../../library/ctypes.rst:3203 msgid "In favor of multiplication." msgstr "" -#: ../../library/ctypes.rst:3200 +#: ../../library/ctypes.rst:3209 msgid "Private, abstract base class for pointers." msgstr "" -#: ../../library/ctypes.rst:3202 +#: ../../library/ctypes.rst:3211 msgid "" "Concrete pointer types are created by calling :func:`POINTER` with the type " "that will be pointed to; this is done automatically by :func:`pointer`." msgstr "" -#: ../../library/ctypes.rst:3206 +#: ../../library/ctypes.rst:3215 msgid "" "If a pointer points to an array, its elements can be read and written using " "standard subscript and slice accesses. Pointer objects have no size, so :" @@ -4488,43 +4498,43 @@ msgid "" "probably crash with an access violation (if you're lucky)." msgstr "" -#: ../../library/ctypes.rst:3216 +#: ../../library/ctypes.rst:3225 msgid "Specifies the type pointed to." msgstr "" -#: ../../library/ctypes.rst:3220 +#: ../../library/ctypes.rst:3229 msgid "" "Returns the object to which to pointer points. Assigning to this attribute " "changes the pointer to point to the assigned object." msgstr "" -#: ../../library/ctypes.rst:3227 +#: ../../library/ctypes.rst:3236 msgid "Exceptions" msgstr "" -#: ../../library/ctypes.rst:3231 +#: ../../library/ctypes.rst:3240 msgid "" "This exception is raised when a foreign function call cannot convert one of " "the passed arguments." msgstr "" -#: ../../library/ctypes.rst:3237 +#: ../../library/ctypes.rst:3246 msgid "This exception is raised when a COM method call failed." msgstr "" -#: ../../library/ctypes.rst:3241 +#: ../../library/ctypes.rst:3250 msgid "The integer value representing the error code." msgstr "" -#: ../../library/ctypes.rst:3245 +#: ../../library/ctypes.rst:3254 msgid "The error message." msgstr "" -#: ../../library/ctypes.rst:3249 +#: ../../library/ctypes.rst:3258 msgid "The 5-tuple ``(descr, source, helpfile, helpcontext, progid)``." msgstr "" -#: ../../library/ctypes.rst:3251 +#: ../../library/ctypes.rst:3260 msgid "" "*descr* is the textual description. *source* is the language-dependent " "``ProgID`` for the class or application that raised the error. *helpfile* " diff --git a/library/importlib.po b/library/importlib.po index f0fdb4bb..61179c0c 100644 --- a/library/importlib.po +++ b/library/importlib.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-05 16:53+0200\n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -468,13 +468,13 @@ msgstr "" #: ../../library/importlib.rst:312 msgid "" -"Loaders that wish to support resource reading should implement a :meth:" -"`get_resource_reader` method as specified by :class:`importlib.resources.abc." +"Loaders that wish to support resource reading should implement a :meth:`!" +"get_resource_reader` method as specified by :class:`importlib.resources.abc." "ResourceReader`." msgstr "" #: ../../library/importlib.rst:316 -msgid "Introduced the optional :meth:`get_resource_reader` method." +msgid "Introduced the optional :meth:`!get_resource_reader` method." msgstr "" #: ../../library/importlib.rst:321 @@ -726,7 +726,7 @@ msgstr "" msgid "Use :meth:`Loader.exec_module` instead." msgstr "" -#: ../../library/importlib.rst:539 ../../library/importlib.rst:980 +#: ../../library/importlib.rst:539 ../../library/importlib.rst:982 msgid "Returns :attr:`path`." msgstr "" @@ -920,8 +920,8 @@ msgid "" "`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs." msgstr "" -#: ../../library/importlib.rst:715 ../../library/importlib.rst:729 -#: ../../library/importlib.rst:742 ../../library/importlib.rst:757 +#: ../../library/importlib.rst:715 ../../library/importlib.rst:730 +#: ../../library/importlib.rst:744 ../../library/importlib.rst:759 msgid "" "Only class methods are defined by this class to alleviate the need for " "instantiation." @@ -930,40 +930,42 @@ msgstr "" #: ../../library/importlib.rst:718 msgid "" "As part of :pep:`489`, the builtin importer now implements :meth:`Loader." -"create_module` and :meth:`Loader.exec_module`" +"create_module ` and :meth:`Loader." +"exec_module `" msgstr "" -#: ../../library/importlib.rst:725 +#: ../../library/importlib.rst:726 msgid "" "An :term:`importer` for frozen modules. This class implements the :class:" "`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs." msgstr "" -#: ../../library/importlib.rst:732 +#: ../../library/importlib.rst:733 msgid "" -"Gained :meth:`~Loader.create_module` and :meth:`~Loader.exec_module` methods." +"Gained :meth:`~importlib.abc.Loader.create_module` and :meth:`~importlib.abc." +"Loader.exec_module` methods." msgstr "" -#: ../../library/importlib.rst:739 +#: ../../library/importlib.rst:741 msgid "" ":term:`Finder ` for modules declared in the Windows registry. This " "class implements the :class:`importlib.abc.MetaPathFinder` ABC." msgstr "" -#: ../../library/importlib.rst:747 +#: ../../library/importlib.rst:749 msgid "" "Use :mod:`site` configuration instead. Future versions of Python may not " "enable this finder by default." msgstr "" -#: ../../library/importlib.rst:754 +#: ../../library/importlib.rst:756 msgid "" "A :term:`Finder ` for :data:`sys.path` and package ``__path__`` " "attributes. This class implements the :class:`importlib.abc.MetaPathFinder` " "ABC." msgstr "" -#: ../../library/importlib.rst:762 +#: ../../library/importlib.rst:764 msgid "" "Class method that attempts to find a :term:`spec ` for the " "module specified by *fullname* on :data:`sys.path` or, if defined, on " @@ -977,43 +979,43 @@ msgid "" "cache and returned." msgstr "" -#: ../../library/importlib.rst:776 +#: ../../library/importlib.rst:778 msgid "" "If the current working directory -- represented by an empty string -- is no " "longer valid then ``None`` is returned but no value is cached in :data:`sys." "path_importer_cache`." msgstr "" -#: ../../library/importlib.rst:783 +#: ../../library/importlib.rst:785 msgid "" "Calls :meth:`importlib.abc.PathEntryFinder.invalidate_caches` on all finders " "stored in :data:`sys.path_importer_cache` that define the method. Otherwise " "entries in :data:`sys.path_importer_cache` set to ``None`` are deleted." msgstr "" -#: ../../library/importlib.rst:788 +#: ../../library/importlib.rst:790 msgid "Entries of ``None`` in :data:`sys.path_importer_cache` are deleted." msgstr "" -#: ../../library/importlib.rst:791 +#: ../../library/importlib.rst:793 msgid "" "Calls objects in :data:`sys.path_hooks` with the current working directory " "for ``''`` (i.e. the empty string)." msgstr "" -#: ../../library/importlib.rst:798 +#: ../../library/importlib.rst:800 msgid "" "A concrete implementation of :class:`importlib.abc.PathEntryFinder` which " "caches results from the file system." msgstr "" -#: ../../library/importlib.rst:801 +#: ../../library/importlib.rst:803 msgid "" "The *path* argument is the directory for which the finder is in charge of " "searching." msgstr "" -#: ../../library/importlib.rst:804 +#: ../../library/importlib.rst:806 msgid "" "The *loader_details* argument is a variable number of 2-item tuples each " "containing a loader and a sequence of file suffixes the loader recognizes. " @@ -1021,7 +1023,7 @@ msgid "" "module's name and the path to the file found." msgstr "" -#: ../../library/importlib.rst:809 +#: ../../library/importlib.rst:811 msgid "" "The finder will cache the directory contents as necessary, making stat calls " "for each module search to verify the cache is not outdated. Because cache " @@ -1034,166 +1036,166 @@ msgid "" "to call :func:`importlib.invalidate_caches`." msgstr "" -#: ../../library/importlib.rst:823 +#: ../../library/importlib.rst:825 msgid "The path the finder will search in." msgstr "" -#: ../../library/importlib.rst:827 +#: ../../library/importlib.rst:829 msgid "Attempt to find the spec to handle *fullname* within :attr:`path`." msgstr "" -#: ../../library/importlib.rst:833 +#: ../../library/importlib.rst:835 msgid "Clear out the internal cache." msgstr "" -#: ../../library/importlib.rst:837 +#: ../../library/importlib.rst:839 msgid "" "A class method which returns a closure for use on :data:`sys.path_hooks`. An " "instance of :class:`FileFinder` is returned by the closure using the path " "argument given to the closure directly and *loader_details* indirectly." msgstr "" -#: ../../library/importlib.rst:842 +#: ../../library/importlib.rst:844 msgid "" "If the argument to the closure is not an existing directory, :exc:" "`ImportError` is raised." msgstr "" -#: ../../library/importlib.rst:848 +#: ../../library/importlib.rst:850 msgid "" "A concrete implementation of :class:`importlib.abc.SourceLoader` by " "subclassing :class:`importlib.abc.FileLoader` and providing some concrete " "implementations of other methods." msgstr "" -#: ../../library/importlib.rst:856 +#: ../../library/importlib.rst:858 msgid "The name of the module that this loader will handle." msgstr "" -#: ../../library/importlib.rst:860 +#: ../../library/importlib.rst:862 msgid "The path to the source file." msgstr "" -#: ../../library/importlib.rst:864 +#: ../../library/importlib.rst:866 msgid "Return ``True`` if :attr:`path` appears to be for a package." msgstr "" -#: ../../library/importlib.rst:868 +#: ../../library/importlib.rst:870 msgid "" "Concrete implementation of :meth:`importlib.abc.SourceLoader.path_stats`." msgstr "" -#: ../../library/importlib.rst:872 +#: ../../library/importlib.rst:874 msgid "Concrete implementation of :meth:`importlib.abc.SourceLoader.set_data`." msgstr "" -#: ../../library/importlib.rst:876 ../../library/importlib.rst:919 +#: ../../library/importlib.rst:878 ../../library/importlib.rst:921 msgid "" "Concrete implementation of :meth:`importlib.abc.Loader.load_module` where " "specifying the name of the module to load is optional." msgstr "" -#: ../../library/importlib.rst:881 ../../library/importlib.rst:924 +#: ../../library/importlib.rst:883 ../../library/importlib.rst:926 msgid "Use :meth:`importlib.abc.Loader.exec_module` instead." msgstr "" -#: ../../library/importlib.rst:886 +#: ../../library/importlib.rst:888 msgid "" "A concrete implementation of :class:`importlib.abc.FileLoader` which can " "import bytecode files (i.e. no source code files exist)." msgstr "" -#: ../../library/importlib.rst:889 +#: ../../library/importlib.rst:891 msgid "" "Please note that direct use of bytecode files (and thus not source code " "files) inhibits your modules from being usable by all Python implementations " "or new versions of Python which change the bytecode format." msgstr "" -#: ../../library/importlib.rst:898 +#: ../../library/importlib.rst:900 msgid "The name of the module the loader will handle." msgstr "" -#: ../../library/importlib.rst:902 +#: ../../library/importlib.rst:904 msgid "The path to the bytecode file." msgstr "" -#: ../../library/importlib.rst:906 +#: ../../library/importlib.rst:908 msgid "Determines if the module is a package based on :attr:`path`." msgstr "" -#: ../../library/importlib.rst:910 +#: ../../library/importlib.rst:912 msgid "Returns the code object for :attr:`name` created from :attr:`path`." msgstr "" -#: ../../library/importlib.rst:914 +#: ../../library/importlib.rst:916 msgid "" "Returns ``None`` as bytecode files have no source when this loader is used." msgstr "" -#: ../../library/importlib.rst:929 +#: ../../library/importlib.rst:931 msgid "" "A concrete implementation of :class:`importlib.abc.ExecutionLoader` for " "extension modules." msgstr "" -#: ../../library/importlib.rst:932 +#: ../../library/importlib.rst:934 msgid "" "The *fullname* argument specifies the name of the module the loader is to " "support. The *path* argument is the path to the extension module's file." msgstr "" -#: ../../library/importlib.rst:935 +#: ../../library/importlib.rst:937 msgid "" "Note that, by default, importing an extension module will fail in " "subinterpreters if it doesn't implement multi-phase init (see :pep:`489`), " "even if it would otherwise import successfully." msgstr "" -#: ../../library/importlib.rst:941 +#: ../../library/importlib.rst:943 msgid "Multi-phase init is now required for use in subinterpreters." msgstr "" -#: ../../library/importlib.rst:946 ../../library/importlib.rst:1132 +#: ../../library/importlib.rst:948 ../../library/importlib.rst:1134 msgid "Name of the module the loader supports." msgstr "" -#: ../../library/importlib.rst:950 +#: ../../library/importlib.rst:952 msgid "Path to the extension module." msgstr "" -#: ../../library/importlib.rst:954 +#: ../../library/importlib.rst:956 msgid "" "Creates the module object from the given specification in accordance with :" "pep:`489`." msgstr "" -#: ../../library/importlib.rst:961 +#: ../../library/importlib.rst:963 msgid "Initializes the given module object in accordance with :pep:`489`." msgstr "" -#: ../../library/importlib.rst:967 +#: ../../library/importlib.rst:969 msgid "" "Returns ``True`` if the file path points to a package's ``__init__`` module " "based on :const:`EXTENSION_SUFFIXES`." msgstr "" -#: ../../library/importlib.rst:972 +#: ../../library/importlib.rst:974 msgid "Returns ``None`` as extension modules lack a code object." msgstr "" -#: ../../library/importlib.rst:976 +#: ../../library/importlib.rst:978 msgid "Returns ``None`` as extension modules do not have source code." msgstr "" -#: ../../library/importlib.rst:987 +#: ../../library/importlib.rst:989 msgid "" "A concrete implementation of :class:`importlib.abc.InspectLoader` for " "namespace packages. This is an alias for a private class and is only made " "public for introspecting the ``__loader__`` attribute on namespace packages::" msgstr "" -#: ../../library/importlib.rst:992 +#: ../../library/importlib.rst:994 msgid "" ">>> from importlib.machinery import NamespaceLoader\n" ">>> import my_namespace\n" @@ -1204,7 +1206,7 @@ msgid "" "True" msgstr "" -#: ../../library/importlib.rst:1005 +#: ../../library/importlib.rst:1007 msgid "" "A specification for a module's import-system-related state. This is " "typically exposed as the module's :attr:`~module.__spec__` attribute. Many " @@ -1217,19 +1219,19 @@ msgid "" "origin>`, and vice versa." msgstr "" -#: ../../library/importlib.rst:1019 +#: ../../library/importlib.rst:1021 msgid "" "The module's fully qualified name (see :attr:`module.__name__`). The :term:" "`finder` should always set this attribute to a non-empty string." msgstr "" -#: ../../library/importlib.rst:1024 +#: ../../library/importlib.rst:1026 msgid "" "The :term:`loader` used to load the module (see :attr:`module.__loader__`). " "The :term:`finder` should always set this attribute." msgstr "" -#: ../../library/importlib.rst:1029 +#: ../../library/importlib.rst:1031 msgid "" "The location the :term:`loader` should use to load the module (see :attr:" "`module.__file__`). For example, for modules loaded from a ``.py`` file this " @@ -1238,14 +1240,14 @@ msgid "" "there is not one (like for namespace packages), it should be set to ``None``." msgstr "" -#: ../../library/importlib.rst:1038 +#: ../../library/importlib.rst:1040 msgid "" "A (possibly empty) :term:`sequence` of strings enumerating the locations in " "which a package's submodules will be found (see :attr:`module.__path__`). " "Most of the time there will only be a single directory in this list." msgstr "" -#: ../../library/importlib.rst:1043 +#: ../../library/importlib.rst:1045 msgid "" "The :term:`finder` should set this attribute to a sequence, even an empty " "one, to indicate to the import system that the module is a package. It " @@ -1253,41 +1255,41 @@ msgid "" "later to a special object for namespace packages." msgstr "" -#: ../../library/importlib.rst:1051 +#: ../../library/importlib.rst:1053 msgid "" "The :term:`finder` may set this attribute to an object containing " "additional, module-specific data to use when loading the module. Otherwise " "it should be set to ``None``." msgstr "" -#: ../../library/importlib.rst:1057 +#: ../../library/importlib.rst:1059 msgid "" "The filename of a compiled version of the module's code (see :attr:`module." "__cached__`). The :term:`finder` should always set this attribute but it may " "be ``None`` for modules that do not need compiled code stored." msgstr "" -#: ../../library/importlib.rst:1064 +#: ../../library/importlib.rst:1066 msgid "" "(Read-only) The fully qualified name of the package the module is in (or the " "empty string for a top-level module). See :attr:`module.__package__`. If the " "module is a package then this is the same as :attr:`name`." msgstr "" -#: ../../library/importlib.rst:1071 +#: ../../library/importlib.rst:1073 msgid "" "``True`` if the spec's :attr:`origin` refers to a loadable location, " "``False`` otherwise. This value impacts how :attr:`!origin` is interpreted " "and how the module's :attr:`~module.__file__` is populated." msgstr "" -#: ../../library/importlib.rst:1078 +#: ../../library/importlib.rst:1080 msgid "" "A specialization of :class:`importlib.machinery.ExtensionFileLoader` that is " "able to load extension modules in Framework format." msgstr "" -#: ../../library/importlib.rst:1081 +#: ../../library/importlib.rst:1083 msgid "" "For compatibility with the iOS App Store, *all* binary modules in an iOS app " "must be dynamic libraries, contained in a framework with appropriate " @@ -1296,7 +1298,7 @@ msgid "" "material outside the Frameworks folder." msgstr "" -#: ../../library/importlib.rst:1087 +#: ../../library/importlib.rst:1089 msgid "" "To accommodate this requirement, when running on iOS, extension module " "binaries are *not* packaged as ``.so`` files on ``sys.path``, but as " @@ -1310,7 +1312,7 @@ msgid "" "fwork`` file, relative to the app bundle." msgstr "" -#: ../../library/importlib.rst:1098 +#: ../../library/importlib.rst:1100 msgid "" "For example, consider the case of an import ``from foo.bar import _whiz``, " "where ``_whiz`` is implemented with the binary module ``sources/foo/bar/" @@ -1326,7 +1328,7 @@ msgid "" "_whiz.origin``, containing the path to the ``.fwork`` file." msgstr "" -#: ../../library/importlib.rst:1112 +#: ../../library/importlib.rst:1114 msgid "" "When a module is loaded with this loader, the ``__file__`` for the module " "will report as the location of the ``.fwork`` file. This allows code to use " @@ -1335,7 +1337,7 @@ msgid "" "in the ``.framework`` folder." msgstr "" -#: ../../library/importlib.rst:1118 +#: ../../library/importlib.rst:1120 msgid "" "The Xcode project building the app is responsible for converting any ``.so`` " "files from wherever they exist in the ``PYTHONPATH`` into frameworks in the " @@ -1346,45 +1348,45 @@ msgid "" "details on how to construct this build step." msgstr "" -#: ../../library/importlib.rst:1128 +#: ../../library/importlib.rst:1130 msgid "Availability" msgstr "" -#: ../../library/importlib.rst:1136 +#: ../../library/importlib.rst:1138 msgid "Path to the ``.fwork`` file for the extension module." msgstr "" -#: ../../library/importlib.rst:1140 +#: ../../library/importlib.rst:1142 msgid ":mod:`!importlib.util` -- Utility code for importers" msgstr "" -#: ../../library/importlib.rst:1146 +#: ../../library/importlib.rst:1148 msgid "**Source code:** :source:`Lib/importlib/util.py`" msgstr "" -#: ../../library/importlib.rst:1150 +#: ../../library/importlib.rst:1152 msgid "" "This module contains the various objects that help in the construction of " "an :term:`importer`." msgstr "" -#: ../../library/importlib.rst:1155 +#: ../../library/importlib.rst:1157 msgid "" "The bytes which represent the bytecode version number. If you need help with " "loading/writing bytecode then consider :class:`importlib.abc.SourceLoader`." msgstr "" -#: ../../library/importlib.rst:1162 +#: ../../library/importlib.rst:1164 msgid "" "Return the :pep:`3147`/:pep:`488` path to the byte-compiled file associated " "with the source *path*. For example, if *path* is ``/foo/bar/baz.py`` the " "return value would be ``/foo/bar/__pycache__/baz.cpython-32.pyc`` for Python " -"3.2. The ``cpython-32`` string comes from the current magic tag (see :func:" -"`get_tag`; if :attr:`sys.implementation.cache_tag` is not defined then :exc:" -"`NotImplementedError` will be raised)." +"3.2. The ``cpython-32`` string comes from the current magic tag (see :attr:" +"`sys.implementation.cache_tag `; if it is not defined " +"then :exc:`NotImplementedError` will be raised)." msgstr "" -#: ../../library/importlib.rst:1169 +#: ../../library/importlib.rst:1171 msgid "" "The *optimization* parameter is used to specify the optimization level of " "the bytecode file. An empty string represents no optimization, so ``/foo/bar/" @@ -1397,7 +1399,7 @@ msgid "" "be alphanumeric, else :exc:`ValueError` is raised." msgstr "" -#: ../../library/importlib.rst:1179 +#: ../../library/importlib.rst:1181 msgid "" "The *debug_override* parameter is deprecated and can be used to override the " "system's value for ``__debug__``. A ``True`` value is the equivalent of " @@ -1406,46 +1408,47 @@ msgid "" "are not ``None`` then :exc:`TypeError` is raised." msgstr "" -#: ../../library/importlib.rst:1187 +#: ../../library/importlib.rst:1189 msgid "" "The *optimization* parameter was added and the *debug_override* parameter " "was deprecated." msgstr "" -#: ../../library/importlib.rst:1191 ../../library/importlib.rst:1207 -#: ../../library/importlib.rst:1296 +#: ../../library/importlib.rst:1193 ../../library/importlib.rst:1209 +#: ../../library/importlib.rst:1300 msgid "Accepts a :term:`path-like object`." msgstr "" -#: ../../library/importlib.rst:1197 +#: ../../library/importlib.rst:1199 msgid "" "Given the *path* to a :pep:`3147` file name, return the associated source " "code file path. For example, if *path* is ``/foo/bar/__pycache__/baz." "cpython-32.pyc`` the returned path would be ``/foo/bar/baz.py``. *path* " "need not exist, however if it does not conform to :pep:`3147` or :pep:`488` " "format, a :exc:`ValueError` is raised. If :attr:`sys.implementation." -"cache_tag` is not defined, :exc:`NotImplementedError` is raised." +"cache_tag ` is not defined, :exc:`NotImplementedError` " +"is raised." msgstr "" -#: ../../library/importlib.rst:1212 +#: ../../library/importlib.rst:1214 msgid "" "Decode the given bytes representing source code and return it as a string " "with universal newlines (as required by :meth:`importlib.abc.InspectLoader." "get_source`)." msgstr "" -#: ../../library/importlib.rst:1220 +#: ../../library/importlib.rst:1222 msgid "Resolve a relative module name to an absolute one." msgstr "" -#: ../../library/importlib.rst:1222 +#: ../../library/importlib.rst:1224 msgid "" "If **name** has no leading dots, then **name** is simply returned. This " "allows for usage such as ``importlib.util.resolve_name('sys', __spec__." "parent)`` without doing a check to see if the **package** argument is needed." msgstr "" -#: ../../library/importlib.rst:1227 +#: ../../library/importlib.rst:1229 msgid "" ":exc:`ImportError` is raised if **name** is a relative module name but " "**package** is a false value (e.g. ``None`` or the empty string). :exc:" @@ -1453,13 +1456,13 @@ msgid "" "package (e.g. requesting ``..bacon`` from within the ``spam`` package)." msgstr "" -#: ../../library/importlib.rst:1235 +#: ../../library/importlib.rst:1237 msgid "" "To improve consistency with import statements, raise :exc:`ImportError` " "instead of :exc:`ValueError` for invalid relative import attempts." msgstr "" -#: ../../library/importlib.rst:1242 +#: ../../library/importlib.rst:1244 msgid "" "Find the :term:`spec ` for a module, optionally relative to the " "specified **package** name. If the module is in :data:`sys.modules`, then " @@ -1469,30 +1472,32 @@ msgid "" "if no spec is found." msgstr "" -#: ../../library/importlib.rst:1249 +#: ../../library/importlib.rst:1251 msgid "" "If **name** is for a submodule (contains a dot), the parent module is " "automatically imported." msgstr "" -#: ../../library/importlib.rst:1252 -msgid "**name** and **package** work the same as for :func:`import_module`." +#: ../../library/importlib.rst:1254 +msgid "" +"**name** and **package** work the same as for :func:`importlib." +"import_module`." msgstr "" -#: ../../library/importlib.rst:1256 +#: ../../library/importlib.rst:1259 msgid "" "Raises :exc:`ModuleNotFoundError` instead of :exc:`AttributeError` if " "**package** is in fact not a package (i.e. lacks a :attr:`~module.__path__` " "attribute)." msgstr "" -#: ../../library/importlib.rst:1263 +#: ../../library/importlib.rst:1266 msgid "" "Create a new module based on **spec** and :meth:`spec.loader.create_module " "`." msgstr "" -#: ../../library/importlib.rst:1266 +#: ../../library/importlib.rst:1269 msgid "" "If :meth:`spec.loader.create_module ` " "does not return ``None``, then any pre-existing attributes will not be " @@ -1500,23 +1505,23 @@ msgid "" "accessing **spec** or setting an attribute on the module." msgstr "" -#: ../../library/importlib.rst:1271 +#: ../../library/importlib.rst:1274 msgid "" "This function is preferred over using :class:`types.ModuleType` to create a " "new module as **spec** is used to set as many import-controlled attributes " "on the module as possible." msgstr "" -#: ../../library/importlib.rst:1279 +#: ../../library/importlib.rst:1282 msgid "" "A factory function for creating a :class:`~importlib.machinery.ModuleSpec` " "instance based on a loader. The parameters have the same meaning as they do " "for ModuleSpec. The function uses available :term:`loader` APIs, such as :" -"meth:`InspectLoader.is_package`, to fill in any missing information on the " -"spec." +"meth:`InspectLoader.is_package `, to " +"fill in any missing information on the spec." msgstr "" -#: ../../library/importlib.rst:1289 +#: ../../library/importlib.rst:1293 msgid "" "A factory function for creating a :class:`~importlib.machinery.ModuleSpec` " "instance based on the path to a file. Missing information will be filled in " @@ -1524,14 +1529,14 @@ msgid "" "module will be file-based." msgstr "" -#: ../../library/importlib.rst:1301 +#: ../../library/importlib.rst:1305 msgid "" "Return the hash of *source_bytes* as bytes. A hash-based ``.pyc`` file " "embeds the :func:`source_hash` of the corresponding source file's contents " "in its header." msgstr "" -#: ../../library/importlib.rst:1309 +#: ../../library/importlib.rst:1313 msgid "" "A context manager that can temporarily skip the compatibility check for " "extension modules. By default the check is enabled and will fail when a " @@ -1540,33 +1545,33 @@ msgid "" "interpreter GIL, when imported in an interpreter with its own GIL." msgstr "" -#: ../../library/importlib.rst:1316 +#: ../../library/importlib.rst:1320 msgid "" "Note that this function is meant to accommodate an unusual case; one which " "is likely to eventually go away. There's is a pretty good chance this is " "not what you were looking for." msgstr "" -#: ../../library/importlib.rst:1320 +#: ../../library/importlib.rst:1324 msgid "" "You can get the same effect as this function by implementing the basic " "interface of multi-phase init (:pep:`489`) and lying about support for " "multiple interpreters (or per-interpreter GIL)." msgstr "" -#: ../../library/importlib.rst:1325 +#: ../../library/importlib.rst:1329 msgid "" "Using this function to disable the check can lead to unexpected behavior and " "even crashes. It should only be used during extension module development." msgstr "" -#: ../../library/importlib.rst:1333 +#: ../../library/importlib.rst:1337 msgid "" "A class which postpones the execution of the loader of a module until the " "module has an attribute accessed." msgstr "" -#: ../../library/importlib.rst:1336 +#: ../../library/importlib.rst:1340 msgid "" "This class **only** works with loaders that define :meth:`~importlib.abc." "Loader.exec_module` as control over what module type is used for the module " @@ -1579,7 +1584,7 @@ msgid "" "raised if such a substitution is detected." msgstr "" -#: ../../library/importlib.rst:1347 +#: ../../library/importlib.rst:1351 msgid "" "For projects where startup time is critical, this class allows for " "potentially minimizing the cost of loading a module if it is never used. For " @@ -1588,21 +1593,21 @@ msgid "" "postponed and thus occurring out of context." msgstr "" -#: ../../library/importlib.rst:1355 +#: ../../library/importlib.rst:1359 msgid "" "Began calling :meth:`~importlib.abc.Loader.create_module`, removing the " "compatibility warning for :class:`importlib.machinery.BuiltinImporter` and :" "class:`importlib.machinery.ExtensionFileLoader`." msgstr "" -#: ../../library/importlib.rst:1362 +#: ../../library/importlib.rst:1366 msgid "" "A class method which returns a callable that creates a lazy loader. This is " "meant to be used in situations where the loader is passed by class instead " "of by instance. ::" msgstr "" -#: ../../library/importlib.rst:1367 +#: ../../library/importlib.rst:1371 msgid "" "suffixes = importlib.machinery.SOURCE_SUFFIXES\n" "loader = importlib.machinery.SourceFileLoader\n" @@ -1610,43 +1615,43 @@ msgid "" "finder = importlib.machinery.FileFinder(path, (lazy_loader, suffixes))" msgstr "" -#: ../../library/importlib.rst:1375 +#: ../../library/importlib.rst:1379 msgid "Examples" msgstr "" -#: ../../library/importlib.rst:1378 +#: ../../library/importlib.rst:1382 msgid "Importing programmatically" msgstr "" -#: ../../library/importlib.rst:1380 +#: ../../library/importlib.rst:1384 msgid "" "To programmatically import a module, use :func:`importlib.import_module`. ::" msgstr "" -#: ../../library/importlib.rst:1383 +#: ../../library/importlib.rst:1387 msgid "" "import importlib\n" "\n" "itertools = importlib.import_module('itertools')" msgstr "" -#: ../../library/importlib.rst:1389 +#: ../../library/importlib.rst:1393 msgid "Checking if a module can be imported" msgstr "" -#: ../../library/importlib.rst:1391 +#: ../../library/importlib.rst:1395 msgid "" "If you need to find out if a module can be imported without actually doing " "the import, then you should use :func:`importlib.util.find_spec`." msgstr "" -#: ../../library/importlib.rst:1394 +#: ../../library/importlib.rst:1398 msgid "" "Note that if ``name`` is a submodule (contains a dot), :func:`importlib.util." "find_spec` will import the parent module. ::" msgstr "" -#: ../../library/importlib.rst:1398 +#: ../../library/importlib.rst:1402 msgid "" "import importlib.util\n" "import sys\n" @@ -1666,11 +1671,11 @@ msgid "" " print(f\"can't find the {name!r} module\")" msgstr "" -#: ../../library/importlib.rst:1417 +#: ../../library/importlib.rst:1421 msgid "Importing a source file directly" msgstr "" -#: ../../library/importlib.rst:1419 +#: ../../library/importlib.rst:1423 msgid "" "This recipe should be used with caution: it is an approximation of an import " "statement where the file path is specified directly, rather than :data:`sys." @@ -1680,13 +1685,13 @@ msgid "" "file is appropriate." msgstr "" -#: ../../library/importlib.rst:1426 +#: ../../library/importlib.rst:1430 msgid "" "To import a Python source file directly from a path, use the following " "recipe::" msgstr "" -#: ../../library/importlib.rst:1428 +#: ../../library/importlib.rst:1432 msgid "" "import importlib.util\n" "import sys\n" @@ -1709,15 +1714,15 @@ msgid "" "json = import_from_path(module_name, file_path)" msgstr "" -#: ../../library/importlib.rst:1450 +#: ../../library/importlib.rst:1454 msgid "Implementing lazy imports" msgstr "" -#: ../../library/importlib.rst:1452 +#: ../../library/importlib.rst:1456 msgid "The example below shows how to implement lazy imports::" msgstr "" -#: ../../library/importlib.rst:1454 +#: ../../library/importlib.rst:1458 msgid "" ">>> import importlib.util\n" ">>> import sys\n" @@ -1737,11 +1742,11 @@ msgid "" "False" msgstr "" -#: ../../library/importlib.rst:1473 +#: ../../library/importlib.rst:1477 msgid "Setting up an importer" msgstr "" -#: ../../library/importlib.rst:1475 +#: ../../library/importlib.rst:1479 msgid "" "For deep customizations of import, you typically want to implement an :term:" "`importer`. This means managing both the :term:`finder` and :term:`loader` " @@ -1755,7 +1760,7 @@ msgid "" "for the appropriate classes defined within this package)::" msgstr "" -#: ../../library/importlib.rst:1486 +#: ../../library/importlib.rst:1490 msgid "" "import importlib.machinery\n" "import sys\n" @@ -1779,11 +1784,11 @@ msgid "" "sys.path_hooks.append(SpamPathEntryFinder.path_hook(loader_details))" msgstr "" -#: ../../library/importlib.rst:1507 +#: ../../library/importlib.rst:1511 msgid "Approximating :func:`importlib.import_module`" msgstr "" -#: ../../library/importlib.rst:1509 +#: ../../library/importlib.rst:1513 msgid "" "Import itself is implemented in Python code, making it possible to expose " "most of the import machinery through importlib. The following helps " @@ -1791,7 +1796,7 @@ msgid "" "approximate implementation of :func:`importlib.import_module`::" msgstr "" -#: ../../library/importlib.rst:1515 +#: ../../library/importlib.rst:1519 msgid "" "import importlib.util\n" "import sys\n" diff --git a/library/json.po b/library/json.po index 4c9ac2db..246a640d 100644 --- a/library/json.po +++ b/library/json.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-15 09:12+0000\n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -316,57 +316,57 @@ msgid "" "If ``True``, dictionaries will be outputted sorted by key. Default ``False``." msgstr "" -#: ../../library/json.rst:240 ../../library/json.rst:529 +#: ../../library/json.rst:242 +msgid "" +"Keys in key/value pairs of JSON are always of the type :class:`str`. When a " +"dictionary is converted into JSON, all the keys of the dictionary are " +"converted to strings. As a result of this, if a dictionary is converted into " +"JSON and then back into a dictionary, the dictionary may not equal the " +"original one. That is, ``loads(dumps(x)) != x`` if x has non-string keys. " +"*sort_keys* sorts the keys before they are converted to strings, so numeric " +"keys are sorted by value, not by their string representation." +msgstr "" + +#: ../../library/json.rst:250 ../../library/json.rst:528 msgid "Allow strings for *indent* in addition to integers." msgstr "" -#: ../../library/json.rst:243 ../../library/json.rst:537 +#: ../../library/json.rst:253 ../../library/json.rst:536 msgid "Use ``(',', ': ')`` as default if *indent* is not ``None``." msgstr "" -#: ../../library/json.rst:246 ../../library/json.rst:347 +#: ../../library/json.rst:256 ../../library/json.rst:346 msgid "" "All optional parameters are now :ref:`keyword-only `." msgstr "" -#: ../../library/json.rst:255 +#: ../../library/json.rst:265 msgid "" "Serialize *obj* to a JSON formatted :class:`str` using this :ref:`conversion " "table `. The arguments have the same meaning as in :func:" "`dump`." msgstr "" -#: ../../library/json.rst:261 -msgid "" -"Keys in key/value pairs of JSON are always of the type :class:`str`. When a " -"dictionary is converted into JSON, all the keys of the dictionary are " -"coerced to strings. As a result of this, if a dictionary is converted into " -"JSON and then back into a dictionary, the dictionary may not equal the " -"original one. That is, ``loads(dumps(x)) != x`` if x has non-string keys. " -"*sort_keys* sorts the keys before they are coerced to strings, so numeric " -"keys are sorted by value, not by their string representation." -msgstr "" - -#: ../../library/json.rst:274 +#: ../../library/json.rst:273 msgid "" "Deserialize *fp* to a Python object using the :ref:`JSON-to-Python " "conversion table `." msgstr "" -#: ../../library/json.rst:277 +#: ../../library/json.rst:276 msgid "" "A ``.read()``-supporting :term:`text file` or :term:`binary file` containing " "the JSON document to be deserialized." msgstr "" -#: ../../library/json.rst:282 +#: ../../library/json.rst:281 msgid "" "If set, a custom JSON decoder. Additional keyword arguments to :func:`!load` " "will be passed to the constructor of *cls*. If ``None`` (the default), :" "class:`!JSONDecoder` is used." msgstr "" -#: ../../library/json.rst:289 +#: ../../library/json.rst:288 msgid "" "If set, a function that is called with the result of any JSON object literal " "decoded (a :class:`dict`). The return value of this function will be used " @@ -375,7 +375,7 @@ msgid "" "Default ``None``." msgstr "" -#: ../../library/json.rst:299 +#: ../../library/json.rst:298 msgid "" "If set, a function that is called with the result of any JSON object literal " "decoded with an ordered list of pairs. The return value of this function " @@ -384,7 +384,7 @@ msgid "" "takes priority. Default ``None``." msgstr "" -#: ../../library/json.rst:309 +#: ../../library/json.rst:308 msgid "" "If set, a function that is called with the string of every JSON float to be " "decoded. If ``None`` (the default), it is equivalent to ``float(num_str)``. " @@ -392,7 +392,7 @@ msgid "" "class:`decimal.Decimal`." msgstr "" -#: ../../library/json.rst:317 +#: ../../library/json.rst:316 msgid "" "If set, a function that is called with the string of every JSON int to be " "decoded. If ``None`` (the default), it is equivalent to ``int(num_str)``. " @@ -400,7 +400,7 @@ msgid "" "class:`float`." msgstr "" -#: ../../library/json.rst:325 +#: ../../library/json.rst:324 msgid "" "If set, a function that is called with one of the following strings: ``'-" "Infinity'``, ``'Infinity'``, or ``'NaN'``. This can be used to raise an " @@ -411,38 +411,38 @@ msgstr "" msgid "Raises" msgstr "" -#: ../../library/json.rst:333 +#: ../../library/json.rst:332 msgid "When the data being deserialized is not a valid JSON document." msgstr "" -#: ../../library/json.rst:336 +#: ../../library/json.rst:335 msgid "" "When the data being deserialized does not contain UTF-8, UTF-16 or UTF-32 " "encoded data." msgstr "" -#: ../../library/json.rst:342 +#: ../../library/json.rst:341 msgid "Added the optional *object_pairs_hook* parameter." msgstr "" -#: ../../library/json.rst:343 +#: ../../library/json.rst:342 msgid "*parse_constant* doesn't get called on 'null', 'true', 'false' anymore." msgstr "" -#: ../../library/json.rst:348 +#: ../../library/json.rst:347 msgid "" "*fp* can now be a :term:`binary file`. The input encoding should be UTF-8, " "UTF-16 or UTF-32." msgstr "" -#: ../../library/json.rst:351 +#: ../../library/json.rst:350 msgid "" "The default *parse_int* of :func:`int` now limits the maximum length of the " "integer string via the interpreter's :ref:`integer string conversion length " "limitation ` to help avoid denial of service attacks." msgstr "" -#: ../../library/json.rst:359 +#: ../../library/json.rst:358 msgid "" "Identical to :func:`load`, but instead of a file-like object, deserialize " "*s* (a :class:`str`, :class:`bytes` or :class:`bytearray` instance " @@ -450,107 +450,107 @@ msgid "" "table `." msgstr "" -#: ../../library/json.rst:364 +#: ../../library/json.rst:363 msgid "" "*s* can now be of type :class:`bytes` or :class:`bytearray`. The input " "encoding should be UTF-8, UTF-16 or UTF-32." msgstr "" -#: ../../library/json.rst:368 +#: ../../library/json.rst:367 msgid "The keyword argument *encoding* has been removed." msgstr "" -#: ../../library/json.rst:373 +#: ../../library/json.rst:372 msgid "Encoders and Decoders" msgstr "" -#: ../../library/json.rst:377 +#: ../../library/json.rst:376 msgid "Simple JSON decoder." msgstr "" -#: ../../library/json.rst:379 +#: ../../library/json.rst:378 msgid "Performs the following translations in decoding by default:" msgstr "" -#: ../../library/json.rst:384 ../../library/json.rst:472 +#: ../../library/json.rst:383 ../../library/json.rst:471 msgid "JSON" msgstr "" -#: ../../library/json.rst:384 ../../library/json.rst:472 +#: ../../library/json.rst:383 ../../library/json.rst:471 msgid "Python" msgstr "" -#: ../../library/json.rst:386 ../../library/json.rst:474 +#: ../../library/json.rst:385 ../../library/json.rst:473 msgid "object" msgstr "" -#: ../../library/json.rst:386 ../../library/json.rst:474 +#: ../../library/json.rst:385 ../../library/json.rst:473 msgid "dict" msgstr "" -#: ../../library/json.rst:388 ../../library/json.rst:476 +#: ../../library/json.rst:387 ../../library/json.rst:475 msgid "array" msgstr "Array" -#: ../../library/json.rst:388 +#: ../../library/json.rst:387 msgid "list" msgstr "" -#: ../../library/json.rst:390 ../../library/json.rst:478 +#: ../../library/json.rst:389 ../../library/json.rst:477 msgid "string" msgstr "" -#: ../../library/json.rst:390 ../../library/json.rst:478 +#: ../../library/json.rst:389 ../../library/json.rst:477 msgid "str" msgstr "" -#: ../../library/json.rst:392 +#: ../../library/json.rst:391 msgid "number (int)" msgstr "" -#: ../../library/json.rst:392 +#: ../../library/json.rst:391 msgid "int" msgstr "" -#: ../../library/json.rst:394 +#: ../../library/json.rst:393 msgid "number (real)" msgstr "" -#: ../../library/json.rst:394 +#: ../../library/json.rst:393 msgid "float" msgstr "" -#: ../../library/json.rst:396 ../../library/json.rst:482 +#: ../../library/json.rst:395 ../../library/json.rst:481 msgid "true" msgstr "Wahr" -#: ../../library/json.rst:396 ../../library/json.rst:482 +#: ../../library/json.rst:395 ../../library/json.rst:481 msgid "True" msgstr "" -#: ../../library/json.rst:398 ../../library/json.rst:484 +#: ../../library/json.rst:397 ../../library/json.rst:483 msgid "false" msgstr "Falsch" -#: ../../library/json.rst:398 ../../library/json.rst:484 +#: ../../library/json.rst:397 ../../library/json.rst:483 msgid "False" msgstr "" -#: ../../library/json.rst:400 ../../library/json.rst:486 +#: ../../library/json.rst:399 ../../library/json.rst:485 msgid "null" msgstr "" -#: ../../library/json.rst:400 ../../library/json.rst:486 +#: ../../library/json.rst:399 ../../library/json.rst:485 msgid "None" msgstr "" -#: ../../library/json.rst:403 +#: ../../library/json.rst:402 msgid "" "It also understands ``NaN``, ``Infinity``, and ``-Infinity`` as their " "corresponding ``float`` values, which is outside the JSON spec." msgstr "" -#: ../../library/json.rst:406 +#: ../../library/json.rst:405 msgid "" "*object_hook* is an optional function that will be called with the result of " "every JSON object decoded and its return value will be used in place of the " @@ -558,7 +558,7 @@ msgid "" "g. to support `JSON-RPC `_ class hinting)." msgstr "" -#: ../../library/json.rst:411 +#: ../../library/json.rst:410 msgid "" "*object_pairs_hook* is an optional function that will be called with the " "result of every JSON object decoded with an ordered list of pairs. The " @@ -567,11 +567,11 @@ msgid "" "*object_hook* is also defined, the *object_pairs_hook* takes priority." msgstr "" -#: ../../library/json.rst:417 +#: ../../library/json.rst:416 msgid "Added support for *object_pairs_hook*." msgstr "" -#: ../../library/json.rst:420 +#: ../../library/json.rst:419 msgid "" "*parse_float* is an optional function that will be called with the string of " "every JSON float to be decoded. By default, this is equivalent to " @@ -579,7 +579,7 @@ msgid "" "JSON floats (e.g. :class:`decimal.Decimal`)." msgstr "" -#: ../../library/json.rst:425 +#: ../../library/json.rst:424 msgid "" "*parse_int* is an optional function that will be called with the string of " "every JSON int to be decoded. By default, this is equivalent to " @@ -587,14 +587,14 @@ msgid "" "JSON integers (e.g. :class:`float`)." msgstr "" -#: ../../library/json.rst:430 +#: ../../library/json.rst:429 msgid "" "*parse_constant* is an optional function that will be called with one of the " "following strings: ``'-Infinity'``, ``'Infinity'``, ``'NaN'``. This can be " "used to raise an exception if invalid JSON numbers are encountered." msgstr "" -#: ../../library/json.rst:434 +#: ../../library/json.rst:433 msgid "" "If *strict* is false (``True`` is the default), then control characters will " "be allowed inside strings. Control characters in this context are those " @@ -602,66 +602,66 @@ msgid "" "``'\\n'``, ``'\\r'`` and ``'\\0'``." msgstr "" -#: ../../library/json.rst:439 +#: ../../library/json.rst:438 msgid "" "If the data being deserialized is not a valid JSON document, a :exc:" "`JSONDecodeError` will be raised." msgstr "" -#: ../../library/json.rst:442 ../../library/json.rst:545 +#: ../../library/json.rst:441 ../../library/json.rst:544 msgid "All parameters are now :ref:`keyword-only `." msgstr "" -#: ../../library/json.rst:447 +#: ../../library/json.rst:446 msgid "" "Return the Python representation of *s* (a :class:`str` instance containing " "a JSON document)." msgstr "" -#: ../../library/json.rst:450 +#: ../../library/json.rst:449 msgid "" ":exc:`JSONDecodeError` will be raised if the given JSON document is not " "valid." msgstr "" -#: ../../library/json.rst:455 +#: ../../library/json.rst:454 msgid "" "Decode a JSON document from *s* (a :class:`str` beginning with a JSON " "document) and return a 2-tuple of the Python representation and the index in " "*s* where the document ended." msgstr "" -#: ../../library/json.rst:459 +#: ../../library/json.rst:458 msgid "" "This can be used to decode a JSON document from a string that may have " "extraneous data at the end." msgstr "" -#: ../../library/json.rst:465 +#: ../../library/json.rst:464 msgid "Extensible JSON encoder for Python data structures." msgstr "" -#: ../../library/json.rst:467 +#: ../../library/json.rst:466 msgid "Supports the following objects and types by default:" msgstr "" -#: ../../library/json.rst:476 +#: ../../library/json.rst:475 msgid "list, tuple" msgstr "" -#: ../../library/json.rst:480 +#: ../../library/json.rst:479 msgid "int, float, int- & float-derived Enums" msgstr "" -#: ../../library/json.rst:480 +#: ../../library/json.rst:479 msgid "number" msgstr "" -#: ../../library/json.rst:489 +#: ../../library/json.rst:488 msgid "Added support for int- and float-derived Enum classes." msgstr "" -#: ../../library/json.rst:492 +#: ../../library/json.rst:491 msgid "" "To extend this to recognize other objects, subclass and implement a :meth:" "`~JSONEncoder.default` method with another method that returns a " @@ -669,7 +669,7 @@ msgid "" "superclass implementation (to raise :exc:`TypeError`)." msgstr "" -#: ../../library/json.rst:497 +#: ../../library/json.rst:496 msgid "" "If *skipkeys* is false (the default), a :exc:`TypeError` will be raised when " "trying to encode keys that are not :class:`str`, :class:`int`, :class:" @@ -677,7 +677,7 @@ msgid "" "simply skipped." msgstr "" -#: ../../library/json.rst:501 +#: ../../library/json.rst:500 msgid "" "If *ensure_ascii* is true (the default), the output is guaranteed to have " "all incoming non-ASCII and non-printable characters escaped. If " @@ -686,7 +686,7 @@ msgid "" "control characters U+0000 through U+001F." msgstr "" -#: ../../library/json.rst:507 +#: ../../library/json.rst:506 msgid "" "If *check_circular* is true (the default), then lists, dicts, and custom " "encoded objects will be checked for circular references during encoding to " @@ -694,7 +694,7 @@ msgid "" "Otherwise, no such check takes place." msgstr "" -#: ../../library/json.rst:512 +#: ../../library/json.rst:511 msgid "" "If *allow_nan* is true (the default), then ``NaN``, ``Infinity``, and ``-" "Infinity`` will be encoded as such. This behavior is not JSON specification " @@ -702,14 +702,14 @@ msgid "" "decoders. Otherwise, it will be a :exc:`ValueError` to encode such floats." msgstr "" -#: ../../library/json.rst:518 +#: ../../library/json.rst:517 msgid "" "If *sort_keys* is true (default: ``False``), then the output of dictionaries " "will be sorted by key; this is useful for regression tests to ensure that " "JSON serializations can be compared on a day-to-day basis." msgstr "" -#: ../../library/json.rst:522 +#: ../../library/json.rst:521 msgid "" "If *indent* is a non-negative integer or string, then JSON array elements " "and object members will be pretty-printed with that indent level. An indent " @@ -719,7 +719,7 @@ msgid "" "``\"\\t\"``), that string is used to indent each level." msgstr "" -#: ../../library/json.rst:532 +#: ../../library/json.rst:531 msgid "" "If specified, *separators* should be an ``(item_separator, key_separator)`` " "tuple. The default is ``(', ', ': ')`` if *indent* is ``None`` and ``(',', " @@ -727,7 +727,7 @@ msgid "" "specify ``(',', ':')`` to eliminate whitespace." msgstr "" -#: ../../library/json.rst:540 +#: ../../library/json.rst:539 msgid "" "If specified, *default* should be a function that gets called for objects " "that can't otherwise be serialized. It should return a JSON encodable " @@ -735,20 +735,20 @@ msgid "" "`TypeError` is raised." msgstr "" -#: ../../library/json.rst:551 +#: ../../library/json.rst:550 msgid "" "Implement this method in a subclass such that it returns a serializable " "object for *o*, or calls the base implementation (to raise a :exc:" "`TypeError`)." msgstr "" -#: ../../library/json.rst:555 +#: ../../library/json.rst:554 msgid "" "For example, to support arbitrary iterators, you could implement :meth:" "`~JSONEncoder.default` like this::" msgstr "" -#: ../../library/json.rst:558 +#: ../../library/json.rst:557 msgid "" "def default(self, o):\n" " try:\n" @@ -761,63 +761,63 @@ msgid "" " return super().default(o)" msgstr "" -#: ../../library/json.rst:571 +#: ../../library/json.rst:570 msgid "" "Return a JSON string representation of a Python data structure, *o*. For " "example::" msgstr "" -#: ../../library/json.rst:574 +#: ../../library/json.rst:573 msgid "" ">>> json.JSONEncoder().encode({\"foo\": [\"bar\", \"baz\"]})\n" "'{\"foo\": [\"bar\", \"baz\"]}'" msgstr "" -#: ../../library/json.rst:580 +#: ../../library/json.rst:579 msgid "" "Encode the given object, *o*, and yield each string representation as " "available. For example::" msgstr "" -#: ../../library/json.rst:583 +#: ../../library/json.rst:582 msgid "" "for chunk in json.JSONEncoder().iterencode(bigobject):\n" " mysocket.write(chunk)" msgstr "" -#: ../../library/json.rst:588 +#: ../../library/json.rst:587 msgid "Exceptions" msgstr "Ausnahmen" -#: ../../library/json.rst:592 +#: ../../library/json.rst:591 msgid "Subclass of :exc:`ValueError` with the following additional attributes:" msgstr "" -#: ../../library/json.rst:596 +#: ../../library/json.rst:595 msgid "The unformatted error message." msgstr "" -#: ../../library/json.rst:600 +#: ../../library/json.rst:599 msgid "The JSON document being parsed." msgstr "" -#: ../../library/json.rst:604 +#: ../../library/json.rst:603 msgid "The start index of *doc* where parsing failed." msgstr "" -#: ../../library/json.rst:608 +#: ../../library/json.rst:607 msgid "The line corresponding to *pos*." msgstr "" -#: ../../library/json.rst:612 +#: ../../library/json.rst:611 msgid "The column corresponding to *pos*." msgstr "" -#: ../../library/json.rst:618 +#: ../../library/json.rst:617 msgid "Standard Compliance and Interoperability" msgstr "" -#: ../../library/json.rst:620 +#: ../../library/json.rst:619 msgid "" "The JSON format is specified by :rfc:`7159` and by `ECMA-404 `_. This " @@ -826,48 +826,48 @@ msgid "" "parameters other than those explicitly mentioned, are not considered." msgstr "" -#: ../../library/json.rst:626 +#: ../../library/json.rst:625 msgid "" "This module does not comply with the RFC in a strict fashion, implementing " "some extensions that are valid JavaScript but not valid JSON. In particular:" msgstr "" -#: ../../library/json.rst:629 +#: ../../library/json.rst:628 msgid "Infinite and NaN number values are accepted and output;" msgstr "" -#: ../../library/json.rst:630 +#: ../../library/json.rst:629 msgid "" "Repeated names within an object are accepted, and only the value of the last " "name-value pair is used." msgstr "" -#: ../../library/json.rst:633 +#: ../../library/json.rst:632 msgid "" "Since the RFC permits RFC-compliant parsers to accept input texts that are " "not RFC-compliant, this module's deserializer is technically RFC-compliant " "under default settings." msgstr "" -#: ../../library/json.rst:638 +#: ../../library/json.rst:637 msgid "Character Encodings" msgstr "" -#: ../../library/json.rst:640 +#: ../../library/json.rst:639 msgid "" "The RFC requires that JSON be represented using either UTF-8, UTF-16, or " "UTF-32, with UTF-8 being the recommended default for maximum " "interoperability." msgstr "" -#: ../../library/json.rst:643 +#: ../../library/json.rst:642 msgid "" "As permitted, though not required, by the RFC, this module's serializer sets " "*ensure_ascii=True* by default, thus escaping the output so that the " "resulting strings only contain printable ASCII characters." msgstr "" -#: ../../library/json.rst:647 +#: ../../library/json.rst:646 msgid "" "Other than the *ensure_ascii* parameter, this module is defined strictly in " "terms of conversion between Python objects and :class:`Unicode strings " @@ -875,7 +875,7 @@ msgid "" "encodings." msgstr "" -#: ../../library/json.rst:652 +#: ../../library/json.rst:651 msgid "" "The RFC prohibits adding a byte order mark (BOM) to the start of a JSON " "text, and this module's serializer does not add a BOM to its output. The RFC " @@ -884,7 +884,7 @@ msgid "" "an initial BOM is present." msgstr "" -#: ../../library/json.rst:658 +#: ../../library/json.rst:657 msgid "" "The RFC does not explicitly forbid JSON strings which contain byte sequences " "that don't correspond to valid Unicode characters (e.g. unpaired UTF-16 " @@ -893,18 +893,18 @@ msgid "" "class:`str`) code points for such sequences." msgstr "" -#: ../../library/json.rst:666 +#: ../../library/json.rst:665 msgid "Infinite and NaN Number Values" msgstr "" -#: ../../library/json.rst:668 +#: ../../library/json.rst:667 msgid "" "The RFC does not permit the representation of infinite or NaN number values. " "Despite that, by default, this module accepts and outputs ``Infinity``, ``-" "Infinity``, and ``NaN`` as if they were valid JSON number literal values::" msgstr "" -#: ../../library/json.rst:672 +#: ../../library/json.rst:671 msgid "" ">>> # Neither of these calls raises an exception, but the results are not " "valid JSON\n" @@ -919,18 +919,18 @@ msgid "" "nan" msgstr "" -#: ../../library/json.rst:683 +#: ../../library/json.rst:682 msgid "" "In the serializer, the *allow_nan* parameter can be used to alter this " "behavior. In the deserializer, the *parse_constant* parameter can be used " "to alter this behavior." msgstr "" -#: ../../library/json.rst:689 +#: ../../library/json.rst:688 msgid "Repeated Names Within an Object" msgstr "" -#: ../../library/json.rst:691 +#: ../../library/json.rst:690 msgid "" "The RFC specifies that the names within a JSON object should be unique, but " "does not mandate how repeated names in JSON objects should be handled. By " @@ -938,22 +938,22 @@ msgid "" "but the last name-value pair for a given name::" msgstr "" -#: ../../library/json.rst:696 +#: ../../library/json.rst:695 msgid "" ">>> weird_json = '{\"x\": 1, \"x\": 2, \"x\": 3}'\n" ">>> json.loads(weird_json)\n" "{'x': 3}" msgstr "" -#: ../../library/json.rst:700 +#: ../../library/json.rst:699 msgid "The *object_pairs_hook* parameter can be used to alter this behavior." msgstr "" -#: ../../library/json.rst:704 +#: ../../library/json.rst:703 msgid "Top-level Non-Object, Non-Array Values" msgstr "" -#: ../../library/json.rst:706 +#: ../../library/json.rst:705 msgid "" "The old version of JSON specified by the obsolete :rfc:`4627` required that " "the top-level value of a JSON text must be either a JSON object or array " @@ -963,43 +963,43 @@ msgid "" "its serializer or its deserializer." msgstr "" -#: ../../library/json.rst:713 +#: ../../library/json.rst:712 msgid "" "Regardless, for maximum interoperability, you may wish to voluntarily adhere " "to the restriction yourself." msgstr "" -#: ../../library/json.rst:718 +#: ../../library/json.rst:717 msgid "Implementation Limitations" msgstr "" -#: ../../library/json.rst:720 +#: ../../library/json.rst:719 msgid "Some JSON deserializer implementations may set limits on:" msgstr "" -#: ../../library/json.rst:722 +#: ../../library/json.rst:721 msgid "the size of accepted JSON texts" msgstr "" -#: ../../library/json.rst:723 +#: ../../library/json.rst:722 msgid "the maximum level of nesting of JSON objects and arrays" msgstr "" -#: ../../library/json.rst:724 +#: ../../library/json.rst:723 msgid "the range and precision of JSON numbers" msgstr "" -#: ../../library/json.rst:725 +#: ../../library/json.rst:724 msgid "the content and maximum length of JSON strings" msgstr "" -#: ../../library/json.rst:727 +#: ../../library/json.rst:726 msgid "" "This module does not impose any such limits beyond those of the relevant " "Python datatypes themselves or the Python interpreter itself." msgstr "" -#: ../../library/json.rst:730 +#: ../../library/json.rst:729 msgid "" "When serializing to JSON, beware any such limitations in applications that " "may consume your JSON. In particular, it is common for JSON numbers to be " @@ -1010,28 +1010,28 @@ msgid "" "as :class:`decimal.Decimal`." msgstr "" -#: ../../library/json.rst:743 +#: ../../library/json.rst:742 msgid "Command-line interface" msgstr "" -#: ../../library/json.rst:748 +#: ../../library/json.rst:747 msgid "**Source code:** :source:`Lib/json/tool.py`" msgstr "" -#: ../../library/json.rst:752 +#: ../../library/json.rst:751 msgid "" "The :mod:`!json` module can be invoked as a script via ``python -m json`` to " "validate and pretty-print JSON objects. The :mod:`!json.tool` submodule " "implements this interface." msgstr "" -#: ../../library/json.rst:756 +#: ../../library/json.rst:755 msgid "" "If the optional ``infile`` and ``outfile`` arguments are not specified, :" "data:`sys.stdin` and :data:`sys.stdout` will be used respectively:" msgstr "" -#: ../../library/json.rst:759 +#: ../../library/json.rst:758 msgid "" "$ echo '{\"json\": \"obj\"}' | python -m json\n" "{\n" @@ -1041,28 +1041,28 @@ msgid "" "Expecting property name enclosed in double quotes: line 1 column 2 (char 1)" msgstr "" -#: ../../library/json.rst:768 +#: ../../library/json.rst:767 msgid "" "The output is now in the same order as the input. Use the :option:`--sort-" "keys` option to sort the output of dictionaries alphabetically by key." msgstr "" -#: ../../library/json.rst:773 +#: ../../library/json.rst:772 msgid "" "The :mod:`!json` module may now be directly executed as ``python -m json``. " "For backwards compatibility, invoking the CLI as ``python -m json.tool`` " "remains supported." msgstr "" -#: ../../library/json.rst:780 +#: ../../library/json.rst:779 msgid "Command-line options" msgstr "" -#: ../../library/json.rst:784 +#: ../../library/json.rst:783 msgid "The JSON file to be validated or pretty-printed:" msgstr "" -#: ../../library/json.rst:786 +#: ../../library/json.rst:785 msgid "" "$ python -m json mp_films.json\n" "[\n" @@ -1077,43 +1077,43 @@ msgid "" "]" msgstr "" -#: ../../library/json.rst:800 +#: ../../library/json.rst:799 msgid "If *infile* is not specified, read from :data:`sys.stdin`." msgstr "" -#: ../../library/json.rst:804 +#: ../../library/json.rst:803 msgid "" "Write the output of the *infile* to the given *outfile*. Otherwise, write it " "to :data:`sys.stdout`." msgstr "" -#: ../../library/json.rst:809 +#: ../../library/json.rst:808 msgid "Sort the output of dictionaries alphabetically by key." msgstr "" -#: ../../library/json.rst:815 +#: ../../library/json.rst:814 msgid "" "Disable escaping of non-ascii characters, see :func:`json.dumps` for more " "information." msgstr "" -#: ../../library/json.rst:821 +#: ../../library/json.rst:820 msgid "Parse every input line as separate JSON object." msgstr "" -#: ../../library/json.rst:827 +#: ../../library/json.rst:826 msgid "Mutually exclusive options for whitespace control." msgstr "" -#: ../../library/json.rst:833 +#: ../../library/json.rst:832 msgid "Show the help message." msgstr "" -#: ../../library/json.rst:837 +#: ../../library/json.rst:836 msgid "Footnotes" msgstr "Fußnoten" -#: ../../library/json.rst:838 +#: ../../library/json.rst:837 msgid "" "As noted in `the errata for RFC 7159 `_, JSON permits literal U+2028 (LINE SEPARATOR) " diff --git a/library/pathlib.po b/library/pathlib.po index aeba8b2c..dfd95189 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-05 16:53+0200\n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -207,22 +207,24 @@ msgid "" msgstr "" #: ../../library/pathlib.rst:134 -msgid "When *pathsegments* is empty, the current directory is assumed::" +msgid "" +"When *pathsegments* is empty or consists only of empty strings, the current " +"directory is assumed::" msgstr "" -#: ../../library/pathlib.rst:136 +#: ../../library/pathlib.rst:137 msgid "" -">>> PurePath()\n" -"PurePosixPath('.')" +">>> PurePath(), PurePath('')\n" +"(PurePosixPath('.'), PurePosixPath('.'))" msgstr "" -#: ../../library/pathlib.rst:139 +#: ../../library/pathlib.rst:140 msgid "" "If a segment is an absolute path, all previous segments are ignored (like :" "func:`os.path.join`)::" msgstr "" -#: ../../library/pathlib.rst:142 +#: ../../library/pathlib.rst:143 msgid "" ">>> PurePath('/etc', '/usr', 'lib64')\n" "PurePosixPath('/usr/lib64')\n" @@ -230,26 +232,26 @@ msgid "" "PureWindowsPath('d:bar')" msgstr "" -#: ../../library/pathlib.rst:147 +#: ../../library/pathlib.rst:148 msgid "" "On Windows, the drive is not reset when a rooted relative path segment (e." "g., ``r'\\foo'``) is encountered::" msgstr "" -#: ../../library/pathlib.rst:150 +#: ../../library/pathlib.rst:151 msgid "" ">>> PureWindowsPath('c:/Windows', '/Program Files')\n" "PureWindowsPath('c:/Program Files')" msgstr "" -#: ../../library/pathlib.rst:153 +#: ../../library/pathlib.rst:154 msgid "" "Spurious slashes and single dots are collapsed, but double dots (``'..'``) " "and leading double slashes (``'//'``) are not, since this would change the " "meaning of a path for various reasons (e.g. symbolic links, UNC paths)::" msgstr "" -#: ../../library/pathlib.rst:157 +#: ../../library/pathlib.rst:158 msgid "" ">>> PurePath('foo//bar')\n" "PurePosixPath('foo/bar')\n" @@ -261,48 +263,48 @@ msgid "" "PurePosixPath('foo/../bar')" msgstr "" -#: ../../library/pathlib.rst:166 +#: ../../library/pathlib.rst:167 msgid "" "(a naïve approach would make ``PurePosixPath('foo/../bar')`` equivalent to " "``PurePosixPath('bar')``, which is wrong if ``foo`` is a symbolic link to " "another directory)" msgstr "" -#: ../../library/pathlib.rst:170 +#: ../../library/pathlib.rst:171 msgid "" "Pure path objects implement the :class:`os.PathLike` interface, allowing " "them to be used anywhere the interface is accepted." msgstr "" -#: ../../library/pathlib.rst:173 +#: ../../library/pathlib.rst:174 msgid "Added support for the :class:`os.PathLike` interface." msgstr "" -#: ../../library/pathlib.rst:178 +#: ../../library/pathlib.rst:179 msgid "" "A subclass of :class:`PurePath`, this path flavour represents non-Windows " "filesystem paths::" msgstr "" -#: ../../library/pathlib.rst:181 +#: ../../library/pathlib.rst:182 msgid "" ">>> PurePosixPath('/etc/hosts')\n" "PurePosixPath('/etc/hosts')" msgstr "" -#: ../../library/pathlib.rst:184 ../../library/pathlib.rst:196 -#: ../../library/pathlib.rst:783 ../../library/pathlib.rst:793 -#: ../../library/pathlib.rst:808 +#: ../../library/pathlib.rst:185 ../../library/pathlib.rst:197 +#: ../../library/pathlib.rst:784 ../../library/pathlib.rst:794 +#: ../../library/pathlib.rst:809 msgid "*pathsegments* is specified similarly to :class:`PurePath`." msgstr "" -#: ../../library/pathlib.rst:188 +#: ../../library/pathlib.rst:189 msgid "" "A subclass of :class:`PurePath`, this path flavour represents Windows " "filesystem paths, including `UNC paths`_::" msgstr "" -#: ../../library/pathlib.rst:191 +#: ../../library/pathlib.rst:192 msgid "" ">>> PureWindowsPath('c:/', 'Users', 'Ximénez')\n" "PureWindowsPath('c:/Users/Ximénez')\n" @@ -310,24 +312,24 @@ msgid "" "PureWindowsPath('//server/share/file')" msgstr "" -#: ../../library/pathlib.rst:200 +#: ../../library/pathlib.rst:201 msgid "" "Regardless of the system you're running on, you can instantiate all of these " "classes, since they don't provide any operation that does system calls." msgstr "" -#: ../../library/pathlib.rst:205 +#: ../../library/pathlib.rst:206 msgid "General properties" msgstr "" -#: ../../library/pathlib.rst:207 +#: ../../library/pathlib.rst:208 msgid "" "Paths are immutable and :term:`hashable`. Paths of a same flavour are " "comparable and orderable. These properties respect the flavour's case-" "folding semantics::" msgstr "" -#: ../../library/pathlib.rst:211 +#: ../../library/pathlib.rst:212 msgid "" ">>> PurePosixPath('foo') == PurePosixPath('FOO')\n" "False\n" @@ -339,11 +341,11 @@ msgid "" "True" msgstr "" -#: ../../library/pathlib.rst:220 +#: ../../library/pathlib.rst:221 msgid "Paths of a different flavour compare unequal and cannot be ordered::" msgstr "" -#: ../../library/pathlib.rst:222 +#: ../../library/pathlib.rst:223 msgid "" ">>> PureWindowsPath('foo') == PurePosixPath('foo')\n" "False\n" @@ -354,11 +356,11 @@ msgid "" "'PurePosixPath'" msgstr "" -#: ../../library/pathlib.rst:231 +#: ../../library/pathlib.rst:232 msgid "Operators" msgstr "" -#: ../../library/pathlib.rst:233 +#: ../../library/pathlib.rst:234 msgid "" "The slash operator helps create child paths, like :func:`os.path.join`. If " "the argument is an absolute path, the previous path is ignored. On Windows, " @@ -366,7 +368,7 @@ msgid "" "``r'\\foo'``)::" msgstr "" -#: ../../library/pathlib.rst:238 +#: ../../library/pathlib.rst:239 msgid "" ">>> p = PurePath('/etc')\n" ">>> p\n" @@ -382,13 +384,13 @@ msgid "" "PureWindowsPath('c:/Program Files')" msgstr "" -#: ../../library/pathlib.rst:251 +#: ../../library/pathlib.rst:252 msgid "" "A path object can be used anywhere an object implementing :class:`os." "PathLike` is accepted::" msgstr "" -#: ../../library/pathlib.rst:254 +#: ../../library/pathlib.rst:255 msgid "" ">>> import os\n" ">>> p = PurePath('/etc')\n" @@ -396,14 +398,14 @@ msgid "" "'/etc'" msgstr "" -#: ../../library/pathlib.rst:259 +#: ../../library/pathlib.rst:260 msgid "" "The string representation of a path is the raw filesystem path itself (in " "native form, e.g. with backslashes under Windows), which you can pass to any " "function taking a file path as a string::" msgstr "" -#: ../../library/pathlib.rst:263 +#: ../../library/pathlib.rst:264 msgid "" ">>> p = PurePath('/etc')\n" ">>> str(p)\n" @@ -413,39 +415,39 @@ msgid "" "'c:\\\\Program Files'" msgstr "" -#: ../../library/pathlib.rst:270 +#: ../../library/pathlib.rst:271 msgid "" "Similarly, calling :class:`bytes` on a path gives the raw filesystem path as " "a bytes object, as encoded by :func:`os.fsencode`::" msgstr "" -#: ../../library/pathlib.rst:273 +#: ../../library/pathlib.rst:274 msgid "" ">>> bytes(p)\n" "b'/etc'" msgstr "" -#: ../../library/pathlib.rst:277 +#: ../../library/pathlib.rst:278 msgid "" "Calling :class:`bytes` is only recommended under Unix. Under Windows, the " "unicode form is the canonical representation of filesystem paths." msgstr "" -#: ../../library/pathlib.rst:282 +#: ../../library/pathlib.rst:283 msgid "Accessing individual parts" msgstr "" -#: ../../library/pathlib.rst:284 +#: ../../library/pathlib.rst:285 msgid "" "To access the individual \"parts\" (components) of a path, use the following " "property:" msgstr "" -#: ../../library/pathlib.rst:289 +#: ../../library/pathlib.rst:290 msgid "A tuple giving access to the path's various components::" msgstr "" -#: ../../library/pathlib.rst:291 +#: ../../library/pathlib.rst:292 msgid "" ">>> p = PurePath('/usr/bin/python3')\n" ">>> p.parts\n" @@ -456,29 +458,29 @@ msgid "" "('c:\\\\', 'Program Files', 'PSF')" msgstr "" -#: ../../library/pathlib.rst:299 +#: ../../library/pathlib.rst:300 msgid "(note how the drive and local root are regrouped in a single part)" msgstr "" -#: ../../library/pathlib.rst:303 +#: ../../library/pathlib.rst:304 msgid "Methods and properties" msgstr "" -#: ../../library/pathlib.rst:309 +#: ../../library/pathlib.rst:310 msgid "Pure paths provide the following methods and properties:" msgstr "" -#: ../../library/pathlib.rst:313 +#: ../../library/pathlib.rst:314 msgid "" "The implementation of the :mod:`os.path` module used for low-level path " "parsing and joining: either :mod:`!posixpath` or :mod:`!ntpath`." msgstr "" -#: ../../library/pathlib.rst:320 +#: ../../library/pathlib.rst:321 msgid "A string representing the drive letter or name, if any::" msgstr "" -#: ../../library/pathlib.rst:322 +#: ../../library/pathlib.rst:323 msgid "" ">>> PureWindowsPath('c:/Program Files/').drive\n" "'c:'\n" @@ -488,21 +490,21 @@ msgid "" "''" msgstr "" -#: ../../library/pathlib.rst:329 +#: ../../library/pathlib.rst:330 msgid "UNC shares are also considered drives::" msgstr "" -#: ../../library/pathlib.rst:331 +#: ../../library/pathlib.rst:332 msgid "" ">>> PureWindowsPath('//host/share/foo.txt').drive\n" "'\\\\\\\\host\\\\share'" msgstr "" -#: ../../library/pathlib.rst:336 +#: ../../library/pathlib.rst:337 msgid "A string representing the (local or global) root, if any::" msgstr "" -#: ../../library/pathlib.rst:338 +#: ../../library/pathlib.rst:339 msgid "" ">>> PureWindowsPath('c:/Program Files/').root\n" "'\\\\'\n" @@ -512,23 +514,23 @@ msgid "" "'/'" msgstr "" -#: ../../library/pathlib.rst:345 +#: ../../library/pathlib.rst:346 msgid "UNC shares always have a root::" msgstr "" -#: ../../library/pathlib.rst:347 +#: ../../library/pathlib.rst:348 msgid "" ">>> PureWindowsPath('//host/share').root\n" "'\\\\'" msgstr "" -#: ../../library/pathlib.rst:350 +#: ../../library/pathlib.rst:351 msgid "" "If the path starts with more than two successive slashes, :class:`~pathlib." "PurePosixPath` collapses them::" msgstr "" -#: ../../library/pathlib.rst:353 +#: ../../library/pathlib.rst:354 msgid "" ">>> PurePosixPath('//etc').root\n" "'//'\n" @@ -538,25 +540,25 @@ msgid "" "'/'" msgstr "" -#: ../../library/pathlib.rst:362 +#: ../../library/pathlib.rst:363 msgid "" "This behavior conforms to *The Open Group Base Specifications Issue 6*, " "paragraph `4.11 Pathname Resolution `_:" msgstr "" -#: ../../library/pathlib.rst:366 +#: ../../library/pathlib.rst:367 msgid "" "*\"A pathname that begins with two successive slashes may be interpreted in " "an implementation-defined manner, although more than two leading slashes " "shall be treated as a single slash.\"*" msgstr "" -#: ../../library/pathlib.rst:372 +#: ../../library/pathlib.rst:373 msgid "The concatenation of the drive and root::" msgstr "" -#: ../../library/pathlib.rst:374 +#: ../../library/pathlib.rst:375 msgid "" ">>> PureWindowsPath('c:/Program Files/').anchor\n" "'c:\\\\'\n" @@ -568,12 +570,12 @@ msgid "" "'\\\\\\\\host\\\\share\\\\'" msgstr "" -#: ../../library/pathlib.rst:386 +#: ../../library/pathlib.rst:387 msgid "" "An immutable sequence providing access to the logical ancestors of the path::" msgstr "" -#: ../../library/pathlib.rst:389 +#: ../../library/pathlib.rst:390 msgid "" ">>> p = PureWindowsPath('c:/foo/bar/setup.py')\n" ">>> p.parents[0]\n" @@ -584,28 +586,28 @@ msgid "" "PureWindowsPath('c:/')" msgstr "" -#: ../../library/pathlib.rst:397 +#: ../../library/pathlib.rst:398 msgid "" "The parents sequence now supports :term:`slices ` and negative index " "values." msgstr "" -#: ../../library/pathlib.rst:402 +#: ../../library/pathlib.rst:403 msgid "The logical parent of the path::" msgstr "" -#: ../../library/pathlib.rst:404 +#: ../../library/pathlib.rst:405 msgid "" ">>> p = PurePosixPath('/a/b/c/d')\n" ">>> p.parent\n" "PurePosixPath('/a/b/c')" msgstr "" -#: ../../library/pathlib.rst:408 +#: ../../library/pathlib.rst:409 msgid "You cannot go past an anchor, or empty path::" msgstr "" -#: ../../library/pathlib.rst:410 +#: ../../library/pathlib.rst:411 msgid "" ">>> p = PurePosixPath('/')\n" ">>> p.parent\n" @@ -615,41 +617,41 @@ msgid "" "PurePosixPath('.')" msgstr "" -#: ../../library/pathlib.rst:418 +#: ../../library/pathlib.rst:419 msgid "This is a purely lexical operation, hence the following behaviour::" msgstr "" -#: ../../library/pathlib.rst:420 +#: ../../library/pathlib.rst:421 msgid "" ">>> p = PurePosixPath('foo/..')\n" ">>> p.parent\n" "PurePosixPath('foo')" msgstr "" -#: ../../library/pathlib.rst:424 +#: ../../library/pathlib.rst:425 msgid "" "If you want to walk an arbitrary filesystem path upwards, it is recommended " "to first call :meth:`Path.resolve` so as to resolve symlinks and eliminate " "``\"..\"`` components." msgstr "" -#: ../../library/pathlib.rst:431 +#: ../../library/pathlib.rst:432 msgid "" "A string representing the final path component, excluding the drive and " "root, if any::" msgstr "" -#: ../../library/pathlib.rst:434 +#: ../../library/pathlib.rst:435 msgid "" ">>> PurePosixPath('my/library/setup.py').name\n" "'setup.py'" msgstr "" -#: ../../library/pathlib.rst:437 +#: ../../library/pathlib.rst:438 msgid "UNC drive names are not considered::" msgstr "" -#: ../../library/pathlib.rst:439 +#: ../../library/pathlib.rst:440 msgid "" ">>> PureWindowsPath('//some/share/setup.py').name\n" "'setup.py'\n" @@ -657,11 +659,11 @@ msgid "" "''" msgstr "" -#: ../../library/pathlib.rst:447 +#: ../../library/pathlib.rst:448 msgid "The last dot-separated portion of the final component, if any::" msgstr "" -#: ../../library/pathlib.rst:449 +#: ../../library/pathlib.rst:450 msgid "" ">>> PurePosixPath('my/library/setup.py').suffix\n" "'.py'\n" @@ -671,20 +673,20 @@ msgid "" "''" msgstr "" -#: ../../library/pathlib.rst:456 +#: ../../library/pathlib.rst:457 msgid "This is commonly called the file extension." msgstr "" -#: ../../library/pathlib.rst:460 ../../library/pathlib.rst:475 -#: ../../library/pathlib.rst:491 +#: ../../library/pathlib.rst:461 ../../library/pathlib.rst:476 +#: ../../library/pathlib.rst:492 msgid "A single dot (\"``.``\") is considered a valid suffix." msgstr "" -#: ../../library/pathlib.rst:464 +#: ../../library/pathlib.rst:465 msgid "A list of the path's suffixes, often called file extensions::" msgstr "" -#: ../../library/pathlib.rst:466 +#: ../../library/pathlib.rst:467 msgid "" ">>> PurePosixPath('my/library.tar.gar').suffixes\n" "['.tar', '.gar']\n" @@ -694,11 +696,11 @@ msgid "" "[]" msgstr "" -#: ../../library/pathlib.rst:480 +#: ../../library/pathlib.rst:481 msgid "The final path component, without its suffix::" msgstr "" -#: ../../library/pathlib.rst:482 +#: ../../library/pathlib.rst:483 msgid "" ">>> PurePosixPath('my/library.tar.gz').stem\n" "'library.tar'\n" @@ -708,12 +710,12 @@ msgid "" "'library'" msgstr "" -#: ../../library/pathlib.rst:496 +#: ../../library/pathlib.rst:497 msgid "" "Return a string representation of the path with forward slashes (``/``)::" msgstr "" -#: ../../library/pathlib.rst:498 +#: ../../library/pathlib.rst:499 msgid "" ">>> p = PureWindowsPath('c:\\\\windows')\n" ">>> str(p)\n" @@ -722,13 +724,13 @@ msgid "" "'c:/windows'" msgstr "" -#: ../../library/pathlib.rst:507 +#: ../../library/pathlib.rst:508 msgid "" "Return whether the path is absolute or not. A path is considered absolute " "if it has both a root and (if the flavour allows) a drive::" msgstr "" -#: ../../library/pathlib.rst:510 +#: ../../library/pathlib.rst:511 msgid "" ">>> PurePosixPath('/a/b').is_absolute()\n" "True\n" @@ -745,48 +747,48 @@ msgid "" "True" msgstr "" -#: ../../library/pathlib.rst:527 +#: ../../library/pathlib.rst:528 msgid "Return whether or not this path is relative to the *other* path." msgstr "" -#: ../../library/pathlib.rst:535 +#: ../../library/pathlib.rst:536 msgid "" "This method is string-based; it neither accesses the filesystem nor treats " "\"``..``\" segments specially. The following code is equivalent:" msgstr "" -#: ../../library/pathlib.rst:546 +#: ../../library/pathlib.rst:547 msgid "" "Passing additional arguments is deprecated; if supplied, they are joined " "with *other*." msgstr "" -#: ../../library/pathlib.rst:551 +#: ../../library/pathlib.rst:552 msgid "" "With :class:`PureWindowsPath`, return ``True`` if the path is considered " "reserved under Windows, ``False`` otherwise. With :class:`PurePosixPath`, " "``False`` is always returned." msgstr "" -#: ../../library/pathlib.rst:555 +#: ../../library/pathlib.rst:556 msgid "" "Windows path names that contain a colon, or end with a dot or a space, are " "considered reserved. UNC paths may be reserved." msgstr "" -#: ../../library/pathlib.rst:559 +#: ../../library/pathlib.rst:560 msgid "" "This method is deprecated; use :func:`os.path.isreserved` to detect reserved " "paths on Windows." msgstr "" -#: ../../library/pathlib.rst:565 +#: ../../library/pathlib.rst:566 msgid "" "Calling this method is equivalent to combining the path with each of the " "given *pathsegments* in turn::" msgstr "" -#: ../../library/pathlib.rst:568 +#: ../../library/pathlib.rst:569 msgid "" ">>> PurePosixPath('/etc').joinpath('passwd')\n" "PurePosixPath('/etc/passwd')\n" @@ -798,13 +800,13 @@ msgid "" "PureWindowsPath('c:/Program Files')" msgstr "" -#: ../../library/pathlib.rst:580 +#: ../../library/pathlib.rst:581 msgid "" "Match this path against the provided glob-style pattern. Return ``True`` if " "matching is successful, ``False`` otherwise. For example::" msgstr "" -#: ../../library/pathlib.rst:583 +#: ../../library/pathlib.rst:584 msgid "" ">>> PurePath('a/b.py').full_match('a/*.py')\n" "True\n" @@ -816,15 +818,15 @@ msgid "" "True" msgstr "" -#: ../../library/pathlib.rst:593 ../../library/pathlib.rst:1357 +#: ../../library/pathlib.rst:594 ../../library/pathlib.rst:1360 msgid ":ref:`pathlib-pattern-language` documentation." msgstr "" -#: ../../library/pathlib.rst:595 +#: ../../library/pathlib.rst:596 msgid "As with other methods, case-sensitivity follows platform defaults::" msgstr "" -#: ../../library/pathlib.rst:597 +#: ../../library/pathlib.rst:598 msgid "" ">>> PurePosixPath('b.py').full_match('*.PY')\n" "False\n" @@ -832,18 +834,18 @@ msgid "" "True" msgstr "" -#: ../../library/pathlib.rst:602 +#: ../../library/pathlib.rst:603 msgid "" "Set *case_sensitive* to ``True`` or ``False`` to override this behaviour." msgstr "" -#: ../../library/pathlib.rst:609 +#: ../../library/pathlib.rst:610 msgid "" "Match this path against the provided non-recursive glob-style pattern. " "Return ``True`` if matching is successful, ``False`` otherwise." msgstr "" -#: ../../library/pathlib.rst:612 +#: ../../library/pathlib.rst:613 msgid "" "This method is similar to :meth:`~PurePath.full_match`, but empty patterns " "aren't allowed (:exc:`ValueError` is raised), the recursive wildcard " @@ -851,7 +853,7 @@ msgid "" "relative pattern is provided, then matching is done from the right::" msgstr "" -#: ../../library/pathlib.rst:617 +#: ../../library/pathlib.rst:618 msgid "" ">>> PurePath('a/b.py').match('*.py')\n" "True\n" @@ -861,23 +863,23 @@ msgid "" "False" msgstr "" -#: ../../library/pathlib.rst:624 ../../library/pathlib.rst:1381 -#: ../../library/pathlib.rst:1415 +#: ../../library/pathlib.rst:625 ../../library/pathlib.rst:1384 +#: ../../library/pathlib.rst:1418 msgid "The *pattern* parameter accepts a :term:`path-like object`." msgstr "" -#: ../../library/pathlib.rst:627 ../../library/pathlib.rst:1375 -#: ../../library/pathlib.rst:1409 +#: ../../library/pathlib.rst:628 ../../library/pathlib.rst:1378 +#: ../../library/pathlib.rst:1412 msgid "The *case_sensitive* parameter was added." msgstr "" -#: ../../library/pathlib.rst:633 +#: ../../library/pathlib.rst:634 msgid "" "Compute a version of this path relative to the path represented by *other*. " "If it's impossible, :exc:`ValueError` is raised::" msgstr "" -#: ../../library/pathlib.rst:636 +#: ../../library/pathlib.rst:637 msgid "" ">>> p = PurePosixPath('/etc/passwd')\n" ">>> p.relative_to('/')\n" @@ -893,7 +895,7 @@ msgid "" "relative and the other is absolute." msgstr "" -#: ../../library/pathlib.rst:648 +#: ../../library/pathlib.rst:649 msgid "" "When *walk_up* is false (the default), the path must start with *other*. " "When the argument is true, ``..`` entries may be added to form the relative " @@ -901,7 +903,7 @@ msgid "" "exc:`ValueError` is raised.::" msgstr "" -#: ../../library/pathlib.rst:653 +#: ../../library/pathlib.rst:654 msgid "" ">>> p.relative_to('/usr', walk_up=True)\n" "PurePosixPath('../etc/passwd')\n" @@ -914,7 +916,7 @@ msgid "" "relative and the other is absolute." msgstr "" -#: ../../library/pathlib.rst:663 +#: ../../library/pathlib.rst:664 msgid "" "This function is part of :class:`PurePath` and works with strings. It does " "not check or access the underlying file structure. This can impact the " @@ -922,25 +924,25 @@ msgid "" "call :meth:`~Path.resolve` first if necessary to resolve symlinks." msgstr "" -#: ../../library/pathlib.rst:669 +#: ../../library/pathlib.rst:670 msgid "" "The *walk_up* parameter was added (old behavior is the same as " "``walk_up=False``)." msgstr "" -#: ../../library/pathlib.rst:674 +#: ../../library/pathlib.rst:675 msgid "" "Passing additional positional arguments is deprecated; if supplied, they are " "joined with *other*." msgstr "" -#: ../../library/pathlib.rst:679 +#: ../../library/pathlib.rst:680 msgid "" "Return a new path with the :attr:`name` changed. If the original path " "doesn't have a name, ValueError is raised::" msgstr "" -#: ../../library/pathlib.rst:682 +#: ../../library/pathlib.rst:683 msgid "" ">>> p = PureWindowsPath('c:/Downloads/pathlib.tar.gz')\n" ">>> p.with_name('setup.py')\n" @@ -955,13 +957,13 @@ msgid "" "ValueError: PureWindowsPath('c:/') has an empty name" msgstr "" -#: ../../library/pathlib.rst:696 +#: ../../library/pathlib.rst:697 msgid "" "Return a new path with the :attr:`stem` changed. If the original path " "doesn't have a name, ValueError is raised::" msgstr "" -#: ../../library/pathlib.rst:699 +#: ../../library/pathlib.rst:700 msgid "" ">>> p = PureWindowsPath('c:/Downloads/draft.txt')\n" ">>> p.with_stem('final')\n" @@ -982,14 +984,14 @@ msgid "" "ValueError: PureWindowsPath('c:/') has an empty name" msgstr "" -#: ../../library/pathlib.rst:720 +#: ../../library/pathlib.rst:721 msgid "" "Return a new path with the :attr:`suffix` changed. If the original path " "doesn't have a suffix, the new *suffix* is appended instead. If the " "*suffix* is an empty string, the original suffix is removed::" msgstr "" -#: ../../library/pathlib.rst:724 +#: ../../library/pathlib.rst:725 msgid "" ">>> p = PureWindowsPath('c:/Downloads/pathlib.tar.gz')\n" ">>> p.with_suffix('.bz2')\n" @@ -1002,13 +1004,13 @@ msgid "" "PureWindowsPath('README')" msgstr "" -#: ../../library/pathlib.rst:736 +#: ../../library/pathlib.rst:737 msgid "" "A single dot (\"``.``\") is considered a valid suffix. In previous " "versions, :exc:`ValueError` is raised if a single dot is supplied." msgstr "" -#: ../../library/pathlib.rst:742 +#: ../../library/pathlib.rst:743 msgid "" "Create a new path object of the same type by combining the given " "*pathsegments*. This method is called whenever a derivative path is created, " @@ -1016,7 +1018,7 @@ msgid "" "this method to pass information to derivative paths, for example::" msgstr "" -#: ../../library/pathlib.rst:747 +#: ../../library/pathlib.rst:748 msgid "" "from pathlib import PurePosixPath\n" "\n" @@ -1033,74 +1035,74 @@ msgid "" "print(hosts.session_id) # 42" msgstr "" -#: ../../library/pathlib.rst:768 +#: ../../library/pathlib.rst:769 msgid "Concrete paths" msgstr "" -#: ../../library/pathlib.rst:770 +#: ../../library/pathlib.rst:771 msgid "" "Concrete paths are subclasses of the pure path classes. In addition to " "operations provided by the latter, they also provide methods to do system " "calls on path objects. There are three ways to instantiate concrete paths:" msgstr "" -#: ../../library/pathlib.rst:776 +#: ../../library/pathlib.rst:777 msgid "" "A subclass of :class:`PurePath`, this class represents concrete paths of the " "system's path flavour (instantiating it creates either a :class:`PosixPath` " "or a :class:`WindowsPath`)::" msgstr "" -#: ../../library/pathlib.rst:780 +#: ../../library/pathlib.rst:781 msgid "" ">>> Path('setup.py')\n" "PosixPath('setup.py')" msgstr "" -#: ../../library/pathlib.rst:787 +#: ../../library/pathlib.rst:788 msgid "" "A subclass of :class:`Path` and :class:`PurePosixPath`, this class " "represents concrete non-Windows filesystem paths::" msgstr "" -#: ../../library/pathlib.rst:790 +#: ../../library/pathlib.rst:791 msgid "" ">>> PosixPath('/etc/hosts')\n" "PosixPath('/etc/hosts')" msgstr "" -#: ../../library/pathlib.rst:795 +#: ../../library/pathlib.rst:796 msgid "" "Raises :exc:`UnsupportedOperation` on Windows. In previous versions, :exc:" "`NotImplementedError` was raised instead." msgstr "" -#: ../../library/pathlib.rst:802 +#: ../../library/pathlib.rst:803 msgid "" "A subclass of :class:`Path` and :class:`PureWindowsPath`, this class " "represents concrete Windows filesystem paths::" msgstr "" -#: ../../library/pathlib.rst:805 +#: ../../library/pathlib.rst:806 msgid "" ">>> WindowsPath('c:/', 'Users', 'Ximénez')\n" "WindowsPath('c:/Users/Ximénez')" msgstr "" -#: ../../library/pathlib.rst:810 +#: ../../library/pathlib.rst:811 msgid "" "Raises :exc:`UnsupportedOperation` on non-Windows platforms. In previous " "versions, :exc:`NotImplementedError` was raised instead." msgstr "" -#: ../../library/pathlib.rst:815 +#: ../../library/pathlib.rst:816 msgid "" "You can only instantiate the class flavour that corresponds to your system " "(allowing system calls on non-compatible path flavours could lead to bugs or " "failures in your application)::" msgstr "" -#: ../../library/pathlib.rst:819 +#: ../../library/pathlib.rst:820 msgid "" ">>> import os\n" ">>> os.name\n" @@ -1117,43 +1119,43 @@ msgid "" "UnsupportedOperation: cannot instantiate 'WindowsPath' on your system" msgstr "" -#: ../../library/pathlib.rst:833 +#: ../../library/pathlib.rst:834 msgid "" "Some concrete path methods can raise an :exc:`OSError` if a system call " "fails (for example because the path doesn't exist)." msgstr "" -#: ../../library/pathlib.rst:838 +#: ../../library/pathlib.rst:839 msgid "Parsing and generating URIs" msgstr "" -#: ../../library/pathlib.rst:840 +#: ../../library/pathlib.rst:841 msgid "" "Concrete path objects can be created from, and represented as, 'file' URIs " "conforming to :rfc:`8089`." msgstr "" -#: ../../library/pathlib.rst:845 +#: ../../library/pathlib.rst:846 msgid "" "File URIs are not portable across machines with different :ref:`filesystem " "encodings `." msgstr "" -#: ../../library/pathlib.rst:850 +#: ../../library/pathlib.rst:851 msgid "Return a new path object from parsing a 'file' URI. For example::" msgstr "" -#: ../../library/pathlib.rst:852 +#: ../../library/pathlib.rst:853 msgid "" ">>> p = Path.from_uri('file:///etc/hosts')\n" "PosixPath('/etc/hosts')" msgstr "" -#: ../../library/pathlib.rst:855 +#: ../../library/pathlib.rst:856 msgid "On Windows, DOS device and UNC paths may be parsed from URIs::" msgstr "" -#: ../../library/pathlib.rst:857 +#: ../../library/pathlib.rst:858 msgid "" ">>> p = Path.from_uri('file:///c:/windows')\n" "WindowsPath('c:/windows')\n" @@ -1161,11 +1163,11 @@ msgid "" "WindowsPath('//server/share')" msgstr "" -#: ../../library/pathlib.rst:862 +#: ../../library/pathlib.rst:863 msgid "Several variant forms are supported::" msgstr "" -#: ../../library/pathlib.rst:864 +#: ../../library/pathlib.rst:865 msgid "" ">>> p = Path.from_uri('file:////server/share')\n" "WindowsPath('//server/share')\n" @@ -1177,26 +1179,26 @@ msgid "" "WindowsPath('c:/windows')" msgstr "" -#: ../../library/pathlib.rst:873 +#: ../../library/pathlib.rst:874 msgid "" ":exc:`ValueError` is raised if the URI does not start with ``file:``, or the " "parsed path isn't absolute." msgstr "" -#: ../../library/pathlib.rst:878 +#: ../../library/pathlib.rst:879 msgid "" "The URL authority is discarded if it matches the local hostname. Otherwise, " "if the authority isn't empty or ``localhost``, then on Windows a UNC path is " "returned (as before), and on other platforms a :exc:`ValueError` is raised." msgstr "" -#: ../../library/pathlib.rst:887 +#: ../../library/pathlib.rst:888 msgid "" "Represent the path as a 'file' URI. :exc:`ValueError` is raised if the path " "isn't absolute." msgstr "" -#: ../../library/pathlib.rst:890 +#: ../../library/pathlib.rst:891 msgid "" ">>> p = PosixPath('/etc/passwd')\n" ">>> p.as_uri()\n" @@ -1206,63 +1208,63 @@ msgid "" "'file:///c:/Windows'" msgstr "" -#: ../../library/pathlib.rst:901 +#: ../../library/pathlib.rst:902 msgid "" "Calling this method from :class:`PurePath` rather than :class:`Path` is " "possible but deprecated. The method's use of :func:`os.fsencode` makes it " "strictly impure." msgstr "" -#: ../../library/pathlib.rst:907 +#: ../../library/pathlib.rst:908 msgid "Expanding and resolving paths" msgstr "" -#: ../../library/pathlib.rst:911 +#: ../../library/pathlib.rst:912 msgid "" "Return a new path object representing the user's home directory (as returned " "by :func:`os.path.expanduser` with ``~`` construct). If the home directory " "can't be resolved, :exc:`RuntimeError` is raised." msgstr "" -#: ../../library/pathlib.rst:917 +#: ../../library/pathlib.rst:918 msgid "" ">>> Path.home()\n" "PosixPath('/home/antoine')" msgstr "" -#: ../../library/pathlib.rst:925 +#: ../../library/pathlib.rst:926 msgid "" "Return a new path with expanded ``~`` and ``~user`` constructs, as returned " "by :meth:`os.path.expanduser`. If a home directory can't be resolved, :exc:" "`RuntimeError` is raised." msgstr "" -#: ../../library/pathlib.rst:931 +#: ../../library/pathlib.rst:932 msgid "" ">>> p = PosixPath('~/films/Monty Python')\n" ">>> p.expanduser()\n" "PosixPath('/home/eric/films/Monty Python')" msgstr "" -#: ../../library/pathlib.rst:940 +#: ../../library/pathlib.rst:941 msgid "" "Return a new path object representing the current directory (as returned by :" "func:`os.getcwd`)::" msgstr "" -#: ../../library/pathlib.rst:943 +#: ../../library/pathlib.rst:944 msgid "" ">>> Path.cwd()\n" "PosixPath('/home/antoine/pathlib')" msgstr "" -#: ../../library/pathlib.rst:949 +#: ../../library/pathlib.rst:950 msgid "" "Make the path absolute, without normalization or resolving symlinks. Returns " "a new path object::" msgstr "" -#: ../../library/pathlib.rst:952 +#: ../../library/pathlib.rst:953 msgid "" ">>> p = Path('tests')\n" ">>> p\n" @@ -1271,13 +1273,13 @@ msgid "" "PosixPath('/home/antoine/pathlib/tests')" msgstr "" -#: ../../library/pathlib.rst:961 +#: ../../library/pathlib.rst:962 msgid "" "Make the path absolute, resolving any symlinks. A new path object is " "returned::" msgstr "" -#: ../../library/pathlib.rst:964 +#: ../../library/pathlib.rst:965 msgid "" ">>> p = Path()\n" ">>> p\n" @@ -1286,20 +1288,20 @@ msgid "" "PosixPath('/home/antoine/pathlib')" msgstr "" -#: ../../library/pathlib.rst:970 +#: ../../library/pathlib.rst:971 msgid "" "\"``..``\" components are also eliminated (this is the only method to do " "so)::" msgstr "" -#: ../../library/pathlib.rst:972 +#: ../../library/pathlib.rst:973 msgid "" ">>> p = Path('docs/../setup.py')\n" ">>> p.resolve()\n" "PosixPath('/home/antoine/pathlib/setup.py')" msgstr "" -#: ../../library/pathlib.rst:976 +#: ../../library/pathlib.rst:977 msgid "" "If a path doesn't exist or a symlink loop is encountered, and *strict* is " "``True``, :exc:`OSError` is raised. If *strict* is ``False``, the path is " @@ -1307,24 +1309,24 @@ msgid "" "whether it exists." msgstr "" -#: ../../library/pathlib.rst:981 +#: ../../library/pathlib.rst:982 msgid "The *strict* parameter was added (pre-3.6 behavior is strict)." msgstr "" -#: ../../library/pathlib.rst:984 +#: ../../library/pathlib.rst:985 msgid "" "Symlink loops are treated like other errors: :exc:`OSError` is raised in " "strict mode, and no exception is raised in non-strict mode. In previous " "versions, :exc:`RuntimeError` is raised no matter the value of *strict*." msgstr "" -#: ../../library/pathlib.rst:992 +#: ../../library/pathlib.rst:993 msgid "" "Return the path to which the symbolic link points (as returned by :func:`os." "readlink`)::" msgstr "" -#: ../../library/pathlib.rst:995 +#: ../../library/pathlib.rst:996 msgid "" ">>> p = Path('mylink')\n" ">>> p.symlink_to('setup.py')\n" @@ -1332,17 +1334,17 @@ msgid "" "PosixPath('setup.py')" msgstr "" -#: ../../library/pathlib.rst:1002 +#: ../../library/pathlib.rst:1003 msgid "" "Raises :exc:`UnsupportedOperation` if :func:`os.readlink` is not available. " "In previous versions, :exc:`NotImplementedError` was raised." msgstr "" -#: ../../library/pathlib.rst:1008 +#: ../../library/pathlib.rst:1009 msgid "Querying file type and status" msgstr "" -#: ../../library/pathlib.rst:1012 +#: ../../library/pathlib.rst:1013 msgid "" ":meth:`~Path.exists`, :meth:`~Path.is_dir`, :meth:`~Path.is_file`, :meth:" "`~Path.is_mount`, :meth:`~Path.is_symlink`, :meth:`~Path.is_block_device`, :" @@ -1351,7 +1353,7 @@ msgid "" "characters unrepresentable at the OS level." msgstr "" -#: ../../library/pathlib.rst:1021 +#: ../../library/pathlib.rst:1022 msgid "" "The methods given above now return ``False`` instead of raising any :exc:" "`OSError` exception from the operating system. In previous versions, some " @@ -1361,20 +1363,20 @@ msgid "" "exceptions." msgstr "" -#: ../../library/pathlib.rst:1031 +#: ../../library/pathlib.rst:1032 msgid "" "Return an :class:`os.stat_result` object containing information about this " "path, like :func:`os.stat`. The result is looked up at each call to this " "method." msgstr "" -#: ../../library/pathlib.rst:1034 +#: ../../library/pathlib.rst:1035 msgid "" "This method normally follows symlinks; to stat a symlink add the argument " "``follow_symlinks=False``, or use :meth:`~Path.lstat`." msgstr "" -#: ../../library/pathlib.rst:1039 +#: ../../library/pathlib.rst:1040 msgid "" ">>> p = Path('setup.py')\n" ">>> p.stat().st_size\n" @@ -1383,34 +1385,36 @@ msgid "" "1327883547.852554" msgstr "" -#: ../../library/pathlib.rst:1045 ../../library/pathlib.rst:1075 -#: ../../library/pathlib.rst:1089 ../../library/pathlib.rst:1103 -#: ../../library/pathlib.rst:1742 ../../library/pathlib.rst:1758 -#: ../../library/pathlib.rst:1779 +#: ../../library/pathlib.rst:1046 ../../library/pathlib.rst:1078 +#: ../../library/pathlib.rst:1092 ../../library/pathlib.rst:1106 +#: ../../library/pathlib.rst:1745 ../../library/pathlib.rst:1761 +#: ../../library/pathlib.rst:1782 msgid "The *follow_symlinks* parameter was added." msgstr "" -#: ../../library/pathlib.rst:1051 +#: ../../library/pathlib.rst:1052 msgid "" "Like :meth:`Path.stat` but, if the path points to a symbolic link, return " "the symbolic link's information rather than its target's." msgstr "" -#: ../../library/pathlib.rst:1057 +#: ../../library/pathlib.rst:1058 msgid "" -"Return ``True`` if the path points to an existing file or directory. " -"``False`` will be returned if the path is invalid, inaccessible or missing. " -"Use :meth:`Path.stat` to distinguish between these cases." +"Return ``True`` if the path points to an existing file or directory and " +"``False`` if the path is invalid, inaccessible or missing. Use :meth:`Path." +"stat` to distinguish between these cases." msgstr "" -#: ../../library/pathlib.rst:1061 +#: ../../library/pathlib.rst:1062 msgid "" "This method normally follows symlinks; to check if a symlink exists, add the " "argument ``follow_symlinks=False``." msgstr "" -#: ../../library/pathlib.rst:1066 +#: ../../library/pathlib.rst:1067 msgid "" +">>> Path('').exists() # The current directory.\n" +"True\n" ">>> Path('.').exists()\n" "True\n" ">>> Path('setup.py').exists()\n" @@ -1421,7 +1425,7 @@ msgid "" "False" msgstr "" -#: ../../library/pathlib.rst:1081 +#: ../../library/pathlib.rst:1084 msgid "" "Return ``True`` if the path points to a regular file. ``False`` will be " "returned if the path is invalid, inaccessible or missing, or if it points to " @@ -1429,13 +1433,13 @@ msgid "" "between these cases." msgstr "" -#: ../../library/pathlib.rst:1086 +#: ../../library/pathlib.rst:1089 msgid "" "This method normally follows symlinks; to exclude symlinks, add the argument " "``follow_symlinks=False``." msgstr "" -#: ../../library/pathlib.rst:1095 +#: ../../library/pathlib.rst:1098 msgid "" "Return ``True`` if the path points to a directory. ``False`` will be " "returned if the path is invalid, inaccessible or missing, or if it points to " @@ -1443,13 +1447,13 @@ msgid "" "between these cases." msgstr "" -#: ../../library/pathlib.rst:1100 +#: ../../library/pathlib.rst:1103 msgid "" "This method normally follows symlinks; to exclude symlinks to directories, " "add the argument ``follow_symlinks=False``." msgstr "" -#: ../../library/pathlib.rst:1109 +#: ../../library/pathlib.rst:1112 msgid "" "Return ``True`` if the path points to a symbolic link, even if that symlink " "is broken. ``False`` will be returned if the path is invalid, inaccessible " @@ -1457,13 +1461,13 @@ msgid "" "meth:`Path.stat` to distinguish between these cases." msgstr "" -#: ../../library/pathlib.rst:1117 +#: ../../library/pathlib.rst:1120 msgid "" "Return ``True`` if the path points to a junction, and ``False`` for any " "other type of file. Currently only Windows supports junctions." msgstr "" -#: ../../library/pathlib.rst:1125 +#: ../../library/pathlib.rst:1128 msgid "" "Return ``True`` if the path is a :dfn:`mount point`: a point in a file " "system where a different file system has been mounted. On POSIX, the " @@ -1475,11 +1479,11 @@ msgid "" "mounted filesystem directory." msgstr "" -#: ../../library/pathlib.rst:1136 +#: ../../library/pathlib.rst:1139 msgid "Windows support was added." msgstr "" -#: ../../library/pathlib.rst:1141 +#: ../../library/pathlib.rst:1144 msgid "" "Return ``True`` if the path points to a Unix socket. ``False`` will be " "returned if the path is invalid, inaccessible or missing, or if it points to " @@ -1487,14 +1491,14 @@ msgid "" "between these cases." msgstr "" -#: ../../library/pathlib.rst:1149 +#: ../../library/pathlib.rst:1152 msgid "" "Return ``True`` if the path points to a FIFO. ``False`` will be returned if " "the path is invalid, inaccessible or missing, or if it points to something " "other than a FIFO. Use :meth:`Path.stat` to distinguish between these cases." msgstr "" -#: ../../library/pathlib.rst:1157 +#: ../../library/pathlib.rst:1160 msgid "" "Return ``True`` if the path points to a block device. ``False`` will be " "returned if the path is invalid, inaccessible or missing, or if it points to " @@ -1502,7 +1506,7 @@ msgid "" "between these cases." msgstr "" -#: ../../library/pathlib.rst:1165 +#: ../../library/pathlib.rst:1168 msgid "" "Return ``True`` if the path points to a character device. ``False`` will be " "returned if the path is invalid, inaccessible or missing, or if it points to " @@ -1510,20 +1514,20 @@ msgid "" "distinguish between these cases." msgstr "" -#: ../../library/pathlib.rst:1173 +#: ../../library/pathlib.rst:1176 msgid "" "Return whether this path points to the same file as *other_path*, which can " "be either a Path object, or a string. The semantics are similar to :func:" "`os.path.samefile` and :func:`os.path.samestat`." msgstr "" -#: ../../library/pathlib.rst:1177 +#: ../../library/pathlib.rst:1180 msgid "" "An :exc:`OSError` can be raised if either file cannot be accessed for some " "reason." msgstr "" -#: ../../library/pathlib.rst:1182 +#: ../../library/pathlib.rst:1185 msgid "" ">>> p = Path('spam')\n" ">>> q = Path('eggs')\n" @@ -1533,7 +1537,7 @@ msgid "" "True" msgstr "" -#: ../../library/pathlib.rst:1194 +#: ../../library/pathlib.rst:1197 msgid "" "A :class:`~pathlib.types.PathInfo` object that supports querying file type " "information. The object exposes methods that cache their results, which can " @@ -1541,7 +1545,7 @@ msgid "" "For example::" msgstr "" -#: ../../library/pathlib.rst:1199 +#: ../../library/pathlib.rst:1202 msgid "" ">>> p = Path('src')\n" ">>> if p.info.is_symlink():\n" @@ -1556,7 +1560,7 @@ msgid "" "directory" msgstr "" -#: ../../library/pathlib.rst:1211 +#: ../../library/pathlib.rst:1214 msgid "" "If the path was generated from :meth:`Path.iterdir` then this attribute is " "initialized with some information about the file type gleaned from scanning " @@ -1564,7 +1568,7 @@ msgid "" "any filesystem queries." msgstr "" -#: ../../library/pathlib.rst:1216 +#: ../../library/pathlib.rst:1219 msgid "" "To fetch up-to-date information, it's best to call :meth:`Path.is_dir`, :" "meth:`~Path.is_file` and :meth:`~Path.is_symlink` rather than methods of " @@ -1572,17 +1576,17 @@ msgid "" "new path object with an empty info cache via ``p = Path(p)``." msgstr "" -#: ../../library/pathlib.rst:1225 +#: ../../library/pathlib.rst:1228 msgid "Reading and writing files" msgstr "" -#: ../../library/pathlib.rst:1230 +#: ../../library/pathlib.rst:1233 msgid "" "Open the file pointed to by the path, like the built-in :func:`open` " "function does::" msgstr "" -#: ../../library/pathlib.rst:1233 +#: ../../library/pathlib.rst:1236 msgid "" ">>> p = Path('setup.py')\n" ">>> with p.open() as f:\n" @@ -1591,11 +1595,11 @@ msgid "" "'#!/usr/bin/env python3\\n'" msgstr "" -#: ../../library/pathlib.rst:1242 +#: ../../library/pathlib.rst:1245 msgid "Return the decoded contents of the pointed-to file as a string::" msgstr "" -#: ../../library/pathlib.rst:1244 ../../library/pathlib.rst:1277 +#: ../../library/pathlib.rst:1247 ../../library/pathlib.rst:1280 msgid "" ">>> p = Path('my_text_file')\n" ">>> p.write_text('Text file contents')\n" @@ -1604,21 +1608,21 @@ msgid "" "'Text file contents'" msgstr "" -#: ../../library/pathlib.rst:1250 +#: ../../library/pathlib.rst:1253 msgid "" "The file is opened and then closed. The optional parameters have the same " "meaning as in :func:`open`." msgstr "" -#: ../../library/pathlib.rst:1255 ../../library/pathlib.rst:1288 +#: ../../library/pathlib.rst:1258 ../../library/pathlib.rst:1291 msgid "The *newline* parameter was added." msgstr "" -#: ../../library/pathlib.rst:1261 +#: ../../library/pathlib.rst:1264 msgid "Return the binary contents of the pointed-to file as a bytes object::" msgstr "" -#: ../../library/pathlib.rst:1263 ../../library/pathlib.rst:1297 +#: ../../library/pathlib.rst:1266 ../../library/pathlib.rst:1300 msgid "" ">>> p = Path('my_binary_file')\n" ">>> p.write_bytes(b'Binary file contents')\n" @@ -1627,39 +1631,39 @@ msgid "" "b'Binary file contents'" msgstr "" -#: ../../library/pathlib.rst:1274 +#: ../../library/pathlib.rst:1277 msgid "" "Open the file pointed to in text mode, write *data* to it, and close the " "file::" msgstr "" -#: ../../library/pathlib.rst:1283 +#: ../../library/pathlib.rst:1286 msgid "" "An existing file of the same name is overwritten. The optional parameters " "have the same meaning as in :func:`open`." msgstr "" -#: ../../library/pathlib.rst:1294 +#: ../../library/pathlib.rst:1297 msgid "" "Open the file pointed to in bytes mode, write *data* to it, and close the " "file::" msgstr "" -#: ../../library/pathlib.rst:1303 +#: ../../library/pathlib.rst:1306 msgid "An existing file of the same name is overwritten." msgstr "" -#: ../../library/pathlib.rst:1309 +#: ../../library/pathlib.rst:1312 msgid "Reading directories" msgstr "" -#: ../../library/pathlib.rst:1313 +#: ../../library/pathlib.rst:1316 msgid "" "When the path points to a directory, yield path objects of the directory " "contents::" msgstr "" -#: ../../library/pathlib.rst:1316 +#: ../../library/pathlib.rst:1319 msgid "" ">>> p = Path('docs')\n" ">>> for child in p.iterdir(): child\n" @@ -1673,7 +1677,7 @@ msgid "" "PosixPath('docs/Makefile')" msgstr "" -#: ../../library/pathlib.rst:1327 +#: ../../library/pathlib.rst:1330 msgid "" "The children are yielded in arbitrary order, and the special entries ``'.'`` " "and ``'..'`` are not included. If a file is removed from or added to the " @@ -1681,19 +1685,19 @@ msgid "" "object for that file is included." msgstr "" -#: ../../library/pathlib.rst:1332 +#: ../../library/pathlib.rst:1335 msgid "" "If the path is not a directory or otherwise inaccessible, :exc:`OSError` is " "raised." msgstr "" -#: ../../library/pathlib.rst:1338 +#: ../../library/pathlib.rst:1341 msgid "" "Glob the given relative *pattern* in the directory represented by this path, " "yielding all matching files (of any kind)::" msgstr "" -#: ../../library/pathlib.rst:1341 +#: ../../library/pathlib.rst:1344 msgid "" ">>> sorted(Path('.').glob('*.py'))\n" "[PosixPath('pathlib.py'), PosixPath('setup.py'), PosixPath('test_pathlib." @@ -1708,13 +1712,13 @@ msgid "" " PosixPath('test_pathlib.py')]" msgstr "" -#: ../../library/pathlib.rst:1353 ../../library/pathlib.rst:1396 +#: ../../library/pathlib.rst:1356 ../../library/pathlib.rst:1399 msgid "" "The paths are returned in no particular order. If you need a specific order, " "sort the results." msgstr "" -#: ../../library/pathlib.rst:1359 +#: ../../library/pathlib.rst:1362 msgid "" "By default, or when the *case_sensitive* keyword-only argument is set to " "``None``, this method matches paths using platform-specific casing rules: " @@ -1722,67 +1726,67 @@ msgid "" "*case_sensitive* to ``True`` or ``False`` to override this behaviour." msgstr "" -#: ../../library/pathlib.rst:1364 +#: ../../library/pathlib.rst:1367 msgid "" "By default, or when the *recurse_symlinks* keyword-only argument is set to " "``False``, this method follows symlinks except when expanding \"``**``\" " "wildcards. Set *recurse_symlinks* to ``True`` to always follow symlinks." msgstr "" -#: ../../library/pathlib.rst:1369 ../../library/pathlib.rst:1400 +#: ../../library/pathlib.rst:1372 ../../library/pathlib.rst:1403 msgid "" "Any :exc:`OSError` exceptions raised from scanning the filesystem are " "suppressed. This includes :exc:`PermissionError` when accessing directories " "without read permission." msgstr "" -#: ../../library/pathlib.rst:1373 +#: ../../library/pathlib.rst:1376 msgid "" "Raises an :ref:`auditing event ` ``pathlib.Path.glob`` with " "arguments ``self``, ``pattern``." msgstr "" -#: ../../library/pathlib.rst:1378 ../../library/pathlib.rst:1412 +#: ../../library/pathlib.rst:1381 ../../library/pathlib.rst:1415 msgid "The *recurse_symlinks* parameter was added." msgstr "" -#: ../../library/pathlib.rst:1384 +#: ../../library/pathlib.rst:1387 msgid "" "Any :exc:`OSError` exceptions raised from scanning the filesystem are " "suppressed. In previous versions, such exceptions are suppressed in many " "cases, but not all." msgstr "" -#: ../../library/pathlib.rst:1392 +#: ../../library/pathlib.rst:1395 msgid "" "Glob the given relative *pattern* recursively. This is like calling :func:" "`Path.glob` with \"``**/``\" added in front of the *pattern*." msgstr "" -#: ../../library/pathlib.rst:1405 +#: ../../library/pathlib.rst:1408 msgid ":ref:`pathlib-pattern-language` and :meth:`Path.glob` documentation." msgstr "" -#: ../../library/pathlib.rst:1407 +#: ../../library/pathlib.rst:1410 msgid "" "Raises an :ref:`auditing event ` ``pathlib.Path.rglob`` with " "arguments ``self``, ``pattern``." msgstr "" -#: ../../library/pathlib.rst:1421 +#: ../../library/pathlib.rst:1424 msgid "" "Generate the file names in a directory tree by walking the tree either top-" "down or bottom-up." msgstr "" -#: ../../library/pathlib.rst:1424 +#: ../../library/pathlib.rst:1427 msgid "" "For each directory in the directory tree rooted at *self* (including *self* " "but excluding '.' and '..'), the method yields a 3-tuple of ``(dirpath, " "dirnames, filenames)``." msgstr "" -#: ../../library/pathlib.rst:1428 +#: ../../library/pathlib.rst:1431 msgid "" "*dirpath* is a :class:`Path` to the directory currently being walked, " "*dirnames* is a list of strings for the names of subdirectories in *dirpath* " @@ -1792,7 +1796,7 @@ msgid "" "name``. Whether or not the lists are sorted is file system-dependent." msgstr "" -#: ../../library/pathlib.rst:1436 +#: ../../library/pathlib.rst:1439 msgid "" "If the optional argument *top_down* is true (which is the default), the " "triple for a directory is generated before the triples for any of its " @@ -1803,7 +1807,7 @@ msgid "" "the directory and its subdirectories are walked." msgstr "" -#: ../../library/pathlib.rst:1444 +#: ../../library/pathlib.rst:1447 msgid "" "When *top_down* is true, the caller can modify the *dirnames* list in-place " "(for example, using :keyword:`del` or slice assignment), and :meth:`Path." @@ -1816,7 +1820,7 @@ msgid "" "generated by the time *dirnames* is yielded to the caller." msgstr "" -#: ../../library/pathlib.rst:1454 +#: ../../library/pathlib.rst:1457 msgid "" "By default, errors from :func:`os.scandir` are ignored. If the optional " "argument *on_error* is specified, it should be a callable; it will be called " @@ -1825,7 +1829,7 @@ msgid "" "filename is available as the ``filename`` attribute of the exception object." msgstr "" -#: ../../library/pathlib.rst:1460 +#: ../../library/pathlib.rst:1463 msgid "" "By default, :meth:`Path.walk` does not follow symbolic links, and instead " "adds them to the *filenames* list. Set *follow_symlinks* to true to resolve " @@ -1834,14 +1838,14 @@ msgid "" "(where supported)." msgstr "" -#: ../../library/pathlib.rst:1467 +#: ../../library/pathlib.rst:1470 msgid "" "Be aware that setting *follow_symlinks* to true can lead to infinite " "recursion if a link points to a parent directory of itself. :meth:`Path." "walk` does not keep track of the directories it has already visited." msgstr "" -#: ../../library/pathlib.rst:1472 +#: ../../library/pathlib.rst:1475 msgid "" ":meth:`Path.walk` assumes the directories it walks are not modified during " "execution. For example, if a directory from *dirnames* has been replaced " @@ -1850,19 +1854,19 @@ msgid "" "*dirnames* as appropriate." msgstr "" -#: ../../library/pathlib.rst:1480 +#: ../../library/pathlib.rst:1483 msgid "" "Unlike :func:`os.walk`, :meth:`Path.walk` lists symlinks to directories in " "*filenames* if *follow_symlinks* is false." msgstr "" -#: ../../library/pathlib.rst:1483 +#: ../../library/pathlib.rst:1486 msgid "" "This example displays the number of bytes used by all files in each " "directory, while ignoring ``__pycache__`` directories::" msgstr "" -#: ../../library/pathlib.rst:1486 +#: ../../library/pathlib.rst:1489 msgid "" "from pathlib import Path\n" "for root, dirs, files in Path(\"cpython/Lib/concurrent\")." @@ -1879,14 +1883,14 @@ msgid "" " dirs.remove('__pycache__')" msgstr "" -#: ../../library/pathlib.rst:1499 +#: ../../library/pathlib.rst:1502 msgid "" "This next example is a simple implementation of :func:`shutil.rmtree`. " "Walking the tree bottom-up is essential as :func:`rmdir` doesn't allow " "deleting a directory before it is empty::" msgstr "" -#: ../../library/pathlib.rst:1503 +#: ../../library/pathlib.rst:1506 msgid "" "# Delete everything reachable from the directory \"top\".\n" "# CAUTION: This is dangerous! For example, if top == Path('/'),\n" @@ -1898,11 +1902,11 @@ msgid "" " (root / name).rmdir()" msgstr "" -#: ../../library/pathlib.rst:1516 +#: ../../library/pathlib.rst:1519 msgid "Creating files and directories" msgstr "" -#: ../../library/pathlib.rst:1520 +#: ../../library/pathlib.rst:1523 msgid "" "Create a file at this given path. If *mode* is given, it is combined with " "the process's ``umask`` value to determine the file mode and access flags. " @@ -1911,54 +1915,54 @@ msgid "" "`FileExistsError` is raised." msgstr "" -#: ../../library/pathlib.rst:1527 +#: ../../library/pathlib.rst:1530 msgid "" "The :meth:`~Path.open`, :meth:`~Path.write_text` and :meth:`~Path." "write_bytes` methods are often used to create files." msgstr "" -#: ../../library/pathlib.rst:1533 +#: ../../library/pathlib.rst:1536 msgid "" "Create a new directory at this given path. If *mode* is given, it is " "combined with the process's ``umask`` value to determine the file mode and " "access flags. If the path already exists, :exc:`FileExistsError` is raised." msgstr "" -#: ../../library/pathlib.rst:1538 +#: ../../library/pathlib.rst:1541 msgid "" "If *parents* is true, any missing parents of this path are created as " "needed; they are created with the default permissions without taking *mode* " "into account (mimicking the POSIX ``mkdir -p`` command)." msgstr "" -#: ../../library/pathlib.rst:1542 +#: ../../library/pathlib.rst:1545 msgid "" "If *parents* is false (the default), a missing parent raises :exc:" "`FileNotFoundError`." msgstr "" -#: ../../library/pathlib.rst:1545 +#: ../../library/pathlib.rst:1548 msgid "" "If *exist_ok* is false (the default), :exc:`FileExistsError` is raised if " "the target directory already exists." msgstr "" -#: ../../library/pathlib.rst:1548 +#: ../../library/pathlib.rst:1551 msgid "" "If *exist_ok* is true, :exc:`FileExistsError` will not be raised unless the " "given path already exists in the file system and is not a directory (same " "behavior as the POSIX ``mkdir -p`` command)." msgstr "" -#: ../../library/pathlib.rst:1552 +#: ../../library/pathlib.rst:1555 msgid "The *exist_ok* parameter was added." msgstr "" -#: ../../library/pathlib.rst:1558 +#: ../../library/pathlib.rst:1561 msgid "Make this path a symbolic link pointing to *target*." msgstr "" -#: ../../library/pathlib.rst:1560 +#: ../../library/pathlib.rst:1563 msgid "" "On Windows, a symlink represents either a file or a directory, and does not " "morph to the target dynamically. If the target is present, the type of the " @@ -1967,7 +1971,7 @@ msgid "" "otherwise. On non-Windows platforms, *target_is_directory* is ignored." msgstr "" -#: ../../library/pathlib.rst:1568 +#: ../../library/pathlib.rst:1571 msgid "" ">>> p = Path('mylink')\n" ">>> p.symlink_to('setup.py')\n" @@ -1979,43 +1983,43 @@ msgid "" "8" msgstr "" -#: ../../library/pathlib.rst:1578 +#: ../../library/pathlib.rst:1581 msgid "" "The order of arguments (link, target) is the reverse of :func:`os.symlink`'s." msgstr "" -#: ../../library/pathlib.rst:1581 +#: ../../library/pathlib.rst:1584 msgid "" "Raises :exc:`UnsupportedOperation` if :func:`os.symlink` is not available. " "In previous versions, :exc:`NotImplementedError` was raised." msgstr "" -#: ../../library/pathlib.rst:1588 +#: ../../library/pathlib.rst:1591 msgid "Make this path a hard link to the same file as *target*." msgstr "" -#: ../../library/pathlib.rst:1591 +#: ../../library/pathlib.rst:1594 msgid "" "The order of arguments (link, target) is the reverse of :func:`os.link`'s." msgstr "" -#: ../../library/pathlib.rst:1596 +#: ../../library/pathlib.rst:1599 msgid "" "Raises :exc:`UnsupportedOperation` if :func:`os.link` is not available. In " "previous versions, :exc:`NotImplementedError` was raised." msgstr "" -#: ../../library/pathlib.rst:1602 +#: ../../library/pathlib.rst:1605 msgid "Copying, moving and deleting" msgstr "" -#: ../../library/pathlib.rst:1606 +#: ../../library/pathlib.rst:1609 msgid "" "Copy this file or directory tree to the given *target*, and return a new :" "class:`!Path` instance pointing to *target*." msgstr "" -#: ../../library/pathlib.rst:1609 +#: ../../library/pathlib.rst:1612 msgid "" "If the source is a file, the target will be replaced if it is an existing " "file. If the source is a symlink and *follow_symlinks* is true (the " @@ -2023,7 +2027,7 @@ msgid "" "recreated at the destination." msgstr "" -#: ../../library/pathlib.rst:1614 +#: ../../library/pathlib.rst:1617 msgid "" "If *preserve_metadata* is false (the default), only directory structures and " "file data are guaranteed to be copied. Set *preserve_metadata* to true to " @@ -2033,21 +2037,21 @@ msgid "" "always preserved)." msgstr "" -#: ../../library/pathlib.rst:1622 +#: ../../library/pathlib.rst:1625 msgid "" "Where supported by the operating system and file system, this method " "performs a lightweight copy, where data blocks are only copied when " "modified. This is known as copy-on-write." msgstr "" -#: ../../library/pathlib.rst:1632 +#: ../../library/pathlib.rst:1635 msgid "" "Copy this file or directory tree into the given *target_dir*, which should " "be an existing directory. Other arguments are handled identically to :meth:" "`Path.copy`. Returns a new :class:`!Path` instance pointing to the copy." msgstr "" -#: ../../library/pathlib.rst:1642 +#: ../../library/pathlib.rst:1645 msgid "" "Rename this file or directory to the given *target*, and return a new :class:" "`!Path` instance pointing to *target*. On Unix, if *target* exists and is a " @@ -2056,7 +2060,7 @@ msgid "" "either a string or another path object::" msgstr "" -#: ../../library/pathlib.rst:1648 +#: ../../library/pathlib.rst:1651 msgid "" ">>> p = Path('foo')\n" ">>> p.open('w').write('some text')\n" @@ -2068,37 +2072,37 @@ msgid "" "'some text'" msgstr "" -#: ../../library/pathlib.rst:1657 ../../library/pathlib.rst:1673 +#: ../../library/pathlib.rst:1660 ../../library/pathlib.rst:1676 msgid "" "The target path may be absolute or relative. Relative paths are interpreted " "relative to the current working directory, *not* the directory of the :class:" "`!Path` object." msgstr "" -#: ../../library/pathlib.rst:1661 +#: ../../library/pathlib.rst:1664 msgid "" "It is implemented in terms of :func:`os.rename` and gives the same " "guarantees." msgstr "" -#: ../../library/pathlib.rst:1663 ../../library/pathlib.rst:1677 +#: ../../library/pathlib.rst:1666 ../../library/pathlib.rst:1680 msgid "Added return value, return the new :class:`!Path` instance." msgstr "" -#: ../../library/pathlib.rst:1669 +#: ../../library/pathlib.rst:1672 msgid "" "Rename this file or directory to the given *target*, and return a new :class:" "`!Path` instance pointing to *target*. If *target* points to an existing " "file or empty directory, it will be unconditionally replaced." msgstr "" -#: ../../library/pathlib.rst:1683 +#: ../../library/pathlib.rst:1686 msgid "" "Move this file or directory tree to the given *target*, and return a new :" "class:`!Path` instance pointing to *target*." msgstr "" -#: ../../library/pathlib.rst:1686 +#: ../../library/pathlib.rst:1689 msgid "" "If the *target* doesn't exist it will be created. If both this path and the " "*target* are existing files, then the target is overwritten. If both paths " @@ -2106,98 +2110,98 @@ msgid "" "directory, then :exc:`OSError` is raised." msgstr "" -#: ../../library/pathlib.rst:1691 +#: ../../library/pathlib.rst:1694 msgid "" "If both paths are on the same filesystem, the move is performed with :func:" "`os.replace`. Otherwise, this path is copied (preserving metadata and " "symlinks) and then deleted." msgstr "" -#: ../../library/pathlib.rst:1700 +#: ../../library/pathlib.rst:1703 msgid "" "Move this file or directory tree into the given *target_dir*, which should " "be an existing directory. Returns a new :class:`!Path` instance pointing to " "the moved path." msgstr "" -#: ../../library/pathlib.rst:1709 +#: ../../library/pathlib.rst:1712 msgid "" "Remove this file or symbolic link. If the path points to a directory, use :" "func:`Path.rmdir` instead." msgstr "" -#: ../../library/pathlib.rst:1712 +#: ../../library/pathlib.rst:1715 msgid "" "If *missing_ok* is false (the default), :exc:`FileNotFoundError` is raised " "if the path does not exist." msgstr "" -#: ../../library/pathlib.rst:1715 +#: ../../library/pathlib.rst:1718 msgid "" "If *missing_ok* is true, :exc:`FileNotFoundError` exceptions will be ignored " "(same behavior as the POSIX ``rm -f`` command)." msgstr "" -#: ../../library/pathlib.rst:1718 +#: ../../library/pathlib.rst:1721 msgid "The *missing_ok* parameter was added." msgstr "" -#: ../../library/pathlib.rst:1724 +#: ../../library/pathlib.rst:1727 msgid "Remove this directory. The directory must be empty." msgstr "" -#: ../../library/pathlib.rst:1728 +#: ../../library/pathlib.rst:1731 msgid "Permissions and ownership" msgstr "" -#: ../../library/pathlib.rst:1732 +#: ../../library/pathlib.rst:1735 msgid "" "Return the name of the user owning the file. :exc:`KeyError` is raised if " "the file's user identifier (UID) isn't found in the system database." msgstr "" -#: ../../library/pathlib.rst:1735 +#: ../../library/pathlib.rst:1738 msgid "" "This method normally follows symlinks; to get the owner of the symlink, add " "the argument ``follow_symlinks=False``." msgstr "" -#: ../../library/pathlib.rst:1738 +#: ../../library/pathlib.rst:1741 msgid "" "Raises :exc:`UnsupportedOperation` if the :mod:`pwd` module is not " "available. In earlier versions, :exc:`NotImplementedError` was raised." msgstr "" -#: ../../library/pathlib.rst:1748 +#: ../../library/pathlib.rst:1751 msgid "" "Return the name of the group owning the file. :exc:`KeyError` is raised if " "the file's group identifier (GID) isn't found in the system database." msgstr "" -#: ../../library/pathlib.rst:1751 +#: ../../library/pathlib.rst:1754 msgid "" "This method normally follows symlinks; to get the group of the symlink, add " "the argument ``follow_symlinks=False``." msgstr "" -#: ../../library/pathlib.rst:1754 +#: ../../library/pathlib.rst:1757 msgid "" "Raises :exc:`UnsupportedOperation` if the :mod:`grp` module is not " "available. In earlier versions, :exc:`NotImplementedError` was raised." msgstr "" -#: ../../library/pathlib.rst:1764 +#: ../../library/pathlib.rst:1767 msgid "Change the file mode and permissions, like :func:`os.chmod`." msgstr "" -#: ../../library/pathlib.rst:1766 +#: ../../library/pathlib.rst:1769 msgid "" "This method normally follows symlinks. Some Unix flavours support changing " "permissions on the symlink itself; on these platforms you may add the " "argument ``follow_symlinks=False``, or use :meth:`~Path.lchmod`." msgstr "" -#: ../../library/pathlib.rst:1772 +#: ../../library/pathlib.rst:1775 msgid "" ">>> p = Path('setup.py')\n" ">>> p.stat().st_mode\n" @@ -2207,59 +2211,59 @@ msgid "" "33060" msgstr "" -#: ../../library/pathlib.rst:1785 +#: ../../library/pathlib.rst:1788 msgid "" "Like :meth:`Path.chmod` but, if the path points to a symbolic link, the " "symbolic link's mode is changed rather than its target's." msgstr "" -#: ../../library/pathlib.rst:1792 +#: ../../library/pathlib.rst:1795 msgid "Pattern language" msgstr "" -#: ../../library/pathlib.rst:1794 +#: ../../library/pathlib.rst:1797 msgid "" "The following wildcards are supported in patterns for :meth:`~PurePath." "full_match`, :meth:`~Path.glob` and :meth:`~Path.rglob`:" msgstr "" -#: ../../library/pathlib.rst:1797 +#: ../../library/pathlib.rst:1800 msgid "``**`` (entire segment)" msgstr "" -#: ../../library/pathlib.rst:1798 +#: ../../library/pathlib.rst:1801 msgid "Matches any number of file or directory segments, including zero." msgstr "" -#: ../../library/pathlib.rst:1799 +#: ../../library/pathlib.rst:1802 msgid "``*`` (entire segment)" msgstr "" -#: ../../library/pathlib.rst:1800 +#: ../../library/pathlib.rst:1803 msgid "Matches one file or directory segment." msgstr "" -#: ../../library/pathlib.rst:1801 +#: ../../library/pathlib.rst:1804 msgid "``*`` (part of a segment)" msgstr "" -#: ../../library/pathlib.rst:1802 +#: ../../library/pathlib.rst:1805 msgid "Matches any number of non-separator characters, including zero." msgstr "" -#: ../../library/pathlib.rst:1803 +#: ../../library/pathlib.rst:1806 msgid "``?``" msgstr "" -#: ../../library/pathlib.rst:1804 +#: ../../library/pathlib.rst:1807 msgid "Matches one non-separator character." msgstr "" -#: ../../library/pathlib.rst:1805 +#: ../../library/pathlib.rst:1808 msgid "``[seq]``" msgstr "" -#: ../../library/pathlib.rst:1806 +#: ../../library/pathlib.rst:1809 msgid "" "Matches one character in *seq*, where *seq* is a sequence of characters. " "Range expressions are supported; for example, ``[a-z]`` matches any " @@ -2267,134 +2271,134 @@ msgid "" "matches any ASCII letter, digit, or underscore." msgstr "" -#: ../../library/pathlib.rst:1810 +#: ../../library/pathlib.rst:1813 msgid "``[!seq]``" msgstr "" -#: ../../library/pathlib.rst:1811 +#: ../../library/pathlib.rst:1814 msgid "" "Matches one character not in *seq*, where *seq* follows the same rules as " "above." msgstr "" -#: ../../library/pathlib.rst:1813 +#: ../../library/pathlib.rst:1816 msgid "" "For a literal match, wrap the meta-characters in brackets. For example, " "``\"[?]\"`` matches the character ``\"?\"``." msgstr "" -#: ../../library/pathlib.rst:1816 +#: ../../library/pathlib.rst:1819 msgid "The \"``**``\" wildcard enables recursive globbing. A few examples:" msgstr "" -#: ../../library/pathlib.rst:1819 +#: ../../library/pathlib.rst:1822 msgid "Pattern" msgstr "" -#: ../../library/pathlib.rst:1819 +#: ../../library/pathlib.rst:1822 msgid "Meaning" msgstr "" -#: ../../library/pathlib.rst:1821 +#: ../../library/pathlib.rst:1824 msgid "\"``**/*``\"" msgstr "" -#: ../../library/pathlib.rst:1821 +#: ../../library/pathlib.rst:1824 msgid "Any path with at least one segment." msgstr "" -#: ../../library/pathlib.rst:1822 +#: ../../library/pathlib.rst:1825 msgid "\"``**/*.py``\"" msgstr "" -#: ../../library/pathlib.rst:1822 +#: ../../library/pathlib.rst:1825 msgid "Any path with a final segment ending \"``.py``\"." msgstr "" -#: ../../library/pathlib.rst:1823 +#: ../../library/pathlib.rst:1826 msgid "\"``assets/**``\"" msgstr "" -#: ../../library/pathlib.rst:1823 +#: ../../library/pathlib.rst:1826 msgid "Any path starting with \"``assets/``\"." msgstr "" -#: ../../library/pathlib.rst:1824 +#: ../../library/pathlib.rst:1827 msgid "\"``assets/**/*``\"" msgstr "" -#: ../../library/pathlib.rst:1824 +#: ../../library/pathlib.rst:1827 msgid "" "Any path starting with \"``assets/``\", excluding \"``assets/``\" itself." msgstr "" -#: ../../library/pathlib.rst:1828 +#: ../../library/pathlib.rst:1831 msgid "" "Globbing with the \"``**``\" wildcard visits every directory in the tree. " "Large directory trees may take a long time to search." msgstr "" -#: ../../library/pathlib.rst:1831 +#: ../../library/pathlib.rst:1834 msgid "" "Globbing with a pattern that ends with \"``**``\" returns both files and " "directories. In previous versions, only directories were returned." msgstr "" -#: ../../library/pathlib.rst:1835 +#: ../../library/pathlib.rst:1838 msgid "" "In :meth:`Path.glob` and :meth:`~Path.rglob`, a trailing slash may be added " "to the pattern to match only directories." msgstr "" -#: ../../library/pathlib.rst:1838 +#: ../../library/pathlib.rst:1841 msgid "" "Globbing with a pattern that ends with a pathname components separator (:" "data:`~os.sep` or :data:`~os.altsep`) returns only directories." msgstr "" -#: ../../library/pathlib.rst:1844 +#: ../../library/pathlib.rst:1847 msgid "Comparison to the :mod:`glob` module" msgstr "" -#: ../../library/pathlib.rst:1846 +#: ../../library/pathlib.rst:1849 msgid "" "The patterns accepted and results generated by :meth:`Path.glob` and :meth:" "`Path.rglob` differ slightly from those by the :mod:`glob` module:" msgstr "" -#: ../../library/pathlib.rst:1849 +#: ../../library/pathlib.rst:1852 msgid "" "Files beginning with a dot are not special in pathlib. This is like passing " "``include_hidden=True`` to :func:`glob.glob`." msgstr "" -#: ../../library/pathlib.rst:1851 +#: ../../library/pathlib.rst:1854 msgid "" "\"``**``\" pattern components are always recursive in pathlib. This is like " "passing ``recursive=True`` to :func:`glob.glob`." msgstr "" -#: ../../library/pathlib.rst:1853 +#: ../../library/pathlib.rst:1856 msgid "" "\"``**``\" pattern components do not follow symlinks by default in pathlib. " "This behaviour has no equivalent in :func:`glob.glob`, but you can pass " "``recurse_symlinks=True`` to :meth:`Path.glob` for compatible behaviour." msgstr "" -#: ../../library/pathlib.rst:1856 +#: ../../library/pathlib.rst:1859 msgid "" "Like all :class:`PurePath` and :class:`Path` objects, the values returned " "from :meth:`Path.glob` and :meth:`Path.rglob` don't include trailing slashes." msgstr "" -#: ../../library/pathlib.rst:1859 +#: ../../library/pathlib.rst:1862 msgid "" "The values returned from pathlib's ``path.glob()`` and ``path.rglob()`` " "include the *path* as a prefix, unlike the results of ``glob." "glob(root_dir=path)``." msgstr "" -#: ../../library/pathlib.rst:1862 +#: ../../library/pathlib.rst:1865 msgid "" "The values returned from pathlib's ``path.glob()`` and ``path.rglob()`` may " "include *path* itself, for example when globbing \"``**``\", whereas the " @@ -2402,11 +2406,11 @@ msgid "" "would correspond to *path*." msgstr "" -#: ../../library/pathlib.rst:1869 +#: ../../library/pathlib.rst:1872 msgid "Comparison to the :mod:`os` and :mod:`os.path` modules" msgstr "" -#: ../../library/pathlib.rst:1871 +#: ../../library/pathlib.rst:1874 msgid "" "pathlib implements path operations using :class:`PurePath` and :class:`Path` " "objects, and so it's said to be *object-oriented*. On the other hand, the :" @@ -2415,21 +2419,21 @@ msgid "" "Some users consider the object-oriented style to be more readable." msgstr "" -#: ../../library/pathlib.rst:1877 +#: ../../library/pathlib.rst:1880 msgid "" "Many functions in :mod:`os` and :mod:`os.path` support ``bytes`` paths and :" "ref:`paths relative to directory descriptors `. These features " "aren't available in pathlib." msgstr "" -#: ../../library/pathlib.rst:1881 +#: ../../library/pathlib.rst:1884 msgid "" "Python's ``str`` and ``bytes`` types, and portions of the :mod:`os` and :mod:" "`os.path` modules, are written in C and are very speedy. pathlib is written " "in pure Python and is often slower, but rarely slow enough to matter." msgstr "" -#: ../../library/pathlib.rst:1885 +#: ../../library/pathlib.rst:1888 msgid "" "pathlib's path normalization is slightly more opinionated and consistent " "than :mod:`os.path`. For example, whereas :func:`os.path.abspath` eliminates " @@ -2438,12 +2442,12 @@ msgid "" "safety." msgstr "" -#: ../../library/pathlib.rst:1890 +#: ../../library/pathlib.rst:1893 msgid "" "pathlib's path normalization may render it unsuitable for some applications:" msgstr "" -#: ../../library/pathlib.rst:1892 +#: ../../library/pathlib.rst:1895 msgid "" "pathlib normalizes ``Path(\"my_folder/\")`` to ``Path(\"my_folder\")``, " "which changes a path's meaning when supplied to various operating system " @@ -2452,7 +2456,7 @@ msgid "" "rather than a directory only." msgstr "" -#: ../../library/pathlib.rst:1897 +#: ../../library/pathlib.rst:1900 msgid "" "pathlib normalizes ``Path(\"./my_program\")`` to ``Path(\"my_program\")``, " "which changes a path's meaning when used as an executable search path, such " @@ -2461,283 +2465,283 @@ msgid "" "rather than the current directory." msgstr "" -#: ../../library/pathlib.rst:1903 +#: ../../library/pathlib.rst:1906 msgid "" "As a consequence of these differences, pathlib is not a drop-in replacement " "for :mod:`os.path`." msgstr "" -#: ../../library/pathlib.rst:1908 +#: ../../library/pathlib.rst:1911 msgid "Corresponding tools" msgstr "" -#: ../../library/pathlib.rst:1910 +#: ../../library/pathlib.rst:1913 msgid "" "Below is a table mapping various :mod:`os` functions to their corresponding :" "class:`PurePath`/:class:`Path` equivalent." msgstr "" -#: ../../library/pathlib.rst:1914 +#: ../../library/pathlib.rst:1917 msgid ":mod:`os` and :mod:`os.path`" msgstr "" -#: ../../library/pathlib.rst:1914 +#: ../../library/pathlib.rst:1917 msgid ":mod:`!pathlib`" msgstr "" -#: ../../library/pathlib.rst:1916 +#: ../../library/pathlib.rst:1919 msgid ":func:`os.path.dirname`" msgstr "" -#: ../../library/pathlib.rst:1916 +#: ../../library/pathlib.rst:1919 msgid ":attr:`PurePath.parent`" msgstr "" -#: ../../library/pathlib.rst:1917 +#: ../../library/pathlib.rst:1920 msgid ":func:`os.path.basename`" msgstr "" -#: ../../library/pathlib.rst:1917 +#: ../../library/pathlib.rst:1920 msgid ":attr:`PurePath.name`" msgstr "" -#: ../../library/pathlib.rst:1918 +#: ../../library/pathlib.rst:1921 msgid ":func:`os.path.splitext`" msgstr "" -#: ../../library/pathlib.rst:1918 +#: ../../library/pathlib.rst:1921 msgid ":attr:`PurePath.stem`, :attr:`PurePath.suffix`" msgstr "" -#: ../../library/pathlib.rst:1919 +#: ../../library/pathlib.rst:1922 msgid ":func:`os.path.join`" msgstr "" -#: ../../library/pathlib.rst:1919 +#: ../../library/pathlib.rst:1922 msgid ":meth:`PurePath.joinpath`" msgstr "" -#: ../../library/pathlib.rst:1920 +#: ../../library/pathlib.rst:1923 msgid ":func:`os.path.isabs`" msgstr "" -#: ../../library/pathlib.rst:1920 +#: ../../library/pathlib.rst:1923 msgid ":meth:`PurePath.is_absolute`" msgstr "" -#: ../../library/pathlib.rst:1921 +#: ../../library/pathlib.rst:1924 msgid ":func:`os.path.relpath`" msgstr "" -#: ../../library/pathlib.rst:1921 +#: ../../library/pathlib.rst:1924 msgid ":meth:`PurePath.relative_to` [1]_" msgstr "" -#: ../../library/pathlib.rst:1922 +#: ../../library/pathlib.rst:1925 msgid ":func:`os.path.expanduser`" msgstr "" -#: ../../library/pathlib.rst:1922 +#: ../../library/pathlib.rst:1925 msgid ":meth:`Path.expanduser` [2]_" msgstr "" -#: ../../library/pathlib.rst:1923 +#: ../../library/pathlib.rst:1926 msgid ":func:`os.path.realpath`" msgstr "" -#: ../../library/pathlib.rst:1923 +#: ../../library/pathlib.rst:1926 msgid ":meth:`Path.resolve`" msgstr "" -#: ../../library/pathlib.rst:1924 +#: ../../library/pathlib.rst:1927 msgid ":func:`os.path.abspath`" msgstr "" -#: ../../library/pathlib.rst:1924 +#: ../../library/pathlib.rst:1927 msgid ":meth:`Path.absolute` [3]_" msgstr "" -#: ../../library/pathlib.rst:1925 +#: ../../library/pathlib.rst:1928 msgid ":func:`os.path.exists`" msgstr "" -#: ../../library/pathlib.rst:1925 +#: ../../library/pathlib.rst:1928 msgid ":meth:`Path.exists`" msgstr "" -#: ../../library/pathlib.rst:1926 +#: ../../library/pathlib.rst:1929 msgid ":func:`os.path.isfile`" msgstr "" -#: ../../library/pathlib.rst:1926 +#: ../../library/pathlib.rst:1929 msgid ":meth:`Path.is_file`" msgstr "" -#: ../../library/pathlib.rst:1927 +#: ../../library/pathlib.rst:1930 msgid ":func:`os.path.isdir`" msgstr "" -#: ../../library/pathlib.rst:1927 +#: ../../library/pathlib.rst:1930 msgid ":meth:`Path.is_dir`" msgstr "" -#: ../../library/pathlib.rst:1928 +#: ../../library/pathlib.rst:1931 msgid ":func:`os.path.islink`" msgstr "" -#: ../../library/pathlib.rst:1928 +#: ../../library/pathlib.rst:1931 msgid ":meth:`Path.is_symlink`" msgstr "" -#: ../../library/pathlib.rst:1929 +#: ../../library/pathlib.rst:1932 msgid ":func:`os.path.isjunction`" msgstr "" -#: ../../library/pathlib.rst:1929 +#: ../../library/pathlib.rst:1932 msgid ":meth:`Path.is_junction`" msgstr "" -#: ../../library/pathlib.rst:1930 +#: ../../library/pathlib.rst:1933 msgid ":func:`os.path.ismount`" msgstr "" -#: ../../library/pathlib.rst:1930 +#: ../../library/pathlib.rst:1933 msgid ":meth:`Path.is_mount`" msgstr "" -#: ../../library/pathlib.rst:1931 +#: ../../library/pathlib.rst:1934 msgid ":func:`os.path.samefile`" msgstr "" -#: ../../library/pathlib.rst:1931 +#: ../../library/pathlib.rst:1934 msgid ":meth:`Path.samefile`" msgstr "" -#: ../../library/pathlib.rst:1932 +#: ../../library/pathlib.rst:1935 msgid ":func:`os.getcwd`" msgstr "" -#: ../../library/pathlib.rst:1932 +#: ../../library/pathlib.rst:1935 msgid ":meth:`Path.cwd`" msgstr "" -#: ../../library/pathlib.rst:1933 +#: ../../library/pathlib.rst:1936 msgid ":func:`os.stat`" msgstr "" -#: ../../library/pathlib.rst:1933 +#: ../../library/pathlib.rst:1936 msgid ":meth:`Path.stat`" msgstr "" -#: ../../library/pathlib.rst:1934 +#: ../../library/pathlib.rst:1937 msgid ":func:`os.lstat`" msgstr "" -#: ../../library/pathlib.rst:1934 +#: ../../library/pathlib.rst:1937 msgid ":meth:`Path.lstat`" msgstr "" -#: ../../library/pathlib.rst:1935 +#: ../../library/pathlib.rst:1938 msgid ":func:`os.listdir`" msgstr "" -#: ../../library/pathlib.rst:1935 +#: ../../library/pathlib.rst:1938 msgid ":meth:`Path.iterdir`" msgstr "" -#: ../../library/pathlib.rst:1936 +#: ../../library/pathlib.rst:1939 msgid ":func:`os.walk`" msgstr "" -#: ../../library/pathlib.rst:1936 +#: ../../library/pathlib.rst:1939 msgid ":meth:`Path.walk` [4]_" msgstr "" -#: ../../library/pathlib.rst:1937 +#: ../../library/pathlib.rst:1940 msgid ":func:`os.mkdir`, :func:`os.makedirs`" msgstr "" -#: ../../library/pathlib.rst:1937 +#: ../../library/pathlib.rst:1940 msgid ":meth:`Path.mkdir`" msgstr "" -#: ../../library/pathlib.rst:1938 +#: ../../library/pathlib.rst:1941 msgid ":func:`os.link`" msgstr "" -#: ../../library/pathlib.rst:1938 +#: ../../library/pathlib.rst:1941 msgid ":meth:`Path.hardlink_to`" msgstr "" -#: ../../library/pathlib.rst:1939 +#: ../../library/pathlib.rst:1942 msgid ":func:`os.symlink`" msgstr "" -#: ../../library/pathlib.rst:1939 +#: ../../library/pathlib.rst:1942 msgid ":meth:`Path.symlink_to`" msgstr "" -#: ../../library/pathlib.rst:1940 +#: ../../library/pathlib.rst:1943 msgid ":func:`os.readlink`" msgstr "" -#: ../../library/pathlib.rst:1940 +#: ../../library/pathlib.rst:1943 msgid ":meth:`Path.readlink`" msgstr "" -#: ../../library/pathlib.rst:1941 +#: ../../library/pathlib.rst:1944 msgid ":func:`os.rename`" msgstr "" -#: ../../library/pathlib.rst:1941 +#: ../../library/pathlib.rst:1944 msgid ":meth:`Path.rename`" msgstr "" -#: ../../library/pathlib.rst:1942 +#: ../../library/pathlib.rst:1945 msgid ":func:`os.replace`" msgstr "" -#: ../../library/pathlib.rst:1942 +#: ../../library/pathlib.rst:1945 msgid ":meth:`Path.replace`" msgstr "" -#: ../../library/pathlib.rst:1943 +#: ../../library/pathlib.rst:1946 msgid ":func:`os.remove`, :func:`os.unlink`" msgstr "" -#: ../../library/pathlib.rst:1943 +#: ../../library/pathlib.rst:1946 msgid ":meth:`Path.unlink`" msgstr "" -#: ../../library/pathlib.rst:1944 +#: ../../library/pathlib.rst:1947 msgid ":func:`os.rmdir`" msgstr "" -#: ../../library/pathlib.rst:1944 +#: ../../library/pathlib.rst:1947 msgid ":meth:`Path.rmdir`" msgstr "" -#: ../../library/pathlib.rst:1945 +#: ../../library/pathlib.rst:1948 msgid ":func:`os.chmod`" msgstr "" -#: ../../library/pathlib.rst:1945 +#: ../../library/pathlib.rst:1948 msgid ":meth:`Path.chmod`" msgstr "" -#: ../../library/pathlib.rst:1946 +#: ../../library/pathlib.rst:1949 msgid ":func:`os.lchmod`" msgstr "" -#: ../../library/pathlib.rst:1946 +#: ../../library/pathlib.rst:1949 msgid ":meth:`Path.lchmod`" msgstr "" -#: ../../library/pathlib.rst:1950 +#: ../../library/pathlib.rst:1953 msgid "Footnotes" msgstr "" -#: ../../library/pathlib.rst:1951 +#: ../../library/pathlib.rst:1954 msgid "" ":func:`os.path.relpath` calls :func:`~os.path.abspath` to make paths " "absolute and remove \"``..``\" parts, whereas :meth:`PurePath.relative_to` " @@ -2745,84 +2749,84 @@ msgid "" "anchors differ (e.g. if one path is absolute and the other relative.)" msgstr "" -#: ../../library/pathlib.rst:1955 +#: ../../library/pathlib.rst:1958 msgid "" ":func:`os.path.expanduser` returns the path unchanged if the home directory " "can't be resolved, whereas :meth:`Path.expanduser` raises :exc:" "`RuntimeError`." msgstr "" -#: ../../library/pathlib.rst:1958 +#: ../../library/pathlib.rst:1961 msgid "" ":func:`os.path.abspath` removes \"``..``\" components without resolving " "symlinks, which may change the meaning of the path, whereas :meth:`Path." "absolute` leaves any \"``..``\" components in the path." msgstr "" -#: ../../library/pathlib.rst:1961 +#: ../../library/pathlib.rst:1964 msgid "" ":func:`os.walk` always follows symlinks when categorizing paths into " "*dirnames* and *filenames*, whereas :meth:`Path.walk` categorizes all " "symlinks into *filenames* when *follow_symlinks* is false (the default.)" msgstr "" -#: ../../library/pathlib.rst:1967 +#: ../../library/pathlib.rst:1970 msgid "Protocols" msgstr "" -#: ../../library/pathlib.rst:1973 +#: ../../library/pathlib.rst:1976 msgid "" "The :mod:`!pathlib.types` module provides types for static type checking." msgstr "" -#: ../../library/pathlib.rst:1980 +#: ../../library/pathlib.rst:1983 msgid "" "A :class:`typing.Protocol` describing the :attr:`Path.info ` attribute. Implementations may return cached results from their " "methods." msgstr "" -#: ../../library/pathlib.rst:1986 +#: ../../library/pathlib.rst:1989 msgid "" "Return ``True`` if the path is an existing file or directory, or any other " "kind of file; return ``False`` if the path doesn't exist." msgstr "" -#: ../../library/pathlib.rst:1989 +#: ../../library/pathlib.rst:1992 msgid "" "If *follow_symlinks* is ``False``, return ``True`` for symlinks without " "checking if their targets exist." msgstr "" -#: ../../library/pathlib.rst:1994 +#: ../../library/pathlib.rst:1997 msgid "" "Return ``True`` if the path is a directory, or a symbolic link pointing to a " "directory; return ``False`` if the path is (or points to) any other kind of " "file, or if it doesn't exist." msgstr "" -#: ../../library/pathlib.rst:1998 +#: ../../library/pathlib.rst:2001 msgid "" "If *follow_symlinks* is ``False``, return ``True`` only if the path is a " "directory (without following symlinks); return ``False`` if the path is any " "other kind of file, or if it doesn't exist." msgstr "" -#: ../../library/pathlib.rst:2004 +#: ../../library/pathlib.rst:2007 msgid "" "Return ``True`` if the path is a file, or a symbolic link pointing to a " "file; return ``False`` if the path is (or points to) a directory or other " "non-file, or if it doesn't exist." msgstr "" -#: ../../library/pathlib.rst:2008 +#: ../../library/pathlib.rst:2011 msgid "" "If *follow_symlinks* is ``False``, return ``True`` only if the path is a " "file (without following symlinks); return ``False`` if the path is a " "directory or other non-file, or if it doesn't exist." msgstr "" -#: ../../library/pathlib.rst:2014 +#: ../../library/pathlib.rst:2017 msgid "" "Return ``True`` if the path is a symbolic link (even if broken); return " "``False`` if the path is a directory or any kind of file, or if it doesn't " diff --git a/library/socket.po b/library/socket.po index 22a840df..2dc4e60e 100644 --- a/library/socket.po +++ b/library/socket.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-05 16:53+0200\n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -1653,7 +1653,7 @@ msgid "" "arguments. This only affects how Python represents e.g. the return value " "of :meth:`socket.getpeername` but not the actual OS resource. Unlike :func:" "`socket.fromfd`, *fileno* will return the same socket and not a duplicate. " -"This may help close a detached socket using :meth:`socket.close`." +"This may help close a detached socket using :meth:`~socket.socket.close`." msgstr "" #: ../../library/socket.rst:1488 @@ -1711,7 +1711,7 @@ msgstr "" #: ../../library/socket.rst:1529 msgid "" "Support for the :term:`context manager` protocol was added. Exiting the " -"context manager is equivalent to calling :meth:`~socket.close`." +"context manager is equivalent to calling :meth:`~socket.socket.close`." msgstr "" #: ../../library/socket.rst:1536 @@ -1945,7 +1945,7 @@ msgstr "" msgid "" "Closing the file object returned by :meth:`makefile` won't close the " "original socket unless all other file objects have been closed and :meth:" -"`socket.close` has been called on the socket object." +"`~socket.socket.close` has been called on the socket object." msgstr "" #: ../../library/socket.rst:1760 diff --git a/library/statistics.po b/library/statistics.po index ef23330d..29037a64 100644 --- a/library/statistics.po +++ b/library/statistics.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-05 16:53+0200\n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" "PO-Revision-Date: 2025-09-16 00:01+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -522,7 +522,7 @@ msgid "" "If *cumulative* is true, will return a cumulative distribution function." msgstr "" -#: ../../library/statistics.rst:293 ../../library/statistics.rst:324 +#: ../../library/statistics.rst:293 ../../library/statistics.rst:329 msgid "" "A :exc:`StatisticsError` will be raised if the *data* sequence is empty." msgstr "" @@ -551,85 +551,93 @@ msgstr "" msgid "Scatter plot of the estimated probability density function." msgstr "" -#: ../../library/statistics.rst:317 +#: ../../library/statistics.rst:312 +msgid "" +"Because the returned ``f_hat`` function is typically called many times, it " +"caches the *data* for performance. To support dynamic datasets, this cache " +"automatically refreshes whenever the length of the *data* changes. This " +"allows new samples to be added as they become available." +msgstr "" + +#: ../../library/statistics.rst:322 msgid "" "Return a function that makes a random selection from the estimated " "probability density function produced by ``kde(data, h, kernel)``." msgstr "" -#: ../../library/statistics.rst:320 +#: ../../library/statistics.rst:325 msgid "" "Providing a *seed* allows reproducible selections. In the future, the values " "may change slightly as more accurate kernel inverse CDF estimates are " "implemented. The seed may be an integer, float, str, or bytes." msgstr "" -#: ../../library/statistics.rst:326 +#: ../../library/statistics.rst:331 msgid "" "Continuing the example for :func:`kde`, we can use :func:`kde_random` to " "generate new random selections from an estimated probability density " "function:" msgstr "" -#: ../../library/statistics.rst:341 +#: ../../library/statistics.rst:346 msgid "" "Return the median (middle value) of numeric data, using the common \"mean of " "middle two\" method. If *data* is empty, :exc:`StatisticsError` is raised. " "*data* can be a sequence or iterable." msgstr "" -#: ../../library/statistics.rst:345 +#: ../../library/statistics.rst:350 msgid "" "The median is a robust measure of central location and is less affected by " "the presence of outliers. When the number of data points is odd, the middle " "data point is returned:" msgstr "" -#: ../../library/statistics.rst:349 +#: ../../library/statistics.rst:354 msgid "" ">>> median([1, 3, 5])\n" "3" msgstr "" -#: ../../library/statistics.rst:354 +#: ../../library/statistics.rst:359 msgid "" "When the number of data points is even, the median is interpolated by taking " "the average of the two middle values:" msgstr "" -#: ../../library/statistics.rst:357 +#: ../../library/statistics.rst:362 msgid "" ">>> median([1, 3, 5, 7])\n" "4.0" msgstr "" -#: ../../library/statistics.rst:362 +#: ../../library/statistics.rst:367 msgid "" "This is suited for when your data is discrete, and you don't mind that the " "median may not be an actual data point." msgstr "" -#: ../../library/statistics.rst:365 +#: ../../library/statistics.rst:370 msgid "" "If the data is ordinal (supports order operations) but not numeric (doesn't " "support addition), consider using :func:`median_low` or :func:`median_high` " "instead." msgstr "" -#: ../../library/statistics.rst:371 +#: ../../library/statistics.rst:376 msgid "" "Return the low median of numeric data. If *data* is empty, :exc:" "`StatisticsError` is raised. *data* can be a sequence or iterable." msgstr "" -#: ../../library/statistics.rst:374 +#: ../../library/statistics.rst:379 msgid "" "The low median is always a member of the data set. When the number of data " "points is odd, the middle value is returned. When it is even, the smaller " "of the two middle values is returned." msgstr "" -#: ../../library/statistics.rst:378 +#: ../../library/statistics.rst:383 msgid "" ">>> median_low([1, 3, 5])\n" "3\n" @@ -637,26 +645,26 @@ msgid "" "3" msgstr "" -#: ../../library/statistics.rst:385 +#: ../../library/statistics.rst:390 msgid "" "Use the low median when your data are discrete and you prefer the median to " "be an actual data point rather than interpolated." msgstr "" -#: ../../library/statistics.rst:391 +#: ../../library/statistics.rst:396 msgid "" "Return the high median of data. If *data* is empty, :exc:`StatisticsError` " "is raised. *data* can be a sequence or iterable." msgstr "" -#: ../../library/statistics.rst:394 +#: ../../library/statistics.rst:399 msgid "" "The high median is always a member of the data set. When the number of data " "points is odd, the middle value is returned. When it is even, the larger of " "the two middle values is returned." msgstr "" -#: ../../library/statistics.rst:398 +#: ../../library/statistics.rst:403 msgid "" ">>> median_high([1, 3, 5])\n" "3\n" @@ -664,37 +672,37 @@ msgid "" "5" msgstr "" -#: ../../library/statistics.rst:405 +#: ../../library/statistics.rst:410 msgid "" "Use the high median when your data are discrete and you prefer the median to " "be an actual data point rather than interpolated." msgstr "" -#: ../../library/statistics.rst:411 +#: ../../library/statistics.rst:416 msgid "" "Estimates the median for numeric data that has been `grouped or binned " "`_ around the midpoints of " "consecutive, fixed-width intervals." msgstr "" -#: ../../library/statistics.rst:415 +#: ../../library/statistics.rst:420 msgid "" "The *data* can be any iterable of numeric data with each value being exactly " "the midpoint of a bin. At least one value must be present." msgstr "" -#: ../../library/statistics.rst:418 +#: ../../library/statistics.rst:423 msgid "The *interval* is the width of each bin." msgstr "" -#: ../../library/statistics.rst:420 +#: ../../library/statistics.rst:425 msgid "" "For example, demographic information may have been summarized into " "consecutive ten-year age groups with each group being represented by the 5-" "year midpoints of the intervals:" msgstr "" -#: ../../library/statistics.rst:424 +#: ../../library/statistics.rst:429 msgid "" ">>> from collections import Counter\n" ">>> demographics = Counter({\n" @@ -707,13 +715,13 @@ msgid "" "..." msgstr "" -#: ../../library/statistics.rst:436 +#: ../../library/statistics.rst:441 msgid "" "The 50th percentile (median) is the 536th person out of the 1071 member " "cohort. That person is in the 30 to 40 year old age group." msgstr "" -#: ../../library/statistics.rst:439 +#: ../../library/statistics.rst:444 msgid "" "The regular :func:`median` function would assume that everyone in the " "tricenarian age group was exactly 35 years old. A more tenable assumption " @@ -721,7 +729,7 @@ msgid "" "and 40. For that, we use :func:`median_grouped`:" msgstr "" -#: ../../library/statistics.rst:445 +#: ../../library/statistics.rst:450 msgid "" ">>> data = list(demographics.elements())\n" ">>> median(data)\n" @@ -730,27 +738,27 @@ msgid "" "37.5" msgstr "" -#: ../../library/statistics.rst:453 +#: ../../library/statistics.rst:458 msgid "" "The caller is responsible for making sure the data points are separated by " "exact multiples of *interval*. This is essential for getting a correct " "result. The function does not check this precondition." msgstr "" -#: ../../library/statistics.rst:457 +#: ../../library/statistics.rst:462 msgid "" "Inputs may be any numeric type that can be coerced to a float during the " "interpolation step." msgstr "" -#: ../../library/statistics.rst:463 +#: ../../library/statistics.rst:468 msgid "" "Return the single most common data point from discrete or nominal *data*. " "The mode (when it exists) is the most typical value and serves as a measure " "of central location." msgstr "" -#: ../../library/statistics.rst:467 +#: ../../library/statistics.rst:472 msgid "" "If there are multiple modes with the same frequency, returns the first one " "encountered in the *data*. If the smallest or largest of those is desired " @@ -758,32 +766,32 @@ msgid "" "input *data* is empty, :exc:`StatisticsError` is raised." msgstr "" -#: ../../library/statistics.rst:472 +#: ../../library/statistics.rst:477 msgid "" "``mode`` assumes discrete data and returns a single value. This is the " "standard treatment of the mode as commonly taught in schools:" msgstr "" -#: ../../library/statistics.rst:475 +#: ../../library/statistics.rst:480 msgid "" ">>> mode([1, 1, 2, 3, 3, 3, 3, 4])\n" "3" msgstr "" -#: ../../library/statistics.rst:480 +#: ../../library/statistics.rst:485 msgid "" "The mode is unique in that it is the only statistic in this package that " "also applies to nominal (non-numeric) data:" msgstr "" -#: ../../library/statistics.rst:483 +#: ../../library/statistics.rst:488 msgid "" ">>> mode([\"red\", \"blue\", \"blue\", \"red\", \"green\", \"red\", " "\"red\"])\n" "'red'" msgstr "" -#: ../../library/statistics.rst:488 +#: ../../library/statistics.rst:493 msgid "" "Only hashable inputs are supported. To handle type :class:`set`, consider " "casting to :class:`frozenset`. To handle type :class:`list`, consider " @@ -792,20 +800,20 @@ msgid "" "key=data.count)``." msgstr "" -#: ../../library/statistics.rst:494 +#: ../../library/statistics.rst:499 msgid "" "Now handles multimodal datasets by returning the first mode encountered. " "Formerly, it raised :exc:`StatisticsError` when more than one mode was found." msgstr "" -#: ../../library/statistics.rst:502 +#: ../../library/statistics.rst:507 msgid "" "Return a list of the most frequently occurring values in the order they were " "first encountered in the *data*. Will return more than one result if there " "are multiple modes or an empty list if the *data* is empty:" msgstr "" -#: ../../library/statistics.rst:506 +#: ../../library/statistics.rst:511 msgid "" ">>> multimode('aabbbbccddddeeffffgg')\n" "['b', 'd', 'f']\n" @@ -813,19 +821,19 @@ msgid "" "[]" msgstr "" -#: ../../library/statistics.rst:518 +#: ../../library/statistics.rst:523 msgid "" "Return the population standard deviation (the square root of the population " "variance). See :func:`pvariance` for arguments and other details." msgstr "" -#: ../../library/statistics.rst:521 +#: ../../library/statistics.rst:526 msgid "" ">>> pstdev([1.5, 2.5, 2.5, 2.75, 3.25, 4.75])\n" "0.986893273527251" msgstr "" -#: ../../library/statistics.rst:529 +#: ../../library/statistics.rst:534 msgid "" "Return the population variance of *data*, a non-empty sequence or iterable " "of real-valued numbers. Variance, or second moment about the mean, is a " @@ -834,7 +842,7 @@ msgid "" "clustered closely around the mean." msgstr "" -#: ../../library/statistics.rst:535 +#: ../../library/statistics.rst:540 msgid "" "If the optional second argument *mu* is given, it should be the *population* " "mean of the *data*. It can also be used to compute the second moment around " @@ -842,47 +850,47 @@ msgid "" "the arithmetic mean is automatically calculated." msgstr "" -#: ../../library/statistics.rst:540 +#: ../../library/statistics.rst:545 msgid "" "Use this function to calculate the variance from the entire population. To " "estimate the variance from a sample, the :func:`variance` function is " "usually a better choice." msgstr "" -#: ../../library/statistics.rst:544 +#: ../../library/statistics.rst:549 msgid "Raises :exc:`StatisticsError` if *data* is empty." msgstr "" -#: ../../library/statistics.rst:546 ../../library/statistics.rst:616 -#: ../../library/statistics.rst:725 +#: ../../library/statistics.rst:551 ../../library/statistics.rst:621 +#: ../../library/statistics.rst:730 msgid "Examples:" msgstr "" -#: ../../library/statistics.rst:548 +#: ../../library/statistics.rst:553 msgid "" ">>> data = [0.0, 0.25, 0.25, 1.25, 1.5, 1.75, 2.75, 3.25]\n" ">>> pvariance(data)\n" "1.25" msgstr "" -#: ../../library/statistics.rst:554 +#: ../../library/statistics.rst:559 msgid "" "If you have already calculated the mean of your data, you can pass it as the " "optional second argument *mu* to avoid recalculation:" msgstr "" -#: ../../library/statistics.rst:557 +#: ../../library/statistics.rst:562 msgid "" ">>> mu = mean(data)\n" ">>> pvariance(data, mu)\n" "1.25" msgstr "" -#: ../../library/statistics.rst:563 +#: ../../library/statistics.rst:568 msgid "Decimals and Fractions are supported:" msgstr "" -#: ../../library/statistics.rst:565 +#: ../../library/statistics.rst:570 msgid "" ">>> from decimal import Decimal as D\n" ">>> pvariance([D(\"27.5\"), D(\"30.25\"), D(\"30.25\"), D(\"34.5\"), " @@ -894,14 +902,14 @@ msgid "" "Fraction(13, 72)" msgstr "" -#: ../../library/statistics.rst:577 +#: ../../library/statistics.rst:582 msgid "" "When called with the entire population, this gives the population variance " "σ². When called on a sample instead, this is the biased sample variance s², " "also known as variance with N degrees of freedom." msgstr "" -#: ../../library/statistics.rst:581 +#: ../../library/statistics.rst:586 msgid "" "If you somehow know the true population mean μ, you may use this function to " "calculate the variance of a sample, giving the known population mean as the " @@ -910,19 +918,19 @@ msgid "" "variance." msgstr "" -#: ../../library/statistics.rst:590 +#: ../../library/statistics.rst:595 msgid "" "Return the sample standard deviation (the square root of the sample " "variance). See :func:`variance` for arguments and other details." msgstr "" -#: ../../library/statistics.rst:593 +#: ../../library/statistics.rst:598 msgid "" ">>> stdev([1.5, 2.5, 2.5, 2.75, 3.25, 4.75])\n" "1.0810874155219827" msgstr "" -#: ../../library/statistics.rst:601 +#: ../../library/statistics.rst:606 msgid "" "Return the sample variance of *data*, an iterable of at least two real-" "valued numbers. Variance, or second moment about the mean, is a measure of " @@ -931,55 +939,55 @@ msgid "" "closely around the mean." msgstr "" -#: ../../library/statistics.rst:607 +#: ../../library/statistics.rst:612 msgid "" "If the optional second argument *xbar* is given, it should be the *sample* " "mean of *data*. If it is missing or ``None`` (the default), the mean is " "automatically calculated." msgstr "" -#: ../../library/statistics.rst:611 +#: ../../library/statistics.rst:616 msgid "" "Use this function when your data is a sample from a population. To calculate " "the variance from the entire population, see :func:`pvariance`." msgstr "" -#: ../../library/statistics.rst:614 +#: ../../library/statistics.rst:619 msgid "Raises :exc:`StatisticsError` if *data* has fewer than two values." msgstr "" -#: ../../library/statistics.rst:618 +#: ../../library/statistics.rst:623 msgid "" ">>> data = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]\n" ">>> variance(data)\n" "1.3720238095238095" msgstr "" -#: ../../library/statistics.rst:624 +#: ../../library/statistics.rst:629 msgid "" "If you have already calculated the sample mean of your data, you can pass it " "as the optional second argument *xbar* to avoid recalculation:" msgstr "" -#: ../../library/statistics.rst:627 +#: ../../library/statistics.rst:632 msgid "" ">>> m = mean(data)\n" ">>> variance(data, m)\n" "1.3720238095238095" msgstr "" -#: ../../library/statistics.rst:633 +#: ../../library/statistics.rst:638 msgid "" "This function does not attempt to verify that you have passed the actual " "mean as *xbar*. Using arbitrary values for *xbar* can lead to invalid or " "impossible results." msgstr "" -#: ../../library/statistics.rst:637 +#: ../../library/statistics.rst:642 msgid "Decimal and Fraction values are supported:" msgstr "" -#: ../../library/statistics.rst:639 +#: ../../library/statistics.rst:644 msgid "" ">>> from decimal import Decimal as D\n" ">>> variance([D(\"27.5\"), D(\"30.25\"), D(\"30.25\"), D(\"34.5\"), " @@ -991,7 +999,7 @@ msgid "" "Fraction(67, 108)" msgstr "" -#: ../../library/statistics.rst:651 +#: ../../library/statistics.rst:656 msgid "" "This is the sample variance s² with Bessel's correction, also known as " "variance with N-1 degrees of freedom. Provided that the data points are " @@ -999,20 +1007,20 @@ msgid "" "should be an unbiased estimate of the true population variance." msgstr "" -#: ../../library/statistics.rst:656 +#: ../../library/statistics.rst:661 msgid "" "If you somehow know the actual population mean μ you should pass it to the :" "func:`pvariance` function as the *mu* parameter to get the variance of a " "sample." msgstr "" -#: ../../library/statistics.rst:662 +#: ../../library/statistics.rst:667 msgid "" "Divide *data* into *n* continuous intervals with equal probability. Returns " "a list of ``n - 1`` cut points separating the intervals." msgstr "" -#: ../../library/statistics.rst:665 +#: ../../library/statistics.rst:670 msgid "" "Set *n* to 4 for quartiles (the default). Set *n* to 10 for deciles. Set " "*n* to 100 for percentiles which gives the 99 cuts points that separate " @@ -1020,28 +1028,28 @@ msgid "" "not least 1." msgstr "" -#: ../../library/statistics.rst:670 +#: ../../library/statistics.rst:675 msgid "" "The *data* can be any iterable containing sample data. For meaningful " "results, the number of data points in *data* should be larger than *n*. " "Raises :exc:`StatisticsError` if there is not at least one data point." msgstr "" -#: ../../library/statistics.rst:674 +#: ../../library/statistics.rst:679 msgid "" "The cut points are linearly interpolated from the two nearest data points. " "For example, if a cut point falls one-third of the distance between two " "sample values, ``100`` and ``112``, the cut-point will evaluate to ``104``." msgstr "" -#: ../../library/statistics.rst:679 +#: ../../library/statistics.rst:684 msgid "" "The *method* for computing quantiles can be varied depending on whether the " "*data* includes or excludes the lowest and highest possible values from the " "population." msgstr "" -#: ../../library/statistics.rst:683 +#: ../../library/statistics.rst:688 msgid "" "The default *method* is \"exclusive\" and is used for data sampled from a " "population that can have more extreme values than found in the samples. The " @@ -1051,7 +1059,7 @@ msgid "" "70%, 80%, 90%." msgstr "" -#: ../../library/statistics.rst:690 +#: ../../library/statistics.rst:695 msgid "" "Setting the *method* to \"inclusive\" is used for describing population data " "or for samples that are known to include the most extreme values from the " @@ -1063,7 +1071,7 @@ msgid "" "80%, 90%, 100%." msgstr "" -#: ../../library/statistics.rst:699 +#: ../../library/statistics.rst:704 msgid "" "# Decile cut points for empirically sampled data\n" ">>> data = [105, 129, 87, 86, 111, 111, 89, 81, 108, 92, 110,\n" @@ -1075,26 +1083,26 @@ msgid "" "[81.0, 86.2, 89.0, 99.4, 102.5, 103.6, 106.0, 109.8, 111.0]" msgstr "" -#: ../../library/statistics.rst:712 +#: ../../library/statistics.rst:717 msgid "" "No longer raises an exception for an input with only a single data point. " "This allows quantile estimates to be built up one sample point at a time " "becoming gradually more refined with each new data point." msgstr "" -#: ../../library/statistics.rst:719 +#: ../../library/statistics.rst:724 msgid "" "Return the sample covariance of two inputs *x* and *y*. Covariance is a " "measure of the joint variability of two inputs." msgstr "" -#: ../../library/statistics.rst:722 +#: ../../library/statistics.rst:727 msgid "" "Both inputs must be of the same length (no less than two), otherwise :exc:" "`StatisticsError` is raised." msgstr "" -#: ../../library/statistics.rst:727 +#: ../../library/statistics.rst:732 msgid "" ">>> x = [1, 2, 3, 4, 5, 6, 7, 8, 9]\n" ">>> y = [1, 2, 3, 1, 2, 3, 1, 2, 3]\n" @@ -1107,7 +1115,7 @@ msgid "" "-7.5" msgstr "" -#: ../../library/statistics.rst:743 +#: ../../library/statistics.rst:748 msgid "" "Return the `Pearson's correlation coefficient `_ for two inputs. Pearson's correlation " @@ -1115,7 +1123,7 @@ msgid "" "direction of a linear relationship." msgstr "" -#: ../../library/statistics.rst:749 +#: ../../library/statistics.rst:754 msgid "" "If *method* is \"ranked\", computes `Spearman's rank correlation coefficient " "`_ " @@ -1124,26 +1132,26 @@ msgid "" "strength of a monotonic relationship." msgstr "" -#: ../../library/statistics.rst:755 +#: ../../library/statistics.rst:760 msgid "" "Spearman's correlation coefficient is appropriate for ordinal data or for " "continuous data that doesn't meet the linear proportion requirement for " "Pearson's correlation coefficient." msgstr "" -#: ../../library/statistics.rst:759 +#: ../../library/statistics.rst:764 msgid "" "Both inputs must be of the same length (no less than two), and need not to " "be constant, otherwise :exc:`StatisticsError` is raised." msgstr "" -#: ../../library/statistics.rst:762 +#: ../../library/statistics.rst:767 msgid "" "Example with `Kepler's laws of planetary motion `_:" msgstr "" -#: ../../library/statistics.rst:765 +#: ../../library/statistics.rst:770 msgid "" ">>> # Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, and Neptune\n" ">>> orbital_period = [88, 225, 365, 687, 4331, 10_756, 30_687, 60_190] # " @@ -1168,11 +1176,11 @@ msgid "" "1.0" msgstr "" -#: ../../library/statistics.rst:789 +#: ../../library/statistics.rst:794 msgid "Added support for Spearman's rank correlation coefficient." msgstr "" -#: ../../library/statistics.rst:794 +#: ../../library/statistics.rst:799 msgid "" "Return the slope and intercept of `simple linear regression `_ parameters estimated using " @@ -1181,11 +1189,11 @@ msgid "" "this linear function:" msgstr "" -#: ../../library/statistics.rst:800 +#: ../../library/statistics.rst:805 msgid "*y = slope \\* x + intercept + noise*" msgstr "" -#: ../../library/statistics.rst:802 +#: ../../library/statistics.rst:807 msgid "" "where ``slope`` and ``intercept`` are the regression parameters that are " "estimated, and ``noise`` represents the variability of the data that was not " @@ -1193,14 +1201,14 @@ msgid "" "predicted and actual values of the dependent variable)." msgstr "" -#: ../../library/statistics.rst:808 +#: ../../library/statistics.rst:813 msgid "" "Both inputs must be of the same length (no less than two), and the " "independent variable *x* cannot be constant; otherwise a :exc:" "`StatisticsError` is raised." msgstr "" -#: ../../library/statistics.rst:812 +#: ../../library/statistics.rst:817 msgid "" "For example, we can use the `release dates of the Monty Python films " "`_ to predict the " @@ -1208,7 +1216,7 @@ msgid "" "2019 assuming that they had kept the pace." msgstr "" -#: ../../library/statistics.rst:818 +#: ../../library/statistics.rst:823 msgid "" ">>> year = [1971, 1975, 1979, 1982, 1983]\n" ">>> films_total = [1, 2, 3, 4, 5]\n" @@ -1217,7 +1225,7 @@ msgid "" "16" msgstr "" -#: ../../library/statistics.rst:826 +#: ../../library/statistics.rst:831 msgid "" "If *proportional* is true, the independent variable *x* and the dependent " "variable *y* are assumed to be directly proportional. The data is fit to a " @@ -1225,18 +1233,18 @@ msgid "" "the underlying linear function simplifies to:" msgstr "" -#: ../../library/statistics.rst:832 +#: ../../library/statistics.rst:837 msgid "*y = slope \\* x + noise*" msgstr "" -#: ../../library/statistics.rst:834 +#: ../../library/statistics.rst:839 msgid "" "Continuing the example from :func:`correlation`, we look to see how well a " "model based on major planets can predict the orbital distances for dwarf " "planets:" msgstr "" -#: ../../library/statistics.rst:838 +#: ../../library/statistics.rst:843 msgid "" ">>> model = linear_regression(period_squared, dist_cubed, " "proportional=True)\n" @@ -1252,27 +1260,27 @@ msgid "" "[5906, 10152, 6796, 6450, 414]" msgstr "" -#: ../../library/statistics.rst:854 +#: ../../library/statistics.rst:859 msgid "Added support for *proportional*." msgstr "" -#: ../../library/statistics.rst:858 +#: ../../library/statistics.rst:863 msgid "Exceptions" msgstr "" -#: ../../library/statistics.rst:860 +#: ../../library/statistics.rst:865 msgid "A single exception is defined:" msgstr "" -#: ../../library/statistics.rst:864 +#: ../../library/statistics.rst:869 msgid "Subclass of :exc:`ValueError` for statistics-related exceptions." msgstr "" -#: ../../library/statistics.rst:868 +#: ../../library/statistics.rst:873 msgid ":class:`NormalDist` objects" msgstr "" -#: ../../library/statistics.rst:870 +#: ../../library/statistics.rst:875 msgid "" ":class:`NormalDist` is a tool for creating and manipulating normal " "distributions of a `random variable `_ and have a wide range of " "applications in statistics." msgstr "" -#: ../../library/statistics.rst:882 +#: ../../library/statistics.rst:887 msgid "" "Returns a new *NormalDist* object where *mu* represents the `arithmetic mean " "`_ and *sigma* represents the " "`standard deviation `_." msgstr "" -#: ../../library/statistics.rst:887 +#: ../../library/statistics.rst:892 msgid "If *sigma* is negative, raises :exc:`StatisticsError`." msgstr "" -#: ../../library/statistics.rst:891 +#: ../../library/statistics.rst:896 msgid "" "A read-only property for the `arithmetic mean `_ of a normal distribution." msgstr "" -#: ../../library/statistics.rst:897 +#: ../../library/statistics.rst:902 msgid "" "A read-only property for the `median `_ of a normal distribution." msgstr "" -#: ../../library/statistics.rst:903 +#: ../../library/statistics.rst:908 msgid "" "A read-only property for the `mode `_ of a normal distribution." msgstr "" -#: ../../library/statistics.rst:909 +#: ../../library/statistics.rst:914 msgid "" "A read-only property for the `standard deviation `_ of a normal distribution." msgstr "" -#: ../../library/statistics.rst:915 +#: ../../library/statistics.rst:920 msgid "" "A read-only property for the `variance `_ of a normal distribution. Equal to the square of the standard " "deviation." msgstr "" -#: ../../library/statistics.rst:921 +#: ../../library/statistics.rst:926 msgid "" "Makes a normal distribution instance with *mu* and *sigma* parameters " "estimated from the *data* using :func:`fmean` and :func:`stdev`." msgstr "" -#: ../../library/statistics.rst:924 +#: ../../library/statistics.rst:929 msgid "" "The *data* can be any :term:`iterable` and should consist of values that can " "be converted to type :class:`float`. If *data* does not contain at least " @@ -1344,26 +1352,26 @@ msgid "" "dispersion." msgstr "" -#: ../../library/statistics.rst:932 +#: ../../library/statistics.rst:937 msgid "" "Generates *n* random samples for a given mean and standard deviation. " "Returns a :class:`list` of :class:`float` values." msgstr "" -#: ../../library/statistics.rst:935 +#: ../../library/statistics.rst:940 msgid "" "If *seed* is given, creates a new instance of the underlying random number " "generator. This is useful for creating reproducible results, even in a " "multi-threading context." msgstr "" -#: ../../library/statistics.rst:941 +#: ../../library/statistics.rst:946 msgid "" "Switched to a faster algorithm. To reproduce samples from previous " "versions, use :func:`random.seed` and :func:`random.gauss`." msgstr "" -#: ../../library/statistics.rst:946 +#: ../../library/statistics.rst:951 msgid "" "Using a `probability density function (pdf) `_, compute the relative likelihood that a " @@ -1371,7 +1379,7 @@ msgid "" "the limit of the ratio ``P(x <= X < x+dx) / dx`` as *dx* approaches zero." msgstr "" -#: ../../library/statistics.rst:952 +#: ../../library/statistics.rst:957 msgid "" "The relative likelihood is computed as the probability of a sample occurring " "in a narrow range divided by the width of the range (hence the word " @@ -1379,7 +1387,7 @@ msgid "" "can be greater than ``1.0``." msgstr "" -#: ../../library/statistics.rst:959 +#: ../../library/statistics.rst:964 msgid "" "Using a `cumulative distribution function (cdf) `_, compute the probability that a " @@ -1387,7 +1395,7 @@ msgid "" "is written ``P(X <= x)``." msgstr "" -#: ../../library/statistics.rst:966 +#: ../../library/statistics.rst:971 msgid "" "Compute the inverse cumulative distribution function, also known as the " "`quantile function `_ or " @@ -1396,34 +1404,34 @@ msgid "" "function. Mathematically, it is written ``x : P(X <= x) = p``." msgstr "" -#: ../../library/statistics.rst:972 +#: ../../library/statistics.rst:977 msgid "" "Finds the value *x* of the random variable *X* such that the probability of " "the variable being less than or equal to that value equals the given " "probability *p*." msgstr "" -#: ../../library/statistics.rst:978 +#: ../../library/statistics.rst:983 msgid "" "Measures the agreement between two normal probability distributions. Returns " "a value between 0.0 and 1.0 giving `the overlapping area for the two " "probability density functions `_." msgstr "" -#: ../../library/statistics.rst:985 +#: ../../library/statistics.rst:990 msgid "" "Divide the normal distribution into *n* continuous intervals with equal " "probability. Returns a list of (n - 1) cut points separating the intervals." msgstr "" -#: ../../library/statistics.rst:989 +#: ../../library/statistics.rst:994 msgid "" "Set *n* to 4 for quartiles (the default). Set *n* to 10 for deciles. Set " "*n* to 100 for percentiles which gives the 99 cuts points that separate the " "normal distribution into 100 equal sized groups." msgstr "" -#: ../../library/statistics.rst:995 +#: ../../library/statistics.rst:1000 msgid "" "Compute the `Standard Score `_ describing *x* in terms of the number of standard " @@ -1431,27 +1439,27 @@ msgid "" "mean) / stdev``." msgstr "" -#: ../../library/statistics.rst:1003 +#: ../../library/statistics.rst:1008 msgid "" "Instances of :class:`NormalDist` support addition, subtraction, " "multiplication and division by a constant. These operations are used for " "translation and scaling. For example:" msgstr "" -#: ../../library/statistics.rst:1007 +#: ../../library/statistics.rst:1012 msgid "" ">>> temperature_february = NormalDist(5, 2.5) # Celsius\n" ">>> temperature_february * (9/5) + 32 # Fahrenheit\n" "NormalDist(mu=41.0, sigma=4.5)" msgstr "" -#: ../../library/statistics.rst:1013 +#: ../../library/statistics.rst:1018 msgid "" "Dividing a constant by an instance of :class:`NormalDist` is not supported " "because the result wouldn't be normally distributed." msgstr "" -#: ../../library/statistics.rst:1016 +#: ../../library/statistics.rst:1021 msgid "" "Since normal distributions arise from additive effects of independent " "variables, it is possible to `add and subtract two independent normally " @@ -1460,7 +1468,7 @@ msgid "" "class:`NormalDist`. For example:" msgstr "" -#: ../../library/statistics.rst:1022 +#: ../../library/statistics.rst:1027 msgid "" ">>> birth_weights = NormalDist.from_samples([2.5, 3.1, 2.1, 2.4, 2.7, 3.5])\n" ">>> drug_effects = NormalDist(0.4, 0.15)\n" @@ -1471,19 +1479,19 @@ msgid "" "0.5" msgstr "" -#: ../../library/statistics.rst:1036 +#: ../../library/statistics.rst:1041 msgid "Examples and Recipes" msgstr "" -#: ../../library/statistics.rst:1040 +#: ../../library/statistics.rst:1045 msgid "Classic probability problems" msgstr "" -#: ../../library/statistics.rst:1042 +#: ../../library/statistics.rst:1047 msgid ":class:`NormalDist` readily solves classic probability problems." msgstr "" -#: ../../library/statistics.rst:1044 +#: ../../library/statistics.rst:1049 msgid "" "For example, given `historical data for SAT exams `_ showing that scores are " @@ -1492,7 +1500,7 @@ msgid "" "after rounding to the nearest whole number:" msgstr "" -#: ../../library/statistics.rst:1050 +#: ../../library/statistics.rst:1055 msgid "" ">>> sat = NormalDist(1060, 195)\n" ">>> fraction = sat.cdf(1200 + 0.5) - sat.cdf(1100 - 0.5)\n" @@ -1500,13 +1508,13 @@ msgid "" "18.4" msgstr "" -#: ../../library/statistics.rst:1057 +#: ../../library/statistics.rst:1062 msgid "" "Find the `quartiles `_ and `deciles " "`_ for the SAT scores:" msgstr "" -#: ../../library/statistics.rst:1060 +#: ../../library/statistics.rst:1065 msgid "" ">>> list(map(round, sat.quantiles()))\n" "[928, 1060, 1192]\n" @@ -1514,18 +1522,18 @@ msgid "" "[810, 896, 958, 1011, 1060, 1109, 1162, 1224, 1310]" msgstr "" -#: ../../library/statistics.rst:1069 +#: ../../library/statistics.rst:1074 msgid "Monte Carlo inputs for simulations" msgstr "" -#: ../../library/statistics.rst:1071 +#: ../../library/statistics.rst:1076 msgid "" "To estimate the distribution for a model that isn't easy to solve " "analytically, :class:`NormalDist` can generate input samples for a `Monte " "Carlo simulation `_:" msgstr "" -#: ../../library/statistics.rst:1075 +#: ../../library/statistics.rst:1080 msgid "" ">>> def model(x, y, z):\n" "... return (3*x + 7*x*y - 5*y) / (11 * z)\n" @@ -1538,18 +1546,18 @@ msgid "" "[1.4591308524824727, 1.8035946855390597, 2.175091447274739]" msgstr "" -#: ../../library/statistics.rst:1088 +#: ../../library/statistics.rst:1093 msgid "Approximating binomial distributions" msgstr "" -#: ../../library/statistics.rst:1090 +#: ../../library/statistics.rst:1095 msgid "" "Normal distributions can be used to approximate `Binomial distributions " "`_ when the sample " "size is large and when the probability of a successful trial is near 50%." msgstr "" -#: ../../library/statistics.rst:1095 +#: ../../library/statistics.rst:1100 msgid "" "For example, an open source conference has 750 attendees and two rooms with " "a 500 person capacity. There is a talk about Python and another about Ruby. " @@ -1558,7 +1566,7 @@ msgid "" "probability that the Python room will stay within its capacity limits?" msgstr "" -#: ../../library/statistics.rst:1101 +#: ../../library/statistics.rst:1106 msgid "" ">>> n = 750 # Sample size\n" ">>> p = 0.65 # Preference for Python\n" @@ -1582,15 +1590,15 @@ msgid "" "0.8406" msgstr "" -#: ../../library/statistics.rst:1126 +#: ../../library/statistics.rst:1131 msgid "Naive bayesian classifier" msgstr "" -#: ../../library/statistics.rst:1128 +#: ../../library/statistics.rst:1133 msgid "Normal distributions commonly arise in machine learning problems." msgstr "" -#: ../../library/statistics.rst:1130 +#: ../../library/statistics.rst:1135 msgid "" "Wikipedia has a `nice example of a Naive Bayesian Classifier `_. The " @@ -1598,14 +1606,14 @@ msgid "" "distributed features including height, weight, and foot size." msgstr "" -#: ../../library/statistics.rst:1135 +#: ../../library/statistics.rst:1140 msgid "" "We're given a training dataset with measurements for eight people. The " "measurements are assumed to be normally distributed, so we summarize the " "data with :class:`NormalDist`:" msgstr "" -#: ../../library/statistics.rst:1139 +#: ../../library/statistics.rst:1144 msgid "" ">>> height_male = NormalDist.from_samples([6, 5.92, 5.58, 5.92])\n" ">>> height_female = NormalDist.from_samples([5, 5.5, 5.42, 5.75])\n" @@ -1615,20 +1623,20 @@ msgid "" ">>> foot_size_female = NormalDist.from_samples([6, 8, 7, 9])" msgstr "" -#: ../../library/statistics.rst:1148 +#: ../../library/statistics.rst:1153 msgid "" "Next, we encounter a new person whose feature measurements are known but " "whose gender is unknown:" msgstr "" -#: ../../library/statistics.rst:1151 +#: ../../library/statistics.rst:1156 msgid "" ">>> ht = 6.0 # height\n" ">>> wt = 130 # weight\n" ">>> fs = 8 # foot size" msgstr "" -#: ../../library/statistics.rst:1157 +#: ../../library/statistics.rst:1162 msgid "" "Starting with a 50% `prior probability `_ of being male or female, we compute the posterior as " @@ -1636,7 +1644,7 @@ msgid "" "given the gender:" msgstr "" -#: ../../library/statistics.rst:1162 +#: ../../library/statistics.rst:1167 msgid "" ">>> prior_male = 0.5\n" ">>> prior_female = 0.5\n" @@ -1647,14 +1655,14 @@ msgid "" "... weight_female.pdf(wt) * foot_size_female.pdf(fs))" msgstr "" -#: ../../library/statistics.rst:1172 +#: ../../library/statistics.rst:1177 msgid "" "The final prediction goes to the largest posterior. This is known as the " "`maximum a posteriori `_ or MAP:" msgstr "" -#: ../../library/statistics.rst:1176 +#: ../../library/statistics.rst:1181 msgid "" ">>> 'male' if posterior_male > posterior_female else 'female'\n" "'female'" diff --git a/library/turtle.po b/library/turtle.po index 97afe838..e8594ce1 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-15 09:12+0000\n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" "PO-Revision-Date: 2025-09-16 00:02+0000\n" "Last-Translator: @sba72\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -722,7 +722,7 @@ msgstr ":func:`setheading` | :func:`seth`" msgid ":func:`home`" msgstr ":func:`home`" -#: ../../library/turtle.rst:350 ../../library/turtle.rst:2879 +#: ../../library/turtle.rst:350 ../../library/turtle.rst:2898 msgid ":func:`circle`" msgstr ":func:`circle`" @@ -730,7 +730,7 @@ msgstr ":func:`circle`" msgid ":func:`dot`" msgstr ":func:`dot`" -#: ../../library/turtle.rst:352 ../../library/turtle.rst:2857 +#: ../../library/turtle.rst:352 ../../library/turtle.rst:2876 msgid ":func:`stamp`" msgstr ":func:`stamp`" @@ -926,7 +926,7 @@ msgstr ":func:`get_shapepoly`" msgid "Using events" msgstr "Ereignisse verwenden" -#: ../../library/turtle.rst:411 ../../library/turtle.rst:2851 +#: ../../library/turtle.rst:411 ../../library/turtle.rst:2870 msgid ":func:`onclick`" msgstr ":func:`onclick`" @@ -934,7 +934,7 @@ msgstr ":func:`onclick`" msgid ":func:`onrelease`" msgstr ":func:`onrelease`" -#: ../../library/turtle.rst:413 ../../library/turtle.rst:2834 +#: ../../library/turtle.rst:413 ../../library/turtle.rst:2853 msgid ":func:`ondrag`" msgstr ":func:`ondrag`" @@ -958,7 +958,7 @@ msgstr ":func:`end_poly`" msgid ":func:`get_poly`" msgstr ":func:`get_poly`" -#: ../../library/turtle.rst:420 ../../library/turtle.rst:2873 +#: ../../library/turtle.rst:420 ../../library/turtle.rst:2892 msgid ":func:`clone`" msgstr ":func:`clone`" @@ -4354,11 +4354,34 @@ msgstr "``abs(a)`` Absolutwert von a" msgid "``a.rotate(angle)`` rotation" msgstr "``a.rotate(angle)`` Rotation" +#: ../../library/turtle.rst:2574 +#, fuzzy +msgid "Exceptions" +msgstr "Erklärung" + #: ../../library/turtle.rst:2576 +msgid "The :mod:`!turtle` module defines the following exception:" +msgstr "" + +#: ../../library/turtle.rst:2580 +msgid "" +"Raised for invalid arguments or operations. For example, a malformed color " +"string:" +msgstr "" + +#: ../../library/turtle.rst:2583 +msgid "" +">>> turtle.color(\"blau\")\n" +"Traceback (most recent call last):\n" +" ...\n" +"turtle.TurtleGraphicsError: bad color string: blau" +msgstr "" + +#: ../../library/turtle.rst:2595 msgid "Explanation" msgstr "Erklärung" -#: ../../library/turtle.rst:2578 +#: ../../library/turtle.rst:2597 msgid "" "A turtle object draws on a screen object, and there a number of key classes " "in the turtle object-oriented interface that can be used to create them and " @@ -4368,7 +4391,7 @@ msgstr "" "zentraler Klassen in der objektorientierten Turtle-Schnittstelle, mit denen " "man diese erstellen und miteinander in Beziehung setzen kann." -#: ../../library/turtle.rst:2582 +#: ../../library/turtle.rst:2601 msgid "" "A :class:`Turtle` instance will automatically create a :class:`Screen` " "instance if one is not already present." @@ -4376,7 +4399,7 @@ msgstr "" "Eine :class:`Turtle`-Instanz erstellt automatisch eine :class:`Screen`-" "Instanz, falls noch keine vorhanden ist." -#: ../../library/turtle.rst:2585 +#: ../../library/turtle.rst:2604 msgid "" "``Turtle`` is a subclass of :class:`RawTurtle`, which *doesn't* " "automatically create a drawing surface - a *canvas* will need to be provided " @@ -4388,7 +4411,7 @@ msgstr "" "oder erstellt werden. Die *canvas* kann ein :class:`!tkinter.Canvas`, :class:" "`ScrolledCanvas` oder :class:`TurtleScreen` sein." -#: ../../library/turtle.rst:2591 +#: ../../library/turtle.rst:2610 msgid "" ":class:`TurtleScreen` is the basic drawing surface for a turtle. :class:" "`Screen` is a subclass of ``TurtleScreen``, and includes :ref:`some " @@ -4403,7 +4426,7 @@ msgstr "" "Konstruktor von ``TurtleScreen`` benötigt ein :class:`!tkinter.Canvas` oder " "ein :class:`ScrolledCanvas` als Argument." -#: ../../library/turtle.rst:2598 +#: ../../library/turtle.rst:2617 msgid "" "The functional interface for turtle graphics uses the various methods of " "``Turtle`` and ``TurtleScreen``/``Screen``. Behind the scenes, a screen " @@ -4418,7 +4441,7 @@ msgstr "" "Turtle-Objekt erstellt, sobald eine der von einer Turtle-Methode " "abgeleiteten Funktionen aufgerufen wird." -#: ../../library/turtle.rst:2604 +#: ../../library/turtle.rst:2623 msgid "" "To use multiple turtles on a screen, the object-oriented interface must be " "used." @@ -4426,15 +4449,15 @@ msgstr "" "Um mehrere Turtles auf einem Screen zu verwenden, muss die objektorientierte " "Schnittstelle genutzt werden." -#: ../../library/turtle.rst:2609 +#: ../../library/turtle.rst:2628 msgid "Help and configuration" msgstr "Hilfe und Konfiguration" -#: ../../library/turtle.rst:2612 +#: ../../library/turtle.rst:2631 msgid "How to use help" msgstr "Wie man die Hilfe verwendet" -#: ../../library/turtle.rst:2614 +#: ../../library/turtle.rst:2633 msgid "" "The public methods of the Screen and Turtle classes are documented " "extensively via docstrings. So these can be used as online-help via the " @@ -4444,7 +4467,7 @@ msgstr "" "über Docstrings dokumentiert. Diese können daher über die Python-" "Hilfefunktionen als Online-Hilfe verwendet werden:" -#: ../../library/turtle.rst:2618 +#: ../../library/turtle.rst:2637 msgid "" "When using IDLE, tooltips show the signatures and first lines of the " "docstrings of typed in function-/method calls." @@ -4452,13 +4475,13 @@ msgstr "" "Bei Verwendung von IDLE zeigen Tooltips die Signaturen und die ersten Zeilen " "der Docstrings eingetippter Funktions-/Methodenaufrufe." -#: ../../library/turtle.rst:2621 +#: ../../library/turtle.rst:2640 msgid "Calling :func:`help` on methods or functions displays the docstrings::" msgstr "" "Der Aufruf von :func:`help` für Methoden oder Funktionen zeigt die " "Docstrings an::" -#: ../../library/turtle.rst:2623 +#: ../../library/turtle.rst:2642 msgid "" ">>> help(Screen.bgcolor)\n" "Help on method bgcolor in module turtle:\n" @@ -4518,7 +4541,7 @@ msgstr "" "\n" " >>> turtle.penup()" -#: ../../library/turtle.rst:2652 +#: ../../library/turtle.rst:2671 msgid "" "The docstrings of the functions which are derived from methods have a " "modified form::" @@ -4526,7 +4549,7 @@ msgstr "" "Die Docstrings der Funktionen, die von Methoden abgeleitet sind, haben eine " "abgewandelte Form::" -#: ../../library/turtle.rst:2655 +#: ../../library/turtle.rst:2674 msgid "" ">>> help(bgcolor)\n" "Help on function bgcolor in module turtle:\n" @@ -4590,7 +4613,7 @@ msgstr "" " Example:\n" " >>> penup()" -#: ../../library/turtle.rst:2686 +#: ../../library/turtle.rst:2705 msgid "" "These modified docstrings are created automatically together with the " "function definitions that are derived from the methods at import time." @@ -4599,11 +4622,11 @@ msgstr "" "Funktionsdefinitionen erstellt, die zur Importzeit von den Methoden " "abgeleitet werden." -#: ../../library/turtle.rst:2691 +#: ../../library/turtle.rst:2710 msgid "Translation of docstrings into different languages" msgstr "Übersetzung von Docstrings in verschiedene Sprachen" -#: ../../library/turtle.rst:2693 +#: ../../library/turtle.rst:2712 msgid "" "There is a utility to create a dictionary the keys of which are the method " "names and the values of which are the docstrings of the public methods of " @@ -4613,11 +4636,11 @@ msgstr "" "die Methodennamen und dessen Werte die Docstrings der öffentlichen Methoden " "der Klassen Screen und Turtle sind." -#: ../../library/turtle.rst:2699 +#: ../../library/turtle.rst:2718 msgid "a string, used as filename" msgstr "eine Zeichenkette, verwendet als Dateiname" -#: ../../library/turtle.rst:2701 +#: ../../library/turtle.rst:2720 msgid "" "Create and write docstring-dictionary to a Python script with the given " "filename. This function has to be called explicitly (it is not used by the " @@ -4632,7 +4655,7 @@ msgstr "" "ist als Vorlage für die Übersetzung der Docstrings in verschiedene Sprachen " "gedacht." -#: ../../library/turtle.rst:2707 +#: ../../library/turtle.rst:2726 msgid "" "If you (or your students) want to use :mod:`!turtle` with online help in " "your native language, you have to translate the docstrings and save the " @@ -4642,7 +4665,7 @@ msgstr "" "Muttersprache verwenden möchtest, musst du die Docstrings übersetzen und die " "entstehende Datei z. B. als :file:`turtle_docstringdict_german.py` speichern." -#: ../../library/turtle.rst:2711 +#: ../../library/turtle.rst:2730 msgid "" "If you have an appropriate entry in your :file:`turtle.cfg` file this " "dictionary will be read in at import time and will replace the original " @@ -4652,7 +4675,7 @@ msgstr "" "hast, wird dieses Dictionary zur Importzeit eingelesen und ersetzt die " "ursprünglichen englischen Docstrings." -#: ../../library/turtle.rst:2714 +#: ../../library/turtle.rst:2733 msgid "" "At the time of this writing there are docstring dictionaries in German and " "in Italian. (Requests please to glingl@aon.at.)" @@ -4660,11 +4683,11 @@ msgstr "" "Zum Zeitpunkt der Erstellung dieses Textes gibt es Docstring-Dictionaries " "auf Deutsch und auf Italienisch. (Anfragen bitte an glingl@aon.at.)" -#: ../../library/turtle.rst:2720 +#: ../../library/turtle.rst:2739 msgid "How to configure Screen and Turtles" msgstr "Wie man Screen und Turtles konfiguriert" -#: ../../library/turtle.rst:2722 +#: ../../library/turtle.rst:2741 msgid "" "The built-in default configuration mimics the appearance and behaviour of " "the old turtle module in order to retain best possible compatibility with it." @@ -4673,7 +4696,7 @@ msgstr "" "des alten turtle-Moduls nach, um eine möglichst gute Kompatibilität damit zu " "bewahren." -#: ../../library/turtle.rst:2725 +#: ../../library/turtle.rst:2744 msgid "" "If you want to use a different configuration which better reflects the " "features of this module or which better fits to your needs, e.g. for use in " @@ -4687,13 +4710,13 @@ msgstr "" "``turtle.cfg`` vorbereiten, die zur Importzeit eingelesen wird und die " "Konfiguration entsprechend ihrer Einstellungen ändert." -#: ../../library/turtle.rst:2730 +#: ../../library/turtle.rst:2749 msgid "" "The built in configuration would correspond to the following ``turtle.cfg``:" msgstr "" "Die eingebaute Konfiguration würde der folgenden ``turtle.cfg`` entsprechen:" -#: ../../library/turtle.rst:2732 +#: ../../library/turtle.rst:2751 msgid "" "width = 0.5\n" "height = 0.75\n" @@ -4737,11 +4760,11 @@ msgstr "" "title = Python Turtle Graphics\n" "using_IDLE = False" -#: ../../library/turtle.rst:2755 +#: ../../library/turtle.rst:2774 msgid "Short explanation of selected entries:" msgstr "Kurze Erklärung ausgewählter Einträge:" -#: ../../library/turtle.rst:2757 +#: ../../library/turtle.rst:2776 msgid "" "The first four lines correspond to the arguments of the :func:`Screen.setup " "` method." @@ -4749,7 +4772,7 @@ msgstr "" "Die ersten vier Zeilen entsprechen den Argumenten der Methode :func:`Screen." "setup `." -#: ../../library/turtle.rst:2759 +#: ../../library/turtle.rst:2778 msgid "" "Line 5 and 6 correspond to the arguments of the method :func:`Screen." "screensize `." @@ -4757,7 +4780,7 @@ msgstr "" "Zeile 5 und 6 entsprechen den Argumenten der Methode :func:`Screen." "screensize `." -#: ../../library/turtle.rst:2761 +#: ../../library/turtle.rst:2780 msgid "" "*shape* can be any of the built-in shapes, e.g: arrow, turtle, etc. For " "more info try ``help(shape)``." @@ -4765,7 +4788,7 @@ msgstr "" "*shape* kann eine der eingebauten Formen sein, z. B.: arrow, turtle usw. Für " "weitere Informationen versuche ``help(shape)``." -#: ../../library/turtle.rst:2763 +#: ../../library/turtle.rst:2782 msgid "" "If you want to use no fill color (i.e. make the turtle transparent), you " "have to write ``fillcolor = \"\"`` (but all nonempty strings must not have " @@ -4776,7 +4799,7 @@ msgstr "" "nichtleeren Zeichenketten dürfen in der cfg-Datei keine Anführungszeichen " "haben)." -#: ../../library/turtle.rst:2766 +#: ../../library/turtle.rst:2785 msgid "" "If you want to reflect the turtle its state, you have to use ``resizemode = " "auto``." @@ -4784,7 +4807,7 @@ msgstr "" "Wenn die Turtle ihren Zustand widerspiegeln soll, musst du ``resizemode = " "auto`` verwenden." -#: ../../library/turtle.rst:2768 +#: ../../library/turtle.rst:2787 msgid "" "If you set e.g. ``language = italian`` the docstringdict :file:" "`turtle_docstringdict_italian.py` will be loaded at import time (if present " @@ -4794,7 +4817,7 @@ msgstr "" "`turtle_docstringdict_italian.py` zur Importzeit geladen (sofern es im " "Importpfad vorhanden ist, z. B. im selben Verzeichnis wie :mod:`!turtle`)." -#: ../../library/turtle.rst:2771 +#: ../../library/turtle.rst:2790 msgid "" "The entries *exampleturtle* and *examplescreen* define the names of these " "objects as they occur in the docstrings. The transformation of method-" @@ -4806,7 +4829,7 @@ msgstr "" "Methoden-Docstrings in Funktions-Docstrings werden diese Namen aus den " "Docstrings entfernt." -#: ../../library/turtle.rst:2775 +#: ../../library/turtle.rst:2794 msgid "" "*using_IDLE*: Set this to ``True`` if you regularly work with IDLE and its " "``-n`` switch (\"no subprocess\"). This will prevent :func:`exitonclick` to " @@ -4816,7 +4839,7 @@ msgstr "" "dessen Schalter ``-n`` (\"no subprocess\") arbeitest. Dies verhindert, dass :" "func:`exitonclick` die mainloop aufruft." -#: ../../library/turtle.rst:2779 +#: ../../library/turtle.rst:2798 msgid "" "There can be a :file:`turtle.cfg` file in the directory where :mod:`!turtle` " "is stored and an additional one in the current working directory. The " @@ -4826,7 +4849,7 @@ msgstr "" "turtle` gespeichert ist, sowie eine zusätzliche im aktuellen " "Arbeitsverzeichnis. Letztere überschreibt die Einstellungen der ersten." -#: ../../library/turtle.rst:2783 +#: ../../library/turtle.rst:2802 msgid "" "The :file:`Lib/turtledemo` directory contains a :file:`turtle.cfg` file. " "You can study it as an example and see its effects when running the demos " @@ -4836,11 +4859,11 @@ msgstr "" "Datei. Du kannst sie als Beispiel studieren und ihre Auswirkungen beim " "Ausführen der Demos sehen (vorzugsweise nicht innerhalb des Demo-Viewers)." -#: ../../library/turtle.rst:2789 +#: ../../library/turtle.rst:2808 msgid ":mod:`!turtledemo` --- Demo scripts" msgstr ":mod:`!turtledemo` --- Demo-Skripte" -#: ../../library/turtle.rst:2794 +#: ../../library/turtle.rst:2813 msgid "" "The :mod:`!turtledemo` package includes a set of demo scripts. These " "scripts can be run and viewed using the supplied demo viewer as follows::" @@ -4849,26 +4872,26 @@ msgstr "" "Skripte können mit dem mitgelieferten Demo-Viewer wie folgt ausgeführt und " "betrachtet werden::" -#: ../../library/turtle.rst:2797 +#: ../../library/turtle.rst:2816 msgid "python -m turtledemo" msgstr "python -m turtledemo" -#: ../../library/turtle.rst:2799 +#: ../../library/turtle.rst:2818 msgid "" "Alternatively, you can run the demo scripts individually. For example, ::" msgstr "" "Alternativ kannst du die Demo-Skripte auch einzeln ausführen. Zum " "Beispiel: ::" -#: ../../library/turtle.rst:2801 +#: ../../library/turtle.rst:2820 msgid "python -m turtledemo.bytedesign" msgstr "python -m turtledemo.bytedesign" -#: ../../library/turtle.rst:2803 +#: ../../library/turtle.rst:2822 msgid "The :mod:`!turtledemo` package directory contains:" msgstr "Das Paketverzeichnis :mod:`!turtledemo` enthält:" -#: ../../library/turtle.rst:2805 +#: ../../library/turtle.rst:2824 msgid "" "A demo viewer :file:`__main__.py` which can be used to view the sourcecode " "of the scripts and run them at the same time." @@ -4876,7 +4899,7 @@ msgstr "" "Einen Demo-Viewer :file:`__main__.py`, mit dem der Quellcode der Skripte " "betrachtet und gleichzeitig ausgeführt werden kann." -#: ../../library/turtle.rst:2807 +#: ../../library/turtle.rst:2826 msgid "" "Multiple scripts demonstrating different features of the :mod:`!turtle` " "module. Examples can be accessed via the Examples menu. They can also be " @@ -4886,7 +4909,7 @@ msgstr "" "demonstrieren. Auf die Beispiele kann über das Menü Examples zugegriffen " "werden. Sie können auch eigenständig ausgeführt werden." -#: ../../library/turtle.rst:2810 +#: ../../library/turtle.rst:2829 msgid "" "A :file:`turtle.cfg` file which serves as an example of how to write and use " "such files." @@ -4894,39 +4917,39 @@ msgstr "" "Eine :file:`turtle.cfg`-Datei, die als Beispiel dient, wie solche Dateien " "geschrieben und verwendet werden." -#: ../../library/turtle.rst:2813 +#: ../../library/turtle.rst:2832 msgid "The demo scripts are:" msgstr "Die Demo-Skripte sind:" -#: ../../library/turtle.rst:2820 +#: ../../library/turtle.rst:2839 msgid "Name" msgstr "Name" -#: ../../library/turtle.rst:2820 +#: ../../library/turtle.rst:2839 msgid "Description" msgstr "Beschreibung" -#: ../../library/turtle.rst:2820 +#: ../../library/turtle.rst:2839 msgid "Features" msgstr "Feature" -#: ../../library/turtle.rst:2822 +#: ../../library/turtle.rst:2841 msgid "``bytedesign``" msgstr "``bytedesign``" -#: ../../library/turtle.rst:2822 +#: ../../library/turtle.rst:2841 msgid "complex classical turtle graphics pattern" msgstr "komplexes klassisches Turtle-Grafik-Muster" -#: ../../library/turtle.rst:2822 +#: ../../library/turtle.rst:2841 msgid ":func:`tracer`, :func:`delay`, :func:`update`" msgstr ":func:`tracer`, :func:`delay`, :func:`update`" -#: ../../library/turtle.rst:2825 +#: ../../library/turtle.rst:2844 msgid "``chaos``" msgstr "``chaos``" -#: ../../library/turtle.rst:2825 +#: ../../library/turtle.rst:2844 msgid "" "graphs Verhulst dynamics, shows that computer's computations can generate " "results sometimes against the common sense expectations" @@ -4935,156 +4958,156 @@ msgstr "" "Computerberechnungen manchmal Ergebnisse liefern können, die dem gesunden " "Menschenverstand widersprechen" -#: ../../library/turtle.rst:2825 +#: ../../library/turtle.rst:2844 msgid "world coordinates" msgstr "Welt Koordinaten" -#: ../../library/turtle.rst:2831 +#: ../../library/turtle.rst:2850 msgid "``clock``" msgstr "``clock``" -#: ../../library/turtle.rst:2831 +#: ../../library/turtle.rst:2850 msgid "analog clock showing time of your computer" msgstr "analoge Uhr, die die Zeit deines Computers anzeigt" -#: ../../library/turtle.rst:2831 +#: ../../library/turtle.rst:2850 msgid "turtles as clock's hands, :func:`ontimer`" msgstr "Turtles als Uhrzeiger, :func:`ontimer`" -#: ../../library/turtle.rst:2834 +#: ../../library/turtle.rst:2853 msgid "``colormixer``" msgstr "``colormixer``" -#: ../../library/turtle.rst:2834 +#: ../../library/turtle.rst:2853 msgid "experiment with r, g, b" msgstr "Experiment mit r, g, b" -#: ../../library/turtle.rst:2836 +#: ../../library/turtle.rst:2855 msgid "``forest``" msgstr "``forest``" -#: ../../library/turtle.rst:2836 +#: ../../library/turtle.rst:2855 msgid "3 breadth-first trees" msgstr "3 Breitensuche-Bäume" -#: ../../library/turtle.rst:2836 +#: ../../library/turtle.rst:2855 msgid "randomization" msgstr "Zufallsgenerierung" -#: ../../library/turtle.rst:2838 +#: ../../library/turtle.rst:2857 msgid "``fractalcurves``" msgstr "``fractalcurves``" -#: ../../library/turtle.rst:2838 +#: ../../library/turtle.rst:2857 msgid "Hilbert & Koch curves" msgstr "Hilbert & Koch Kurven" -#: ../../library/turtle.rst:2838 +#: ../../library/turtle.rst:2857 msgid "recursion" msgstr "Rekursion" -#: ../../library/turtle.rst:2840 +#: ../../library/turtle.rst:2859 msgid "``lindenmayer``" msgstr "``lindenmayer``" -#: ../../library/turtle.rst:2840 +#: ../../library/turtle.rst:2859 msgid "ethnomathematics (indian kolams)" msgstr "Ethnomathematik (indische Kolams)" -#: ../../library/turtle.rst:2840 +#: ../../library/turtle.rst:2859 msgid "L-System" msgstr "L-System" -#: ../../library/turtle.rst:2843 +#: ../../library/turtle.rst:2862 msgid "``minimal_hanoi``" msgstr "``minimal_hanoi``" -#: ../../library/turtle.rst:2843 +#: ../../library/turtle.rst:2862 msgid "Towers of Hanoi" msgstr "Türme von Hannoi" -#: ../../library/turtle.rst:2843 +#: ../../library/turtle.rst:2862 msgid "Rectangular Turtles as Hanoi discs (:func:`shape`, :func:`shapesize`)" msgstr "" "Rechteckige Turtles als Hanoi-Scheiben (:func:`shape`, :func:`shapesize`)" -#: ../../library/turtle.rst:2847 +#: ../../library/turtle.rst:2866 msgid "``nim``" msgstr "``nim``" -#: ../../library/turtle.rst:2847 +#: ../../library/turtle.rst:2866 msgid "" "play the classical nim game with three heaps of sticks against the computer." msgstr "" "spiele das klassische Nim-Spiel mit drei Stapeln aus Stäbchen gegen den " "Computer." -#: ../../library/turtle.rst:2847 +#: ../../library/turtle.rst:2866 msgid "turtles as nimsticks, event driven (mouse, keyboard)" msgstr "Turtles als Nim-Stäbchen, ereignisgesteuert (Maus, Tastatur)" -#: ../../library/turtle.rst:2851 +#: ../../library/turtle.rst:2870 msgid "``paint``" msgstr "``paint``" -#: ../../library/turtle.rst:2851 +#: ../../library/turtle.rst:2870 msgid "super minimalistic drawing program" msgstr "super minimalistisches Zeichenprogramm" -#: ../../library/turtle.rst:2854 +#: ../../library/turtle.rst:2873 msgid "``peace``" msgstr "``peace``" -#: ../../library/turtle.rst:2854 +#: ../../library/turtle.rst:2873 msgid "elementary" msgstr "Elementar" -#: ../../library/turtle.rst:2854 +#: ../../library/turtle.rst:2873 msgid "turtle: appearance and animation" msgstr "Turtle: Erscheinungsbild und Animation" -#: ../../library/turtle.rst:2857 +#: ../../library/turtle.rst:2876 msgid "``penrose``" msgstr "``penrose``" -#: ../../library/turtle.rst:2857 +#: ../../library/turtle.rst:2876 msgid "aperiodic tiling with kites and darts" msgstr "aperiodische Kachelung mit Drachen und Pfeilen" -#: ../../library/turtle.rst:2860 +#: ../../library/turtle.rst:2879 msgid "``planet_and_moon``" msgstr "``planet_and_moon``" -#: ../../library/turtle.rst:2860 +#: ../../library/turtle.rst:2879 msgid "simulation of gravitational system" msgstr "Simulation eines Gravitationssystems" -#: ../../library/turtle.rst:2860 +#: ../../library/turtle.rst:2879 msgid "compound shapes, :class:`Vec2D`" msgstr "zusammengesetzte Formen, :class:`Vec2D`" -#: ../../library/turtle.rst:2863 +#: ../../library/turtle.rst:2882 msgid "``rosette``" msgstr "``rosette``" -#: ../../library/turtle.rst:2863 +#: ../../library/turtle.rst:2882 msgid "a pattern from the wikipedia article on turtle graphics" msgstr "ein Muster aus dem Wikipedia-Artikel über Turtle-Grafik" -#: ../../library/turtle.rst:2863 +#: ../../library/turtle.rst:2882 msgid ":func:`clone`, :func:`undo`" msgstr ":func:`clone`, :func:`undo`" -#: ../../library/turtle.rst:2866 +#: ../../library/turtle.rst:2885 msgid "``round_dance``" msgstr "``round_dance``" -#: ../../library/turtle.rst:2866 +#: ../../library/turtle.rst:2885 msgid "dancing turtles rotating pairwise in opposite direction" msgstr "" "tanzende Turtles, die sich paarweise in entgegengesetzter Richtung drehen" -#: ../../library/turtle.rst:2866 +#: ../../library/turtle.rst:2885 msgid "" "compound shapes, :func:`clone` :func:`shapesize`, :func:`tilt`, :func:" "`get_shapepoly`, :func:`update`" @@ -5092,139 +5115,132 @@ msgstr "" "zusammengesetzte Formen, :func:`clone` :func:`shapesize`, :func:`tilt`, :" "func:`get_shapepoly`, :func:`update`" -#: ../../library/turtle.rst:2870 +#: ../../library/turtle.rst:2889 msgid "``sorting_animate``" msgstr "``sorting_animate``" -#: ../../library/turtle.rst:2870 +#: ../../library/turtle.rst:2889 msgid "visual demonstration of different sorting methods" msgstr "visuelle Demonstration verschiedener Sortiermethoden" -#: ../../library/turtle.rst:2870 +#: ../../library/turtle.rst:2889 msgid "simple alignment, randomization" msgstr "einfache Ausrichtung, Zufallsgenerierung" -#: ../../library/turtle.rst:2873 +#: ../../library/turtle.rst:2892 msgid "``tree``" msgstr "``tree``" -#: ../../library/turtle.rst:2873 +#: ../../library/turtle.rst:2892 msgid "a (graphical) breadth first tree (using generators)" msgstr "ein (grafischer) Breitensuche-Baum (unter Verwendung von Generatoren)" -#: ../../library/turtle.rst:2876 +#: ../../library/turtle.rst:2895 msgid "``two_canvases``" msgstr "``two_canvases``" -#: ../../library/turtle.rst:2876 +#: ../../library/turtle.rst:2895 msgid "simple design" msgstr "einfaches Design" -#: ../../library/turtle.rst:2876 +#: ../../library/turtle.rst:2895 msgid "turtles on two canvases" msgstr "Turtles auf zwei Canvas" -#: ../../library/turtle.rst:2879 +#: ../../library/turtle.rst:2898 msgid "``yinyang``" msgstr "``yinyang``" -#: ../../library/turtle.rst:2879 +#: ../../library/turtle.rst:2898 msgid "another elementary example" msgstr "ein weiteres elementares Beispiel" -#: ../../library/turtle.rst:2882 +#: ../../library/turtle.rst:2901 msgid "Have fun!" msgstr "Viel Spaß!" -#: ../../library/turtle.rst:2886 -msgid "Changes since Python 2.6" -msgstr "Änderungen seit Python 2.6" - -#: ../../library/turtle.rst:2888 -msgid "" -"The methods :func:`Turtle.tracer `, :func:`Turtle.window_width " -"` and :func:`Turtle.window_height ` have been " -"eliminated. Methods with these names and functionality are now available " -"only as methods of :class:`Screen`. The functions derived from these remain " -"available. (In fact already in Python 2.6 these methods were merely " -"duplications of the corresponding :class:`TurtleScreen`/:class:`Screen` " -"methods.)" -msgstr "" -"Die Methoden :func:`Turtle.tracer `, :func:`Turtle.window_width " -"` und :func:`Turtle.window_height ` wurden " -"entfernt. Methoden mit diesen Namen und dieser Funktionalität sind jetzt nur " -"noch als Methoden von :class:`Screen` verfügbar. Die davon abgeleiteten " -"Funktionen bleiben verfügbar. (Tatsächlich waren diese Methoden bereits in " -"Python 2.6 lediglich Duplikate der entsprechenden :class:`TurtleScreen`/:" -"class:`Screen`-Methoden.)" - -#: ../../library/turtle.rst:2896 -msgid "" -"The method :func:`!Turtle.fill` has been eliminated. The behaviour of :func:" -"`begin_fill` and :func:`end_fill` have changed slightly: now every filling " -"process must be completed with an ``end_fill()`` call." -msgstr "" -"Die Methode :func:`!Turtle.fill` wurde entfernt. Das Verhalten von :func:" -"`begin_fill` und :func:`end_fill` hat sich leicht geändert: Jetzt muss jeder " -"Füllvorgang mit einem Aufruf von ``end_fill()`` abgeschlossen werden." - -#: ../../library/turtle.rst:2901 -msgid "" -"A method :func:`Turtle.filling ` has been added. It returns a " -"boolean value: ``True`` if a filling process is under way, ``False`` " -"otherwise. This behaviour corresponds to a ``fill()`` call without arguments " -"in Python 2.6." -msgstr "" -"Eine Methode :func:`Turtle.filling ` wurde hinzugefügt. Sie gibt " -"einen booleschen Wert zurück: ``True``, wenn ein Füllvorgang im Gange ist, " -"andernfalls ``False``. Dieses Verhalten entspricht einem Aufruf von " -"``fill()`` ohne Argumente in Python 2.6." - -#: ../../library/turtle.rst:2907 -msgid "Changes since Python 3.0" -msgstr "Änderungen seit Python 3.0" - -#: ../../library/turtle.rst:2909 -msgid "" -"The :class:`Turtle` methods :func:`shearfactor`, :func:`shapetransform` and :" -"func:`get_shapepoly` have been added. Thus the full range of regular linear " -"transforms is now available for transforming turtle shapes. :func:" -"`tiltangle` has been enhanced in functionality: it now can be used to get or " -"set the tilt angle." -msgstr "" -"Die :class:`Turtle`-Methoden :func:`shearfactor`, :func:`shapetransform` " -"und :func:`get_shapepoly` wurden hinzugefügt. Damit steht nun der gesamte " -"Bereich regulärer linearer Transformationen zur Transformation von Turtle-" -"Formen zur Verfügung. :func:`tiltangle` wurde funktional erweitert: Es kann " -"jetzt verwendet werden, um den Kippwinkel abzurufen oder zu setzen." - -#: ../../library/turtle.rst:2915 -msgid "" -"The :class:`Screen` method :func:`onkeypress` has been added as a complement " -"to :func:`onkey`. As the latter binds actions to the key release event, an " -"alias: :func:`onkeyrelease` was also added for it." -msgstr "" -"Die :class:`Screen`-Methode :func:`onkeypress` wurde als Ergänzung zu :func:" -"`onkey` hinzugefügt. Da Letzteres Aktionen an das Loslassen-Ereignis der " -"Taste bindet, wurde dafür auch ein Alias hinzugefügt: :func:`onkeyrelease`." - -#: ../../library/turtle.rst:2919 -msgid "" -"The method :func:`Screen.mainloop ` has been added, so there is no " -"longer a need to use the standalone :func:`mainloop` function when working " -"with :class:`Screen` and :class:`Turtle` objects." -msgstr "" -"Die Methode :func:`Screen.mainloop ` wurde hinzugefügt, sodass es " -"nicht mehr nötig ist, die eigenständige Funktion :func:`mainloop` zu " -"verwenden, wenn mit :class:`Screen`- und :class:`Turtle`-Objekten gearbeitet " -"wird." - -#: ../../library/turtle.rst:2923 -msgid "" -"Two input methods have been added: :func:`Screen.textinput ` and :" -"func:`Screen.numinput `. These pop up input dialogs and return " -"strings and numbers respectively." -msgstr "" -"Zwei Eingabemethoden wurden hinzugefügt: :func:`Screen.textinput " -"` und :func:`Screen.numinput `. Diese öffnen " -"Eingabedialoge und geben jeweils Zeichenketten bzw. Zahlen zurück." +#~ msgid "Changes since Python 2.6" +#~ msgstr "Änderungen seit Python 2.6" + +#~ msgid "" +#~ "The methods :func:`Turtle.tracer `, :func:`Turtle.window_width " +#~ "` and :func:`Turtle.window_height ` have " +#~ "been eliminated. Methods with these names and functionality are now " +#~ "available only as methods of :class:`Screen`. The functions derived from " +#~ "these remain available. (In fact already in Python 2.6 these methods were " +#~ "merely duplications of the corresponding :class:`TurtleScreen`/:class:" +#~ "`Screen` methods.)" +#~ msgstr "" +#~ "Die Methoden :func:`Turtle.tracer `, :func:`Turtle.window_width " +#~ "` und :func:`Turtle.window_height ` wurden " +#~ "entfernt. Methoden mit diesen Namen und dieser Funktionalität sind jetzt " +#~ "nur noch als Methoden von :class:`Screen` verfügbar. Die davon " +#~ "abgeleiteten Funktionen bleiben verfügbar. (Tatsächlich waren diese " +#~ "Methoden bereits in Python 2.6 lediglich Duplikate der entsprechenden :" +#~ "class:`TurtleScreen`/:class:`Screen`-Methoden.)" + +#~ msgid "" +#~ "The method :func:`!Turtle.fill` has been eliminated. The behaviour of :" +#~ "func:`begin_fill` and :func:`end_fill` have changed slightly: now every " +#~ "filling process must be completed with an ``end_fill()`` call." +#~ msgstr "" +#~ "Die Methode :func:`!Turtle.fill` wurde entfernt. Das Verhalten von :func:" +#~ "`begin_fill` und :func:`end_fill` hat sich leicht geändert: Jetzt muss " +#~ "jeder Füllvorgang mit einem Aufruf von ``end_fill()`` abgeschlossen " +#~ "werden." + +#~ msgid "" +#~ "A method :func:`Turtle.filling ` has been added. It returns a " +#~ "boolean value: ``True`` if a filling process is under way, ``False`` " +#~ "otherwise. This behaviour corresponds to a ``fill()`` call without " +#~ "arguments in Python 2.6." +#~ msgstr "" +#~ "Eine Methode :func:`Turtle.filling ` wurde hinzugefügt. Sie gibt " +#~ "einen booleschen Wert zurück: ``True``, wenn ein Füllvorgang im Gange " +#~ "ist, andernfalls ``False``. Dieses Verhalten entspricht einem Aufruf von " +#~ "``fill()`` ohne Argumente in Python 2.6." + +#~ msgid "Changes since Python 3.0" +#~ msgstr "Änderungen seit Python 3.0" + +#~ msgid "" +#~ "The :class:`Turtle` methods :func:`shearfactor`, :func:`shapetransform` " +#~ "and :func:`get_shapepoly` have been added. Thus the full range of regular " +#~ "linear transforms is now available for transforming turtle shapes. :func:" +#~ "`tiltangle` has been enhanced in functionality: it now can be used to get " +#~ "or set the tilt angle." +#~ msgstr "" +#~ "Die :class:`Turtle`-Methoden :func:`shearfactor`, :func:`shapetransform` " +#~ "und :func:`get_shapepoly` wurden hinzugefügt. Damit steht nun der gesamte " +#~ "Bereich regulärer linearer Transformationen zur Transformation von Turtle-" +#~ "Formen zur Verfügung. :func:`tiltangle` wurde funktional erweitert: Es " +#~ "kann jetzt verwendet werden, um den Kippwinkel abzurufen oder zu setzen." + +#~ msgid "" +#~ "The :class:`Screen` method :func:`onkeypress` has been added as a " +#~ "complement to :func:`onkey`. As the latter binds actions to the key " +#~ "release event, an alias: :func:`onkeyrelease` was also added for it." +#~ msgstr "" +#~ "Die :class:`Screen`-Methode :func:`onkeypress` wurde als Ergänzung zu :" +#~ "func:`onkey` hinzugefügt. Da Letzteres Aktionen an das Loslassen-Ereignis " +#~ "der Taste bindet, wurde dafür auch ein Alias hinzugefügt: :func:" +#~ "`onkeyrelease`." + +#~ msgid "" +#~ "The method :func:`Screen.mainloop ` has been added, so there is " +#~ "no longer a need to use the standalone :func:`mainloop` function when " +#~ "working with :class:`Screen` and :class:`Turtle` objects." +#~ msgstr "" +#~ "Die Methode :func:`Screen.mainloop ` wurde hinzugefügt, sodass " +#~ "es nicht mehr nötig ist, die eigenständige Funktion :func:`mainloop` zu " +#~ "verwenden, wenn mit :class:`Screen`- und :class:`Turtle`-Objekten " +#~ "gearbeitet wird." + +#~ msgid "" +#~ "Two input methods have been added: :func:`Screen.textinput ` " +#~ "and :func:`Screen.numinput `. These pop up input dialogs and " +#~ "return strings and numbers respectively." +#~ msgstr "" +#~ "Zwei Eingabemethoden wurden hinzugefügt: :func:`Screen.textinput " +#~ "` und :func:`Screen.numinput `. Diese öffnen " +#~ "Eingabedialoge und geben jeweils Zeichenketten bzw. Zahlen zurück." diff --git a/tutorial/index.po b/tutorial/index.po index caccb154..85821318 100644 --- a/tutorial/index.po +++ b/tutorial/index.po @@ -94,11 +94,11 @@ msgid "" "`extending-index` and :ref:`c-api-index`. There are also several books " "covering Python in depth." msgstr "" -"Eine Beschreibung der Standardobjekte und -module findest du unter :ref:`builtins-index` " -"und :ref:`library-index`. :ref:`reference-index` bietet eine formellere Definition " -"der Sprache. Um Erweiterungen in C oder C++ zu schreiben, lies :ref:" -"`extending-index` und :ref:`c-api-index`. Es gibt außerdem mehrere Bücher, " -"die sich eingehend mit Python befassen." +"Eine Beschreibung der Standardobjekte und -module findest du unter :ref:" +"`builtins-index` und :ref:`library-index`. :ref:`reference-index` bietet " +"eine formellere Definition der Sprache. Um Erweiterungen in C oder C++ zu " +"schreiben, lies :ref:`extending-index` und :ref:`c-api-index`. Es gibt " +"außerdem mehrere Bücher, die sich eingehend mit Python befassen." #: ../../tutorial/index.rst:38 msgid "" diff --git a/whatsnew/changelog.po b/whatsnew/changelog.po index ee4f91a2..87834584 100644 --- a/whatsnew/changelog.po +++ b/whatsnew/changelog.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-15 09:12+0000\n" +"POT-Creation-Date: 2026-09-23 06:17+0000\n" "PO-Revision-Date: 2025-09-16 00:02+0000\n" "Last-Translator: python-doc bot, 2025\n" "Language-Team: German (https://app.transifex.com/python-doc/teams/5390/de/)\n" @@ -33,19 +33,19 @@ msgstr "" msgid "*Release date: XXXX-XX-XX*" msgstr "" -#: ../NEWS:8 ../NEWS:518 ../NEWS:1439 ../NEWS:1737 ../NEWS:1795 ../NEWS:2051 -#: ../NEWS:2593 ../NEWS:3026 ../NEWS:3130 ../NEWS:3926 ../NEWS:3958 -#: ../NEWS:4172 ../NEWS:4324 ../NEWS:4534 ../NEWS:4812 ../NEWS:5104 -#: ../NEWS:5919 ../NEWS:6305 ../NEWS:6868 ../NEWS:7767 ../NEWS:8229 -#: ../NEWS:8969 ../NEWS:11249 ../NEWS:12399 ../NEWS:12855 ../NEWS:13411 -#: ../NEWS:14930 ../NEWS:17409 ../NEWS:18627 ../NEWS:18948 ../NEWS:19642 -#: ../NEWS:19984 ../NEWS:20426 ../NEWS:22699 ../NEWS:26401 ../NEWS:28358 -#: ../NEWS:29074 ../NEWS:29505 ../NEWS:29751 ../NEWS:30393 ../NEWS:30984 -#: ../NEWS:31340 ../NEWS:32594 ../NEWS:32947 ../NEWS:33399 ../NEWS:33905 -#: ../NEWS:34606 ../NEWS:34991 ../NEWS:36944 ../NEWS:37702 ../NEWS:38246 -#: ../NEWS:38777 ../NEWS:42307 ../NEWS:42525 ../NEWS:44253 ../NEWS:46706 -#: ../NEWS:47473 ../NEWS:47937 ../NEWS:47964 ../NEWS:50008 ../NEWS:50219 -#: ../NEWS:50510 ../NEWS:51806 ../NEWS:51865 ../NEWS:52282 ../NEWS:52985 +#: ../NEWS:8 ../NEWS:608 ../NEWS:1529 ../NEWS:1827 ../NEWS:1885 ../NEWS:2141 +#: ../NEWS:2683 ../NEWS:3116 ../NEWS:3220 ../NEWS:4016 ../NEWS:4048 +#: ../NEWS:4262 ../NEWS:4414 ../NEWS:4624 ../NEWS:4902 ../NEWS:5194 +#: ../NEWS:6009 ../NEWS:6395 ../NEWS:6958 ../NEWS:7857 ../NEWS:8319 +#: ../NEWS:9059 ../NEWS:11339 ../NEWS:12489 ../NEWS:12945 ../NEWS:13501 +#: ../NEWS:15020 ../NEWS:17499 ../NEWS:18717 ../NEWS:19038 ../NEWS:19732 +#: ../NEWS:20074 ../NEWS:20516 ../NEWS:22789 ../NEWS:26491 ../NEWS:28448 +#: ../NEWS:29164 ../NEWS:29595 ../NEWS:29841 ../NEWS:30483 ../NEWS:31074 +#: ../NEWS:31430 ../NEWS:32684 ../NEWS:33037 ../NEWS:33489 ../NEWS:33995 +#: ../NEWS:34696 ../NEWS:35081 ../NEWS:37034 ../NEWS:37792 ../NEWS:38336 +#: ../NEWS:38867 ../NEWS:42397 ../NEWS:42615 ../NEWS:44343 ../NEWS:46796 +#: ../NEWS:47563 ../NEWS:48027 ../NEWS:48054 ../NEWS:50098 ../NEWS:50309 +#: ../NEWS:50600 ../NEWS:51896 ../NEWS:51955 ../NEWS:52372 ../NEWS:53075 msgid "Security" msgstr "" @@ -87,48 +87,48 @@ msgid "" "without a scheme continue to match any scheme." msgstr "" -#: ../NEWS:35 ../NEWS:566 ../NEWS:1481 ../NEWS:1744 ../NEWS:1835 ../NEWS:2075 -#: ../NEWS:2879 ../NEWS:3067 ../NEWS:3605 ../NEWS:3617 ../NEWS:3655 -#: ../NEWS:3668 ../NEWS:3704 ../NEWS:3777 ../NEWS:3807 ../NEWS:4022 -#: ../NEWS:4117 ../NEWS:4225 ../NEWS:4236 ../NEWS:4265 ../NEWS:4466 -#: ../NEWS:4652 ../NEWS:4670 ../NEWS:4694 ../NEWS:4709 ../NEWS:4987 -#: ../NEWS:5530 ../NEWS:5571 ../NEWS:5633 ../NEWS:6117 ../NEWS:6201 -#: ../NEWS:6583 ../NEWS:6691 ../NEWS:6751 ../NEWS:7159 ../NEWS:7195 -#: ../NEWS:7296 ../NEWS:7586 ../NEWS:7611 ../NEWS:7643 ../NEWS:8002 -#: ../NEWS:8048 ../NEWS:8629 ../NEWS:8649 ../NEWS:8666 ../NEWS:10246 -#: ../NEWS:10270 ../NEWS:10365 ../NEWS:10538 ../NEWS:10610 ../NEWS:10673 -#: ../NEWS:10691 ../NEWS:10858 ../NEWS:11259 ../NEWS:11287 ../NEWS:11901 -#: ../NEWS:12012 ../NEWS:12416 ../NEWS:12458 ../NEWS:12471 ../NEWS:12863 -#: ../NEWS:13420 ../NEWS:14294 ../NEWS:14955 ../NEWS:17433 ../NEWS:17563 -#: ../NEWS:18330 ../NEWS:18371 ../NEWS:18407 ../NEWS:18648 ../NEWS:18957 -#: ../NEWS:19206 ../NEWS:19255 ../NEWS:19320 ../NEWS:19656 ../NEWS:19694 -#: ../NEWS:20004 ../NEWS:20137 ../NEWS:20464 ../NEWS:20500 ../NEWS:20576 -#: ../NEWS:20621 ../NEWS:20814 ../NEWS:20832 ../NEWS:20849 ../NEWS:20974 -#: ../NEWS:21097 ../NEWS:21112 ../NEWS:22706 ../NEWS:22851 ../NEWS:22896 -#: ../NEWS:23466 ../NEWS:23542 ../NEWS:23567 ../NEWS:24079 ../NEWS:24162 -#: ../NEWS:24214 ../NEWS:24239 ../NEWS:24538 ../NEWS:24629 ../NEWS:24656 -#: ../NEWS:24935 ../NEWS:24985 ../NEWS:25009 ../NEWS:25074 ../NEWS:25387 -#: ../NEWS:25445 ../NEWS:25875 ../NEWS:26428 ../NEWS:26462 ../NEWS:26474 -#: ../NEWS:26533 ../NEWS:26553 ../NEWS:26585 ../NEWS:26715 ../NEWS:26766 -#: ../NEWS:26786 ../NEWS:26885 ../NEWS:28414 ../NEWS:28451 ../NEWS:28542 -#: ../NEWS:29096 ../NEWS:29117 ../NEWS:29512 ../NEWS:29557 ../NEWS:29582 -#: ../NEWS:29757 ../NEWS:29810 ../NEWS:30020 ../NEWS:30062 ../NEWS:30095 -#: ../NEWS:30400 ../NEWS:30452 ../NEWS:30497 ../NEWS:30508 ../NEWS:30995 -#: ../NEWS:31074 ../NEWS:31361 ../NEWS:31383 ../NEWS:31411 ../NEWS:31430 -#: ../NEWS:31443 ../NEWS:31459 ../NEWS:31473 ../NEWS:31485 ../NEWS:31503 -#: ../NEWS:31544 ../NEWS:31563 ../NEWS:31612 ../NEWS:31642 ../NEWS:31756 -#: ../NEWS:31776 ../NEWS:32600 ../NEWS:32962 ../NEWS:33406 ../NEWS:33916 -#: ../NEWS:34257 ../NEWS:34624 ../NEWS:35040 ../NEWS:36959 ../NEWS:37720 -#: ../NEWS:38258 ../NEWS:38564 ../NEWS:38825 ../NEWS:41805 ../NEWS:41917 -#: ../NEWS:42130 ../NEWS:42321 ../NEWS:42531 ../NEWS:42775 ../NEWS:43094 -#: ../NEWS:43398 ../NEWS:43998 ../NEWS:44287 ../NEWS:46379 ../NEWS:46716 -#: ../NEWS:47033 ../NEWS:47482 ../NEWS:47971 ../NEWS:48313 ../NEWS:48337 -#: ../NEWS:48661 ../NEWS:48691 ../NEWS:48755 ../NEWS:48869 ../NEWS:48993 -#: ../NEWS:49261 ../NEWS:49770 ../NEWS:50017 ../NEWS:50231 ../NEWS:50523 -#: ../NEWS:51829 ../NEWS:51890 ../NEWS:52291 ../NEWS:52964 ../NEWS:53007 -#: ../NEWS:53715 ../NEWS:53733 ../NEWS:54256 ../NEWS:54291 ../NEWS:54319 -#: ../NEWS:54411 ../NEWS:54498 ../NEWS:54603 ../NEWS:54646 ../NEWS:54922 -#: ../NEWS:55157 ../NEWS:55343 ../NEWS:55482 +#: ../NEWS:35 ../NEWS:656 ../NEWS:1571 ../NEWS:1834 ../NEWS:1925 ../NEWS:2165 +#: ../NEWS:2969 ../NEWS:3157 ../NEWS:3695 ../NEWS:3707 ../NEWS:3745 +#: ../NEWS:3758 ../NEWS:3794 ../NEWS:3867 ../NEWS:3897 ../NEWS:4112 +#: ../NEWS:4207 ../NEWS:4315 ../NEWS:4326 ../NEWS:4355 ../NEWS:4556 +#: ../NEWS:4742 ../NEWS:4760 ../NEWS:4784 ../NEWS:4799 ../NEWS:5077 +#: ../NEWS:5620 ../NEWS:5661 ../NEWS:5723 ../NEWS:6207 ../NEWS:6291 +#: ../NEWS:6673 ../NEWS:6781 ../NEWS:6841 ../NEWS:7249 ../NEWS:7285 +#: ../NEWS:7386 ../NEWS:7676 ../NEWS:7701 ../NEWS:7733 ../NEWS:8092 +#: ../NEWS:8138 ../NEWS:8719 ../NEWS:8739 ../NEWS:8756 ../NEWS:10336 +#: ../NEWS:10360 ../NEWS:10455 ../NEWS:10628 ../NEWS:10700 ../NEWS:10763 +#: ../NEWS:10781 ../NEWS:10948 ../NEWS:11349 ../NEWS:11377 ../NEWS:11991 +#: ../NEWS:12102 ../NEWS:12506 ../NEWS:12548 ../NEWS:12561 ../NEWS:12953 +#: ../NEWS:13510 ../NEWS:14384 ../NEWS:15045 ../NEWS:17523 ../NEWS:17653 +#: ../NEWS:18420 ../NEWS:18461 ../NEWS:18497 ../NEWS:18738 ../NEWS:19047 +#: ../NEWS:19296 ../NEWS:19345 ../NEWS:19410 ../NEWS:19746 ../NEWS:19784 +#: ../NEWS:20094 ../NEWS:20227 ../NEWS:20554 ../NEWS:20590 ../NEWS:20666 +#: ../NEWS:20711 ../NEWS:20904 ../NEWS:20922 ../NEWS:20939 ../NEWS:21064 +#: ../NEWS:21187 ../NEWS:21202 ../NEWS:22796 ../NEWS:22941 ../NEWS:22986 +#: ../NEWS:23556 ../NEWS:23632 ../NEWS:23657 ../NEWS:24169 ../NEWS:24252 +#: ../NEWS:24304 ../NEWS:24329 ../NEWS:24628 ../NEWS:24719 ../NEWS:24746 +#: ../NEWS:25025 ../NEWS:25075 ../NEWS:25099 ../NEWS:25164 ../NEWS:25477 +#: ../NEWS:25535 ../NEWS:25965 ../NEWS:26518 ../NEWS:26552 ../NEWS:26564 +#: ../NEWS:26623 ../NEWS:26643 ../NEWS:26675 ../NEWS:26805 ../NEWS:26856 +#: ../NEWS:26876 ../NEWS:26975 ../NEWS:28504 ../NEWS:28541 ../NEWS:28632 +#: ../NEWS:29186 ../NEWS:29207 ../NEWS:29602 ../NEWS:29647 ../NEWS:29672 +#: ../NEWS:29847 ../NEWS:29900 ../NEWS:30110 ../NEWS:30152 ../NEWS:30185 +#: ../NEWS:30490 ../NEWS:30542 ../NEWS:30587 ../NEWS:30598 ../NEWS:31085 +#: ../NEWS:31164 ../NEWS:31451 ../NEWS:31473 ../NEWS:31501 ../NEWS:31520 +#: ../NEWS:31533 ../NEWS:31549 ../NEWS:31563 ../NEWS:31575 ../NEWS:31593 +#: ../NEWS:31634 ../NEWS:31653 ../NEWS:31702 ../NEWS:31732 ../NEWS:31846 +#: ../NEWS:31866 ../NEWS:32690 ../NEWS:33052 ../NEWS:33496 ../NEWS:34006 +#: ../NEWS:34347 ../NEWS:34714 ../NEWS:35130 ../NEWS:37049 ../NEWS:37810 +#: ../NEWS:38348 ../NEWS:38654 ../NEWS:38915 ../NEWS:41895 ../NEWS:42007 +#: ../NEWS:42220 ../NEWS:42411 ../NEWS:42621 ../NEWS:42865 ../NEWS:43184 +#: ../NEWS:43488 ../NEWS:44088 ../NEWS:44377 ../NEWS:46469 ../NEWS:46806 +#: ../NEWS:47123 ../NEWS:47572 ../NEWS:48061 ../NEWS:48403 ../NEWS:48427 +#: ../NEWS:48751 ../NEWS:48781 ../NEWS:48845 ../NEWS:48959 ../NEWS:49083 +#: ../NEWS:49351 ../NEWS:49860 ../NEWS:50107 ../NEWS:50321 ../NEWS:50613 +#: ../NEWS:51919 ../NEWS:51980 ../NEWS:52381 ../NEWS:53054 ../NEWS:53097 +#: ../NEWS:53805 ../NEWS:53823 ../NEWS:54346 ../NEWS:54381 ../NEWS:54409 +#: ../NEWS:54501 ../NEWS:54588 ../NEWS:54693 ../NEWS:54736 ../NEWS:55012 +#: ../NEWS:55247 ../NEWS:55433 ../NEWS:55572 msgid "Core and Builtins" msgstr "" @@ -170,42 +170,61 @@ msgstr "" #: ../NEWS:58 msgid "" +":gh:`155525`: Fix quadratic-time tokenization of modules containing many f-" +"strings or t-strings." +msgstr "" + +#: ../NEWS:61 +msgid "" ":gh:`156689`: Fix an out-of-bounds read in :func:`compile` and :func:`ast." "parse` when an AST object is passed with ``mode='func_type'``." msgstr "" -#: ../NEWS:61 +#: ../NEWS:64 msgid "" ":gh:`156371`: Fix missing ``PyRefTracer_DESTROY`` events for trashcan " "deferred objects. Patch by Donghee Na." msgstr "" -#: ../NEWS:64 +#: ../NEWS:67 +msgid "" +":gh:`156114`: Fix a crash in the perf trampoline when a code object has a " +"name or filename that cannot be encoded to UTF-8. Patched by Shamil Abdulaev." +msgstr "" + +#: ../NEWS:71 msgid "" ":gh:`156126`: Fix a crash when importing a module whose name contains " "characters that cannot be encoded to UTF-8 (such as lone surrogates) while :" "option:`-X importtime <-X>` is enabled." msgstr "" -#: ../NEWS:68 +#: ../NEWS:75 msgid "" ":gh:`155752`: Fix a crash when a :class:`types.GenericAlias` argument gains " "a ``__typing_subst__`` hook after the alias parameters have been cached." msgstr "" -#: ../NEWS:71 +#: ../NEWS:78 msgid "" ":gh:`155504`: Fix a crash when thread state creation fails before the thread " "state is fully initialized." msgstr "" -#: ../NEWS:74 +#: ../NEWS:81 +msgid "" +":gh:`155526`: Fix spurious :exc:`OverflowError` for ``abs(nanj)`` in case :c:" +"data:`errno` was previously set to :c:macro:`!ERANGE` by some library call. " +"Patch by Sergey B Kirpichev." +msgstr "" + +#: ../NEWS:85 msgid "" ":gh:`129752`: Don't update adaptive counters in the free-threaded build when " "thread-local bytecode is disabled (``-X tlbc=0``). Patch by Donghee Na." msgstr "" -#: ../NEWS:77 +#: ../NEWS:88 msgid "" ":gh:`155515`: Track the internal HAMT iterators, which back iteration over " "a :class:`contextvars.Context`, with the garbage collector. A reference " @@ -213,20 +232,20 @@ msgid "" "whole context it iterated over." msgstr "" -#: ../NEWS:82 +#: ../NEWS:93 msgid "" ":gh:`154937`: Fix a data race on thread handle identifiers when ``_thread." "_shutdown()`` runs concurrently with the startup of non-daemon threads in " "the :term:`free-threaded build`." msgstr "" -#: ../NEWS:86 +#: ../NEWS:97 msgid "" ":gh:`154902`: Fix a crash when ``__conditional_annotations__`` is rebound to " "a non-set object." msgstr "" -#: ../NEWS:89 +#: ../NEWS:100 msgid "" ":gh:`154719`: Trailing whitespace in a t-string interpolation expression is " "now preserved in :attr:`string.templatelib.Interpolation.expression`, up to " @@ -238,14 +257,14 @@ msgid "" "containing comments." msgstr "" -#: ../NEWS:98 +#: ../NEWS:109 msgid "" ":gh:`153578`: Fix an out-of-bounds write in :meth:`bytearray.extend` when " "the bytearray is resized while the argument's :meth:`~object.__buffer__` is " "being acquired, for example by another thread. Patch by tonghuaroot." msgstr "" -#: ../NEWS:102 +#: ../NEWS:113 msgid "" ":gh:`148817`: Fold large constant list and set literals used as the iterable " "of a :keyword:`for` loop or ``in``/``not in`` test into a constant :class:" @@ -253,13 +272,13 @@ msgid "" "the AST optimizer that was lost when constant folding moved to the CFG." msgstr "" -#: ../NEWS:108 +#: ../NEWS:119 msgid "" ":gh:`146096`: Fixed segmentation fault when called repr for " "BaseExceptionGroup with empty or 1-size tuple args." msgstr "" -#: ../NEWS:111 +#: ../NEWS:122 msgid "" ":gh:`85260`: :func:`compile` now raises :exc:`ValueError` instead of " "crashing on a debug build if an identifier field of an AST node (such as the " @@ -267,53 +286,66 @@ msgid "" "``\"None\"``, ``\"True\"`` or ``\"False\"``." msgstr "" -#: ../NEWS:117 ../NEWS:702 ../NEWS:1550 ../NEWS:1752 ../NEWS:1898 ../NEWS:2237 -#: ../NEWS:2616 ../NEWS:3039 ../NEWS:3073 ../NEWS:3163 ../NEWS:3611 -#: ../NEWS:3649 ../NEWS:3662 ../NEWS:3696 ../NEWS:3771 ../NEWS:3797 -#: ../NEWS:3935 ../NEWS:3968 ../NEWS:4080 ../NEWS:4182 ../NEWS:4231 -#: ../NEWS:4259 ../NEWS:4361 ../NEWS:4549 ../NEWS:4663 ../NEWS:4688 -#: ../NEWS:4703 ../NEWS:4822 ../NEWS:5114 ../NEWS:5565 ../NEWS:5627 -#: ../NEWS:5775 ../NEWS:5934 ../NEWS:6195 ../NEWS:6313 ../NEWS:6686 -#: ../NEWS:6744 ../NEWS:6896 ../NEWS:7189 ../NEWS:7289 ../NEWS:7303 -#: ../NEWS:7409 ../NEWS:7604 ../NEWS:7636 ../NEWS:7775 ../NEWS:8037 -#: ../NEWS:8234 ../NEWS:8642 ../NEWS:8659 ../NEWS:8762 ../NEWS:9020 -#: ../NEWS:10264 ../NEWS:10359 ../NEWS:10532 ../NEWS:10603 ../NEWS:10666 -#: ../NEWS:10684 ../NEWS:10852 ../NEWS:11280 ../NEWS:11458 ../NEWS:12003 -#: ../NEWS:12018 ../NEWS:12451 ../NEWS:12464 ../NEWS:12487 ../NEWS:12973 -#: ../NEWS:13579 ../NEWS:14466 ../NEWS:15591 ../NEWS:17427 ../NEWS:17553 -#: ../NEWS:17649 ../NEWS:18364 ../NEWS:18413 ../NEWS:18728 ../NEWS:19018 -#: ../NEWS:19249 ../NEWS:19315 ../NEWS:19327 ../NEWS:19685 ../NEWS:19731 -#: ../NEWS:20162 ../NEWS:20492 ../NEWS:20571 ../NEWS:20614 ../NEWS:20808 -#: ../NEWS:20825 ../NEWS:20838 ../NEWS:20964 ../NEWS:21092 ../NEWS:21107 -#: ../NEWS:21134 ../NEWS:22842 ../NEWS:22914 ../NEWS:23535 ../NEWS:23561 -#: ../NEWS:23597 ../NEWS:24157 ../NEWS:24207 ../NEWS:24230 ../NEWS:24254 -#: ../NEWS:24623 ../NEWS:24646 ../NEWS:24663 ../NEWS:24979 ../NEWS:25004 -#: ../NEWS:25068 ../NEWS:25100 ../NEWS:25439 ../NEWS:25519 ../NEWS:25984 -#: ../NEWS:26453 ../NEWS:26467 ../NEWS:26526 ../NEWS:26545 ../NEWS:26579 -#: ../NEWS:26708 ../NEWS:26758 ../NEWS:26779 ../NEWS:26878 ../NEWS:27002 -#: ../NEWS:28443 ../NEWS:28536 ../NEWS:28556 ../NEWS:29111 ../NEWS:29194 -#: ../NEWS:29544 ../NEWS:29573 ../NEWS:29589 ../NEWS:29803 ../NEWS:29819 -#: ../NEWS:30055 ../NEWS:30069 ../NEWS:30105 ../NEWS:30446 ../NEWS:30492 -#: ../NEWS:30503 ../NEWS:30520 ../NEWS:31067 ../NEWS:31081 ../NEWS:31377 -#: ../NEWS:31393 ../NEWS:31418 ../NEWS:31436 ../NEWS:31453 ../NEWS:31468 -#: ../NEWS:31479 ../NEWS:31497 ../NEWS:31539 ../NEWS:31556 ../NEWS:31607 -#: ../NEWS:31636 ../NEWS:31749 ../NEWS:31768 ../NEWS:31785 ../NEWS:32658 -#: ../NEWS:33046 ../NEWS:33533 ../NEWS:33993 ../NEWS:34355 ../NEWS:34701 -#: ../NEWS:35357 ../NEWS:37123 ../NEWS:37790 ../NEWS:38333 ../NEWS:38628 -#: ../NEWS:39379 ../NEWS:41787 ../NEWS:41820 ../NEWS:41948 ../NEWS:42156 -#: ../NEWS:42347 ../NEWS:42552 ../NEWS:42850 ../NEWS:43171 ../NEWS:43496 -#: ../NEWS:44086 ../NEWS:44746 ../NEWS:46416 ../NEWS:46762 ../NEWS:47128 -#: ../NEWS:47452 ../NEWS:47555 ../NEWS:48018 ../NEWS:48405 ../NEWS:48708 -#: ../NEWS:48790 ../NEWS:48893 ../NEWS:49063 ../NEWS:49398 ../NEWS:49816 -#: ../NEWS:50034 ../NEWS:50271 ../NEWS:50808 ../NEWS:51835 ../NEWS:51853 -#: ../NEWS:51941 ../NEWS:52422 ../NEWS:53137 ../NEWS:53801 ../NEWS:54239 -#: ../NEWS:54266 ../NEWS:54304 ../NEWS:54324 ../NEWS:54431 ../NEWS:54525 -#: ../NEWS:54621 ../NEWS:54696 ../NEWS:54954 ../NEWS:55177 ../NEWS:55350 -#: ../NEWS:55708 +#: ../NEWS:128 ../NEWS:792 ../NEWS:1640 ../NEWS:1842 ../NEWS:1988 ../NEWS:2327 +#: ../NEWS:2706 ../NEWS:3129 ../NEWS:3163 ../NEWS:3253 ../NEWS:3701 +#: ../NEWS:3739 ../NEWS:3752 ../NEWS:3786 ../NEWS:3861 ../NEWS:3887 +#: ../NEWS:4025 ../NEWS:4058 ../NEWS:4170 ../NEWS:4272 ../NEWS:4321 +#: ../NEWS:4349 ../NEWS:4451 ../NEWS:4639 ../NEWS:4753 ../NEWS:4778 +#: ../NEWS:4793 ../NEWS:4912 ../NEWS:5204 ../NEWS:5655 ../NEWS:5717 +#: ../NEWS:5865 ../NEWS:6024 ../NEWS:6285 ../NEWS:6403 ../NEWS:6776 +#: ../NEWS:6834 ../NEWS:6986 ../NEWS:7279 ../NEWS:7379 ../NEWS:7393 +#: ../NEWS:7499 ../NEWS:7694 ../NEWS:7726 ../NEWS:7865 ../NEWS:8127 +#: ../NEWS:8324 ../NEWS:8732 ../NEWS:8749 ../NEWS:8852 ../NEWS:9110 +#: ../NEWS:10354 ../NEWS:10449 ../NEWS:10622 ../NEWS:10693 ../NEWS:10756 +#: ../NEWS:10774 ../NEWS:10942 ../NEWS:11370 ../NEWS:11548 ../NEWS:12093 +#: ../NEWS:12108 ../NEWS:12541 ../NEWS:12554 ../NEWS:12577 ../NEWS:13063 +#: ../NEWS:13669 ../NEWS:14556 ../NEWS:15681 ../NEWS:17517 ../NEWS:17643 +#: ../NEWS:17739 ../NEWS:18454 ../NEWS:18503 ../NEWS:18818 ../NEWS:19108 +#: ../NEWS:19339 ../NEWS:19405 ../NEWS:19417 ../NEWS:19775 ../NEWS:19821 +#: ../NEWS:20252 ../NEWS:20582 ../NEWS:20661 ../NEWS:20704 ../NEWS:20898 +#: ../NEWS:20915 ../NEWS:20928 ../NEWS:21054 ../NEWS:21182 ../NEWS:21197 +#: ../NEWS:21224 ../NEWS:22932 ../NEWS:23004 ../NEWS:23625 ../NEWS:23651 +#: ../NEWS:23687 ../NEWS:24247 ../NEWS:24297 ../NEWS:24320 ../NEWS:24344 +#: ../NEWS:24713 ../NEWS:24736 ../NEWS:24753 ../NEWS:25069 ../NEWS:25094 +#: ../NEWS:25158 ../NEWS:25190 ../NEWS:25529 ../NEWS:25609 ../NEWS:26074 +#: ../NEWS:26543 ../NEWS:26557 ../NEWS:26616 ../NEWS:26635 ../NEWS:26669 +#: ../NEWS:26798 ../NEWS:26848 ../NEWS:26869 ../NEWS:26968 ../NEWS:27092 +#: ../NEWS:28533 ../NEWS:28626 ../NEWS:28646 ../NEWS:29201 ../NEWS:29284 +#: ../NEWS:29634 ../NEWS:29663 ../NEWS:29679 ../NEWS:29893 ../NEWS:29909 +#: ../NEWS:30145 ../NEWS:30159 ../NEWS:30195 ../NEWS:30536 ../NEWS:30582 +#: ../NEWS:30593 ../NEWS:30610 ../NEWS:31157 ../NEWS:31171 ../NEWS:31467 +#: ../NEWS:31483 ../NEWS:31508 ../NEWS:31526 ../NEWS:31543 ../NEWS:31558 +#: ../NEWS:31569 ../NEWS:31587 ../NEWS:31629 ../NEWS:31646 ../NEWS:31697 +#: ../NEWS:31726 ../NEWS:31839 ../NEWS:31858 ../NEWS:31875 ../NEWS:32748 +#: ../NEWS:33136 ../NEWS:33623 ../NEWS:34083 ../NEWS:34445 ../NEWS:34791 +#: ../NEWS:35447 ../NEWS:37213 ../NEWS:37880 ../NEWS:38423 ../NEWS:38718 +#: ../NEWS:39469 ../NEWS:41877 ../NEWS:41910 ../NEWS:42038 ../NEWS:42246 +#: ../NEWS:42437 ../NEWS:42642 ../NEWS:42940 ../NEWS:43261 ../NEWS:43586 +#: ../NEWS:44176 ../NEWS:44836 ../NEWS:46506 ../NEWS:46852 ../NEWS:47218 +#: ../NEWS:47542 ../NEWS:47645 ../NEWS:48108 ../NEWS:48495 ../NEWS:48798 +#: ../NEWS:48880 ../NEWS:48983 ../NEWS:49153 ../NEWS:49488 ../NEWS:49906 +#: ../NEWS:50124 ../NEWS:50361 ../NEWS:50898 ../NEWS:51925 ../NEWS:51943 +#: ../NEWS:52031 ../NEWS:52512 ../NEWS:53227 ../NEWS:53891 ../NEWS:54329 +#: ../NEWS:54356 ../NEWS:54394 ../NEWS:54414 ../NEWS:54521 ../NEWS:54615 +#: ../NEWS:54711 ../NEWS:54786 ../NEWS:55044 ../NEWS:55267 ../NEWS:55440 +#: ../NEWS:55798 msgid "Library" msgstr "" -#: ../NEWS:119 +#: ../NEWS:130 +msgid "" +":gh:`157788`: Fix ``python -m asyncio ps`` failing on a process that has a " +"task with a name longer than 255 characters." +msgstr "" + +#: ../NEWS:133 +msgid "" +":gh:`157451`: Fix :mod:`gettext` plural form selection when the ``Plural-" +"Forms`` expression combines the unary ``!`` operator with a binary operator, " +"for example ``!n + 1`` or ``2 * !n``. The latter raised :exc:`SyntaxError`." +msgstr "" + +#: ../NEWS:138 msgid "" ":gh:`157406`: Fix the Python implementation of :class:`xml.etree.ElementTree." "XMLParser`: the ``doctype()`` method of the target is now called for a " @@ -321,25 +353,35 @@ msgid "" "html>``, as in the C implementation." msgstr "" -#: ../NEWS:124 +#: ../NEWS:143 msgid "" ":gh:`128509`: :func:`marshal.load` and :func:`marshal.loads` can now get 1-" "byte string singletons. Patch by Victor Stinner." msgstr "" -#: ../NEWS:127 +#: ../NEWS:146 msgid "" ":gh:`157213`: Fix :func:`asyncio.gather` leaving stale await-graph edges on " "children that outlive it." msgstr "" -#: ../NEWS:130 +#: ../NEWS:149 +msgid "" +":gh:`156002`: :mod:`zipfile` again reads members through a third-party " +"decompressor installed by monkey-patching the private " +"``_get_decompressor()`` to return an object that only implements old " +"BZ2Decompressor API from Python 3.3. Note that decompressors without " +"``needs_input`` and two-argument ``decompress()`` are vulnerable to :cve:" +"`2026-15310`." +msgstr "" + +#: ../NEWS:156 msgid "" ":gh:`157159`: The usage message printed by ``python -m tabnanny`` when no " "arguments are given now suggests ``python -m`` instead of the source file." msgstr "" -#: ../NEWS:133 +#: ../NEWS:159 msgid "" ":gh:`123018`: Fix :func:`readline.write_history_file` and :func:`readline." "append_history_file` producing a history file that :func:`readline." @@ -348,58 +390,58 @@ msgid "" "around `NetBSD PR 60322 `_." msgstr "" -#: ../NEWS:140 +#: ../NEWS:166 msgid "" ":gh:`157058`: :func:`asyncio.wait_for` with a non-positive timeout now " "records the waiter in the call graph." msgstr "" -#: ../NEWS:143 +#: ../NEWS:169 msgid "" ":gh:`157048`: Preserve the position and contents of :class:`io.BytesIO` " "when :meth:`!BytesIO.__init__` fails because a buffer is exported." msgstr "" -#: ../NEWS:146 +#: ../NEWS:172 msgid "" ":gh:`156961`: Fix :func:`tkinter.font.nametofont` and the :class:`tkinter." "font.Font` constructor for a font name returned by Tk as a Tcl object, for " "example by :meth:`ttk.Style.lookup() `." msgstr "" -#: ../NEWS:151 +#: ../NEWS:177 msgid "" ":gh:`156988`: :func:`asyncio.print_call_graph` no longer truncates the call " "stack at a synchronous generator." msgstr "" -#: ../NEWS:154 +#: ../NEWS:180 msgid "" ":gh:`156970`: Set the docstring of :attr:`unittest.mock.Mock.return_value`." msgstr "" -#: ../NEWS:156 +#: ../NEWS:182 msgid "" ":gh:`156946`: Fix a crash in :mod:`curses.panel` when the finalizer of a " "panel's user pointer runs while the panel is being deallocated. The panel " "is now taken off the panel stack before its user pointer is dropped." msgstr "" -#: ../NEWS:160 +#: ../NEWS:186 msgid "" ":gh:`156797`: Fix :class:`xml.sax.saxutils.XMLGenerator`: the namespace URI " "is now escaped in the namespace declaration. Previously a URI containing " "``&``, ``<`` or a quote character produced a document which cannot be parsed." msgstr "" -#: ../NEWS:165 +#: ../NEWS:191 msgid "" ":gh:`83895`: :mod:`xml.etree.ElementTree` now accepts input larger than 2 " "GiB in the C implementation. The data is fed to Expat in chunks, as :mod:" "`xml.parsers.expat` already did, instead of raising :exc:`OverflowError`." msgstr "" -#: ../NEWS:170 +#: ../NEWS:196 msgid "" ":gh:`99064`: Fix :func:`xml.etree.ElementTree.parse` with a text file or " "other source of :class:`str` data in the C implementation. The encoding " @@ -408,7 +450,7 @@ msgid "" "feed` or :func:`~xml.etree.ElementTree.fromstring`." msgstr "" -#: ../NEWS:176 +#: ../NEWS:202 msgid "" ":gh:`156713`: Fix :func:`!nturl2path.pathname2url` and :func:`!nturl2path." "url2pathname`: the filesystem encoding and error handler are now used for " @@ -416,14 +458,14 @@ msgid "" "paths containing surrogate characters raised :exc:`UnicodeEncodeError`." msgstr "" -#: ../NEWS:182 +#: ../NEWS:208 msgid "" ":gh:`127057`: Fix :class:`asyncio.ProactorEventLoop` UDP transports so that " "a :exc:`ConnectionResetError` raised by ``WSARecvFrom`` no longer stops the " "read loop." msgstr "" -#: ../NEWS:186 +#: ../NEWS:212 msgid "" ":gh:`156658`: :mod:`xml.dom` and :mod:`xml.etree.ElementTree` no longer " "treat characters which are not white space in XML (such as U+00A0) as white " @@ -433,26 +475,26 @@ msgid "" "content`` feature turned off." msgstr "" -#: ../NEWS:194 +#: ../NEWS:220 msgid "" ":gh:`156512`: Fix :mod:`asyncio` losing a connection twice when " "``resume_writing()`` closes the transport." msgstr "" -#: ../NEWS:197 +#: ../NEWS:223 msgid "" ":gh:`156523`: Fix :func:`asyncio.as_completed` not recording the awaiting " "task in the call graph." msgstr "" -#: ../NEWS:200 +#: ../NEWS:226 msgid "" ":gh:`156476`: The pure Python implementation of :meth:`queue.SimpleQueue." "get` now ignores *timeout* when *block* is false, matching the documented " "behavior and the C implementation. It previously raised :exc:`ValueError`." msgstr "" -#: ../NEWS:204 +#: ../NEWS:230 msgid "" ":gh:`156444`: Fix matching of a negated character set in a bytes pattern " "compiled with both :const:`re.IGNORECASE` and :const:`re.LOCALE`. The case " @@ -460,19 +502,19 @@ msgid "" "longer matches ``b'B'``." msgstr "" -#: ../NEWS:209 +#: ../NEWS:235 msgid "" ":gh:`156408`: Fix :func:`asyncio.print_call_graph` raising :exc:" "`AttributeError` when called on a task that has already finished." msgstr "" -#: ../NEWS:212 +#: ../NEWS:238 msgid "" ":gh:`156353`: Fix :mod:`configparser` parsing when using whitespace in " "*delimiters*." msgstr "" -#: ../NEWS:215 +#: ../NEWS:241 msgid "" ":gh:`156166`: :mod:`ssl`: A failed assignment or deletion of the " "``_msg_callback`` attribute of :class:`ssl.SSLContext` no longer removes the " @@ -480,25 +522,25 @@ msgid "" "exc:`TypeError`." msgstr "" -#: ../NEWS:220 +#: ../NEWS:246 msgid "" ":gh:`156173`: Calling :meth:`zlib.Decompress.flush` on invalid compressed " "data now raises :exc:`zlib.error` instead of being silently ignored." msgstr "" -#: ../NEWS:223 +#: ../NEWS:249 msgid "" ":gh:`152817`: :mod:`sqlite3`: Disallow removing the ``row_factory`` " "attribute of a cursor to prevent a crash on a query." msgstr "" -#: ../NEWS:226 +#: ../NEWS:252 msgid "" ":gh:`156124`: Fix a crash in the free-threaded build when deleting the :attr:" "`!contents` attribute of a :mod:`ctypes` pointer." msgstr "" -#: ../NEWS:229 +#: ../NEWS:255 msgid "" ":gh:`156112`: :mod:`!_ios_support` no longer fails to import when :func:" "`ctypes.util.find_library` cannot resolve the ObjC runtime through the dyld " @@ -506,40 +548,40 @@ msgid "" "which dyld resolves against the cache directly." msgstr "" -#: ../NEWS:234 +#: ../NEWS:260 msgid "" ":gh:`156101`: Fix :attr:`sqlite3.Cursor.arraysize` being set to 0 if the " "assigned value is too large. The attribute is now left unchanged if the " "assignment fails." msgstr "" -#: ../NEWS:238 +#: ../NEWS:264 msgid "" ":gh:`156100`: Fix crashes in :class:`sqlite3.Connection` when deleting the :" "attr:`~sqlite3.Connection.autocommit` attribute or setting it to an integer " "which does not fit in C :c:expr:`long`. Both now raise an exception." msgstr "" -#: ../NEWS:243 +#: ../NEWS:269 msgid "" ":gh:`156099`: Fix a crash when deleting the ``keylog_filename`` attribute " "of :class:`ssl.SSLContext`. It now raises :exc:`AttributeError`." msgstr "" -#: ../NEWS:246 +#: ../NEWS:272 msgid "" ":gh:`156067`: Fix error handling in the :mod:`zoneinfo` accelerator module " "when a transition index is ``-1`` or a TZ string's ``__bool__`` raises." msgstr "" -#: ../NEWS:249 +#: ../NEWS:275 msgid "" ":gh:`155997`: Fix :func:`concurrent.interpreters.list_all`. It failed if an " "interpreter was destroyed during the call, in particular by a garbage " "collection which finalized the object owning the last reference to it." msgstr "" -#: ../NEWS:253 +#: ../NEWS:279 msgid "" ":gh:`155941`: Fix :func:`asyncio.start_server` when a plain-function " "*client_connected_cb* raises: the error is now reported like the coroutine " @@ -547,20 +589,20 @@ msgid "" "forever (which also made :meth:`asyncio.Server.wait_closed` hang)." msgstr "" -#: ../NEWS:258 +#: ../NEWS:284 msgid "" ":gh:`155952`: Fix the signatures of :meth:`sqlite3.Connection.execute`, :" "func:`warnings.warn` and :func:`locale.setlocale` which rendered " "```` instead of the correct defaults for parameters." msgstr "" -#: ../NEWS:262 +#: ../NEWS:288 msgid "" ":gh:`155888`: Fix :meth:`asyncio.WriteTransport.writelines` hanging the " "transport when the last data chunk is empty." msgstr "" -#: ../NEWS:265 +#: ../NEWS:291 msgid "" ":gh:`155775`: Fix a regression in :mod:`imaplib` introduced in the fix for :" "gh:`63121`: refreshing the capabilities after a successful :meth:`~imaplib." @@ -569,7 +611,7 @@ msgid "" "IMAP4.response`." msgstr "" -#: ../NEWS:271 +#: ../NEWS:297 msgid "" ":gh:`113318`: Fix crashes when deleting an attribute whose setter is " "generated by Argument Clinic and is not prepared for deletion, among them :" @@ -578,26 +620,26 @@ msgid "" "`AttributeError`." msgstr "" -#: ../NEWS:277 +#: ../NEWS:303 msgid "" ":gh:`155468`: Fix :mod:`netrc` to distinguish empty quoted tokens from end-" "of-file, so malformed files no longer cause the remaining content to be " "silently ignored." msgstr "" -#: ../NEWS:281 +#: ../NEWS:307 msgid "" ":gh:`155519`: Avoid a data-race in free-threaded builds when reading and " "writing context variables from different threads." msgstr "" -#: ../NEWS:284 +#: ../NEWS:310 msgid "" ":gh:`155336`: Fix error handling in :func:`socket.gethostbyaddr` and :func:" "`socket.gethostbyname_ex` when hostname resolution fails." msgstr "" -#: ../NEWS:287 +#: ../NEWS:313 msgid "" ":gh:`102475`: Fix :func:`os.path.realpath` on Windows: the unresolved part " "of the path is now appended, not joined, so a file name which looks like a " @@ -606,20 +648,20 @@ msgid "" "drive." msgstr "" -#: ../NEWS:293 +#: ../NEWS:319 msgid "" ":gh:`89760`: Fix :func:`os.path.realpath` on Windows: the ``\\\\?\\`` prefix " "is no longer stripped from a volume GUID path, which made the result invalid." msgstr "" -#: ../NEWS:296 +#: ../NEWS:322 msgid "" ":gh:`84419`: Fix :func:`os.stat` on Windows: trailing dots and spaces, which " "are ignored by the operating system, are no longer taken into account when " "the execute permissions are guessed from the file extension." msgstr "" -#: ../NEWS:300 +#: ../NEWS:326 msgid "" ":gh:`155319`: :func:`warnings.warn_explicit` now displays the source line " "taken from the loader of the module whose globals are passed as " @@ -627,14 +669,14 @@ msgid "" "out of the range of the module source." msgstr "" -#: ../NEWS:305 +#: ../NEWS:331 msgid "" ":gh:`123011`: :func:`warnings.warn_explicit` no longer emits a spurious :exc:" "`DeprecationWarning` or raises :exc:`ImportError` when it is called with the " "globals of the :mod:`__main__` module." msgstr "" -#: ../NEWS:309 +#: ../NEWS:335 msgid "" ":gh:`69370`: :program:`python -m inspect --details` no longer fails with :" "exc:`UnicodeEncodeError` if the path of the module contains characters " @@ -642,7 +684,7 @@ msgid "" "escaped with backslashes." msgstr "" -#: ../NEWS:314 +#: ../NEWS:340 msgid "" ":gh:`69371`: Fix :mod:`pydoc` for modules whose path contains undecodable " "bytes. :func:`!pydoc.writedoc` and the pydoc HTTP server no longer fail " @@ -651,33 +693,40 @@ msgid "" "page are escaped with backslashes." msgstr "" -#: ../NEWS:320 +#: ../NEWS:346 msgid "" ":gh:`155143`: Fix :func:`asyncio.shield` leaking the calling task via the " "await-graph and callbacks when called on a future that never resolves." msgstr "" -#: ../NEWS:323 +#: ../NEWS:349 msgid "" ":gh:`154871`: Fixed a crash in :meth:`asyncio.Task.get_context` when called " "on an uninitialized task." msgstr "" -#: ../NEWS:326 +#: ../NEWS:352 msgid "" ":gh:`154855`: Fix :meth:`curses.window.instr` returning one character too " "few when the :mod:`curses` module is built against a curses library that " "counts the terminator in the requested length, such as the NetBSD one." msgstr "" -#: ../NEWS:330 +#: ../NEWS:356 +msgid "" +":gh:`135683`: :class:`logging.FileHandler` and :class:`logging.handlers." +"WatchedFileHandler` now honor :data:`logging.raiseExceptions` for errors " +"that occur while opening the file, like for other errors during logging." +msgstr "" + +#: ../NEWS:361 msgid "" ":gh:`153970`: Calling :func:`str` on a :exc:`subprocess.CalledProcessError` " "no longer raises :exc:`TypeError` when its :attr:`!returncode` is not an " "integer, such as ``None``." msgstr "" -#: ../NEWS:334 +#: ../NEWS:365 msgid "" ":gh:`153005`: :meth:`!concurrent.interpreters.Queue.get` and :meth:`!" "concurrent.interpreters.Queue.put` now compute their ``timeout`` deadline " @@ -685,7 +734,7 @@ msgid "" "system clock during the call no longer makes them over- or under-wait." msgstr "" -#: ../NEWS:340 +#: ../NEWS:371 msgid "" ":gh:`153772`: :func:`isinstance` checks against :mod:`collections.abc` " "classes such as :class:`~collections.abc.Mapping` no longer raise :exc:" @@ -694,27 +743,33 @@ msgid "" "the behaviour of the built-in :func:`isinstance`." msgstr "" -#: ../NEWS:346 +#: ../NEWS:377 msgid "" ":gh:`153603`: Fix a crash in the ISO-2022 decoders when decoding a byte " "after an unknown charset designation is set via the decoder's ``setstate`` " "method. Patch by tonghuaroot." msgstr "" -#: ../NEWS:350 +#: ../NEWS:381 msgid "" ":gh:`153539`: Fix a crash in the C implementation of :meth:`io.TextIOWrapper." "tell` when the decoder's ``getstate`` method triggers a reentrant seek, or " "when another thread seeks the same stream concurrently. Patch by tonghuaroot." msgstr "" -#: ../NEWS:355 +#: ../NEWS:386 +msgid "" +":gh:`153319`: The :mod:`turtledemo` viewer now reads each demo script as " +"UTF-8 instead of the locale encoding." +msgstr "" + +#: ../NEWS:389 msgid "" ":gh:`153133`: Fix a socket leak in :meth:`asyncio.loop.create_connection` " "when the transport cannot be created." msgstr "" -#: ../NEWS:358 +#: ../NEWS:392 msgid "" ":gh:`152204`: Fix the pure-Python implementations of :meth:`datetime.date." "fromisoformat`, :meth:`datetime.time.fromisoformat` and :meth:`datetime." @@ -724,13 +779,13 @@ msgid "" "exactly *N* ASCII digits, matching the C implementation." msgstr "" -#: ../NEWS:366 +#: ../NEWS:400 msgid "" ":gh:`151955`: Allow more types to be used in the ``bound`` argument to :" "class:`typing.ParamSpec`." msgstr "" -#: ../NEWS:369 +#: ../NEWS:403 msgid "" ":gh:`150771`: Fix serialization of :mod:`email` messages using the " "``shift_jis`` or ``euc-jp`` charsets: ``set_content()`` now encodes the " @@ -738,13 +793,21 @@ msgid "" "`UnicodeEncodeError`." msgstr "" -#: ../NEWS:374 +#: ../NEWS:408 +msgid "" +":gh:`145856`: Fix :func:`plistlib.dumps` and :func:`plistlib.dump` so that " +"``skipkeys=True`` together with ``sort_keys=True`` correctly drops non-" +"string keys when the dictionary contains a mix of string and non-string " +"keys. Previously the sort ran before the filter and raised :exc:`TypeError`." +msgstr "" + +#: ../NEWS:414 msgid "" ":gh:`113329`: Fix :exc:`OSError` being raised when trying to run doctests on " "a class objects in the REPL. Patch by Sten Wessel." msgstr "" -#: ../NEWS:377 +#: ../NEWS:417 msgid "" ":gh:`102967`: A bug in :func:`!doctest._SpoofOut.truncate` was causing None " "to be passed to :func:`!StringIO.seek` when no size was given. A simple fix " @@ -752,19 +815,19 @@ msgid "" "from the current position." msgstr "" -#: ../NEWS:382 +#: ../NEWS:422 msgid "" ":gh:`82039`: :meth:`http.cookiejar.FileCookieJar.load` now checks the first, " "format signature line in a case-insensitive manner. Patch by Ashley Harvey." msgstr "" -#: ../NEWS:386 +#: ../NEWS:426 msgid "" ":gh:`70758`: Creating a new :mod:`turtle` screen after the previous one was " "closed no longer raises ``turtle.Terminator`` on the first turtle command." msgstr "" -#: ../NEWS:389 +#: ../NEWS:429 msgid "" ":issue:`44012`: The ``exploded`` attribute of :class:`ipaddress.IPv6Address` " "and :class:`ipaddress.IPv6Interface` now supports addresses with a scope ID " @@ -772,7 +835,7 @@ msgid "" "AddressValueError` and the latter omitted the scope ID." msgstr "" -#: ../NEWS:394 +#: ../NEWS:434 msgid "" ":gh:`83869`: Fix :mod:`tarfile` reading an archive with a GNU sparse 1.0 " "member whose size is set in the pax extended header. The offset of the next " @@ -781,43 +844,43 @@ msgid "" "of the sparse file. All following members were unreachable." msgstr "" -#: ../NEWS:400 +#: ../NEWS:440 msgid "" ":gh:`61366`: :class:`http.cookiejar.MozillaCookieJar` now reads session " "cookies written by curl and Wget, which use ``0`` in the expiration time " "field. Contributed by Jérémie Detrey." msgstr "" -#: ../NEWS:405 ../NEWS:1269 ../NEWS:1683 ../NEWS:1771 ../NEWS:2480 ../NEWS:2569 -#: ../NEWS:3114 ../NEWS:4315 ../NEWS:4523 ../NEWS:4797 ../NEWS:5083 -#: ../NEWS:5908 ../NEWS:6288 ../NEWS:6852 ../NEWS:7402 ../NEWS:7750 -#: ../NEWS:8218 ../NEWS:8903 ../NEWS:12263 ../NEWS:12738 ../NEWS:13281 -#: ../NEWS:14096 ../NEWS:14688 ../NEWS:16652 ../NEWS:18152 ../NEWS:18583 -#: ../NEWS:18857 ../NEWS:19134 ../NEWS:19552 ../NEWS:19884 ../NEWS:20303 -#: ../NEWS:22137 ../NEWS:23333 ../NEWS:23928 ../NEWS:24435 ../NEWS:24798 -#: ../NEWS:25269 ../NEWS:25683 ../NEWS:26186 ../NEWS:27949 ../NEWS:28916 -#: ../NEWS:29376 ../NEWS:29662 ../NEWS:29938 ../NEWS:30303 ../NEWS:30767 -#: ../NEWS:31248 ../NEWS:32313 ../NEWS:32836 ../NEWS:33277 ../NEWS:33740 -#: ../NEWS:34150 ../NEWS:34877 ../NEWS:36312 ../NEWS:37563 ../NEWS:38016 -#: ../NEWS:38473 ../NEWS:38712 ../NEWS:41050 ../NEWS:42086 ../NEWS:42240 -#: ../NEWS:42456 ../NEWS:42708 ../NEWS:43022 ../NEWS:43354 ../NEWS:43838 -#: ../NEWS:45833 ../NEWS:46577 ../NEWS:46690 ../NEWS:46915 ../NEWS:47305 -#: ../NEWS:47703 ../NEWS:48282 ../NEWS:48593 ../NEWS:48844 ../NEWS:48979 -#: ../NEWS:49250 ../NEWS:49680 ../NEWS:49953 ../NEWS:50207 ../NEWS:50461 -#: ../NEWS:51634 ../NEWS:52194 ../NEWS:52848 ../NEWS:52969 ../NEWS:53592 -#: ../NEWS:54154 ../NEWS:54398 ../NEWS:54575 ../NEWS:54884 ../NEWS:55113 -#: ../NEWS:55323 ../NEWS:57134 +#: ../NEWS:445 ../NEWS:1359 ../NEWS:1773 ../NEWS:1861 ../NEWS:2570 ../NEWS:2659 +#: ../NEWS:3204 ../NEWS:4405 ../NEWS:4613 ../NEWS:4887 ../NEWS:5173 +#: ../NEWS:5998 ../NEWS:6378 ../NEWS:6942 ../NEWS:7492 ../NEWS:7840 +#: ../NEWS:8308 ../NEWS:8993 ../NEWS:12353 ../NEWS:12828 ../NEWS:13371 +#: ../NEWS:14186 ../NEWS:14778 ../NEWS:16742 ../NEWS:18242 ../NEWS:18673 +#: ../NEWS:18947 ../NEWS:19224 ../NEWS:19642 ../NEWS:19974 ../NEWS:20393 +#: ../NEWS:22227 ../NEWS:23423 ../NEWS:24018 ../NEWS:24525 ../NEWS:24888 +#: ../NEWS:25359 ../NEWS:25773 ../NEWS:26276 ../NEWS:28039 ../NEWS:29006 +#: ../NEWS:29466 ../NEWS:29752 ../NEWS:30028 ../NEWS:30393 ../NEWS:30857 +#: ../NEWS:31338 ../NEWS:32403 ../NEWS:32926 ../NEWS:33367 ../NEWS:33830 +#: ../NEWS:34240 ../NEWS:34967 ../NEWS:36402 ../NEWS:37653 ../NEWS:38106 +#: ../NEWS:38563 ../NEWS:38802 ../NEWS:41140 ../NEWS:42176 ../NEWS:42330 +#: ../NEWS:42546 ../NEWS:42798 ../NEWS:43112 ../NEWS:43444 ../NEWS:43928 +#: ../NEWS:45923 ../NEWS:46667 ../NEWS:46780 ../NEWS:47005 ../NEWS:47395 +#: ../NEWS:47793 ../NEWS:48372 ../NEWS:48683 ../NEWS:48934 ../NEWS:49069 +#: ../NEWS:49340 ../NEWS:49770 ../NEWS:50043 ../NEWS:50297 ../NEWS:50551 +#: ../NEWS:51724 ../NEWS:52284 ../NEWS:52938 ../NEWS:53059 ../NEWS:53682 +#: ../NEWS:54244 ../NEWS:54488 ../NEWS:54665 ../NEWS:54974 ../NEWS:55203 +#: ../NEWS:55413 ../NEWS:57224 msgid "Tests" msgstr "" -#: ../NEWS:407 +#: ../NEWS:447 msgid "" ":gh:`155411`: Fix :func:`!test.support.subTests` for asynchronous test " "methods. They were wrapped in a synchronous function, which discarded the " "coroutine without awaiting it, so the test silently did not run at all." msgstr "" -#: ../NEWS:411 +#: ../NEWS:451 msgid "" ":gh:`132581`: The list of tests which altered the execution environment now " "includes the reasons why the environment was considered altered, for example " @@ -825,37 +888,44 @@ msgid "" "longer repeats the same state twice (like ``ENV CHANGED then ENV CHANGED``)." msgstr "" -#: ../NEWS:417 +#: ../NEWS:457 msgid "" ":gh:`142414`: Isolate reloading modules in test_interpreters to avoid having " "broken references." msgstr "" -#: ../NEWS:421 ../NEWS:1304 ../NEWS:1691 ../NEWS:2012 ../NEWS:2495 ../NEWS:3004 -#: ../NEWS:3861 ../NEWS:4155 ../NEWS:4293 ../NEWS:4504 ../NEWS:4744 -#: ../NEWS:5047 ../NEWS:5839 ../NEWS:6226 ../NEWS:6806 ../NEWS:7374 -#: ../NEWS:7694 ../NEWS:8159 ../NEWS:8794 ../NEWS:11139 ../NEWS:11793 -#: ../NEWS:12289 ../NEWS:12770 ../NEWS:13291 ../NEWS:14136 ../NEWS:14722 -#: ../NEWS:16900 ../NEWS:18174 ../NEWS:18401 ../NEWS:18593 ../NEWS:18870 -#: ../NEWS:19140 ../NEWS:19564 ../NEWS:19905 ../NEWS:20131 ../NEWS:20323 -#: ../NEWS:22259 ../NEWS:22891 ../NEWS:23364 ../NEWS:23952 ../NEWS:24457 -#: ../NEWS:24651 ../NEWS:24842 ../NEWS:25296 ../NEWS:25705 ../NEWS:26235 -#: ../NEWS:28071 ../NEWS:28939 ../NEWS:29385 ../NEWS:29668 ../NEWS:29948 -#: ../NEWS:30325 ../NEWS:30802 ../NEWS:31264 ../NEWS:32364 ../NEWS:32845 -#: ../NEWS:33303 ../NEWS:33756 ../NEWS:34159 ../NEWS:34561 ../NEWS:34932 -#: ../NEWS:36482 ../NEWS:37599 ../NEWS:38070 ../NEWS:38486 ../NEWS:41217 -#: ../NEWS:41873 ../NEWS:42095 ../NEWS:42246 ../NEWS:42466 ../NEWS:42713 -#: ../NEWS:43042 ../NEWS:43865 ../NEWS:44185 ../NEWS:45896 ../NEWS:46585 -#: ../NEWS:46695 ../NEWS:46930 ../NEWS:47322 ../NEWS:47458 ../NEWS:47719 -#: ../NEWS:48240 ../NEWS:48324 ../NEWS:48615 ../NEWS:48680 ../NEWS:48852 -#: ../NEWS:48970 ../NEWS:49239 ../NEWS:49694 ../NEWS:49980 ../NEWS:50168 -#: ../NEWS:50481 ../NEWS:51677 ../NEWS:52232 ../NEWS:52894 ../NEWS:53615 -#: ../NEWS:54167 ../NEWS:54227 ../NEWS:54244 ../NEWS:54486 ../NEWS:54591 -#: ../NEWS:55104 ../NEWS:55318 ../NEWS:55453 ../NEWS:56985 +#: ../NEWS:461 ../NEWS:1394 ../NEWS:1781 ../NEWS:2102 ../NEWS:2585 ../NEWS:3094 +#: ../NEWS:3951 ../NEWS:4245 ../NEWS:4383 ../NEWS:4594 ../NEWS:4834 +#: ../NEWS:5137 ../NEWS:5929 ../NEWS:6316 ../NEWS:6896 ../NEWS:7464 +#: ../NEWS:7784 ../NEWS:8249 ../NEWS:8884 ../NEWS:11229 ../NEWS:11883 +#: ../NEWS:12379 ../NEWS:12860 ../NEWS:13381 ../NEWS:14226 ../NEWS:14812 +#: ../NEWS:16990 ../NEWS:18264 ../NEWS:18491 ../NEWS:18683 ../NEWS:18960 +#: ../NEWS:19230 ../NEWS:19654 ../NEWS:19995 ../NEWS:20221 ../NEWS:20413 +#: ../NEWS:22349 ../NEWS:22981 ../NEWS:23454 ../NEWS:24042 ../NEWS:24547 +#: ../NEWS:24741 ../NEWS:24932 ../NEWS:25386 ../NEWS:25795 ../NEWS:26325 +#: ../NEWS:28161 ../NEWS:29029 ../NEWS:29475 ../NEWS:29758 ../NEWS:30038 +#: ../NEWS:30415 ../NEWS:30892 ../NEWS:31354 ../NEWS:32454 ../NEWS:32935 +#: ../NEWS:33393 ../NEWS:33846 ../NEWS:34249 ../NEWS:34651 ../NEWS:35022 +#: ../NEWS:36572 ../NEWS:37689 ../NEWS:38160 ../NEWS:38576 ../NEWS:41307 +#: ../NEWS:41963 ../NEWS:42185 ../NEWS:42336 ../NEWS:42556 ../NEWS:42803 +#: ../NEWS:43132 ../NEWS:43955 ../NEWS:44275 ../NEWS:45986 ../NEWS:46675 +#: ../NEWS:46785 ../NEWS:47020 ../NEWS:47412 ../NEWS:47548 ../NEWS:47809 +#: ../NEWS:48330 ../NEWS:48414 ../NEWS:48705 ../NEWS:48770 ../NEWS:48942 +#: ../NEWS:49060 ../NEWS:49329 ../NEWS:49784 ../NEWS:50070 ../NEWS:50258 +#: ../NEWS:50571 ../NEWS:51767 ../NEWS:52322 ../NEWS:52984 ../NEWS:53705 +#: ../NEWS:54257 ../NEWS:54317 ../NEWS:54334 ../NEWS:54576 ../NEWS:54681 +#: ../NEWS:55194 ../NEWS:55408 ../NEWS:55543 ../NEWS:57075 msgid "Build" msgstr "" -#: ../NEWS:423 +#: ../NEWS:463 +msgid "" +":gh:`157549`: Use ``sysconf(_SC_PAGESIZE)`` instead of ``getpagesize()`` in " +"``remote_debug.h`` so ``_remote_debugging`` builds on Darwin with ``-" +"Werror=implicit-function-declaration``." +msgstr "" + +#: ../NEWS:467 msgid "" ":gh:`157142`: Fix the link of ``Programs/_freeze_module`` when extension " "modules are built in (``MODULE_BUILDTYPE=static``) and the test modules are " @@ -863,18 +933,18 @@ msgid "" "``_Py_Get_Getpath_CodeObject()``, which ``_testinternalcapi`` uses." msgstr "" -#: ../NEWS:428 +#: ../NEWS:472 msgid "" ":gh:`156369`: Update Android and iOS build scripts to use OpenSSL 3.5.8." msgstr "" -#: ../NEWS:430 +#: ../NEWS:474 msgid "" ":gh:`155911`: Fix curses detection when a curses library is already in " "``LIBS``. Patch by Shamil Abdulaev." msgstr "" -#: ../NEWS:433 +#: ../NEWS:477 msgid "" ":gh:`156115`: iOS simulator builds are now configured with ``-mios-simulator-" "version-min`` instead of the device's ``-mios-version-min``. The device flag " @@ -882,46 +952,59 @@ msgid "" "detection silently failed." msgstr "" -#: ../NEWS:439 ../NEWS:1330 ../NEWS:1697 ../NEWS:2032 ../NEWS:2517 ../NEWS:2557 -#: ../NEWS:3085 ../NEWS:3907 ../NEWS:3946 ../NEWS:4075 ../NEWS:4516 -#: ../NEWS:4771 ../NEWS:5065 ../NEWS:5884 ../NEWS:6259 ../NEWS:7734 -#: ../NEWS:8180 ../NEWS:8850 ../NEWS:11815 ../NEWS:12299 ../NEWS:12796 -#: ../NEWS:13306 ../NEWS:14165 ../NEWS:14746 ../NEWS:16987 ../NEWS:18212 -#: ../NEWS:18601 ../NEWS:18887 ../NEWS:19173 ../NEWS:19582 ../NEWS:19927 -#: ../NEWS:20359 ../NEWS:22373 ../NEWS:23379 ../NEWS:23984 ../NEWS:24487 -#: ../NEWS:24882 ../NEWS:25343 ../NEWS:25833 ../NEWS:26290 ../NEWS:28117 -#: ../NEWS:28948 ../NEWS:29407 ../NEWS:29691 ../NEWS:29974 ../NEWS:30826 -#: ../NEWS:31271 ../NEWS:32385 ../NEWS:32855 ../NEWS:33315 ../NEWS:33773 -#: ../NEWS:34164 ../NEWS:34942 ../NEWS:36554 ../NEWS:37622 ../NEWS:38131 -#: ../NEWS:38500 ../NEWS:38745 ../NEWS:41335 ../NEWS:41880 ../NEWS:42263 -#: ../NEWS:42471 ../NEWS:42718 ../NEWS:43057 ../NEWS:43363 ../NEWS:43898 -#: ../NEWS:46008 ../NEWS:46605 ../NEWS:46936 ../NEWS:47347 ../NEWS:47725 -#: ../NEWS:48296 ../NEWS:48545 ../NEWS:48675 ../NEWS:48965 ../NEWS:49206 -#: ../NEWS:49736 ../NEWS:49968 ../NEWS:50471 ../NEWS:51740 ../NEWS:52245 -#: ../NEWS:52879 ../NEWS:53674 ../NEWS:53721 ../NEWS:54178 ../NEWS:55467 -#: ../NEWS:57281 +#: ../NEWS:482 +msgid "" +":gh:`152023`: Update Android builds to SQLite 3.53.4. Additionally, enable " +"the ``median()`` and ``percentile()`` functions." +msgstr "" + +#: ../NEWS:486 ../NEWS:1420 ../NEWS:1787 ../NEWS:2122 ../NEWS:2607 ../NEWS:2647 +#: ../NEWS:3175 ../NEWS:3997 ../NEWS:4036 ../NEWS:4165 ../NEWS:4606 +#: ../NEWS:4861 ../NEWS:5155 ../NEWS:5974 ../NEWS:6349 ../NEWS:7824 +#: ../NEWS:8270 ../NEWS:8940 ../NEWS:11905 ../NEWS:12389 ../NEWS:12886 +#: ../NEWS:13396 ../NEWS:14255 ../NEWS:14836 ../NEWS:17077 ../NEWS:18302 +#: ../NEWS:18691 ../NEWS:18977 ../NEWS:19263 ../NEWS:19672 ../NEWS:20017 +#: ../NEWS:20449 ../NEWS:22463 ../NEWS:23469 ../NEWS:24074 ../NEWS:24577 +#: ../NEWS:24972 ../NEWS:25433 ../NEWS:25923 ../NEWS:26380 ../NEWS:28207 +#: ../NEWS:29038 ../NEWS:29497 ../NEWS:29781 ../NEWS:30064 ../NEWS:30916 +#: ../NEWS:31361 ../NEWS:32475 ../NEWS:32945 ../NEWS:33405 ../NEWS:33863 +#: ../NEWS:34254 ../NEWS:35032 ../NEWS:36644 ../NEWS:37712 ../NEWS:38221 +#: ../NEWS:38590 ../NEWS:38835 ../NEWS:41425 ../NEWS:41970 ../NEWS:42353 +#: ../NEWS:42561 ../NEWS:42808 ../NEWS:43147 ../NEWS:43453 ../NEWS:43988 +#: ../NEWS:46098 ../NEWS:46695 ../NEWS:47026 ../NEWS:47437 ../NEWS:47815 +#: ../NEWS:48386 ../NEWS:48635 ../NEWS:48765 ../NEWS:49055 ../NEWS:49296 +#: ../NEWS:49826 ../NEWS:50058 ../NEWS:50561 ../NEWS:51830 ../NEWS:52335 +#: ../NEWS:52969 ../NEWS:53764 ../NEWS:53811 ../NEWS:54268 ../NEWS:55557 +#: ../NEWS:57371 msgid "Windows" msgstr "" -#: ../NEWS:441 +#: ../NEWS:488 +msgid "" +":gh:`157368`: Fix truncated :data:`sys.version` in the case of clang-cl " +"versions 22 or newer on Windows. Also fixes the Windows on Arm case, where " +"the Microsoft compiler was reported instead of clang. Patch by Chris Eibl." +msgstr "" + +#: ../NEWS:492 msgid ":gh:`156369`: Updated Windows builds to use OpenSSL 3.5.8." msgstr "" -#: ../NEWS:443 +#: ../NEWS:494 msgid "" ":gh:`72353`: Reading from the console on Windows now continues if the read " "was cancelled by Ctrl+C, but the :const:`~signal.SIGINT` handler did not " "raise an exception. Previously the read ended as if at end of file." msgstr "" -#: ../NEWS:447 +#: ../NEWS:498 msgid "" ":gh:`86427`: Fix the encoding of the standard streams in the legacy Windows " "stdio mode (:envvar:`PYTHONLEGACYWINDOWSSTDIO`). It is now the code page of " "the console, as in Python 3.7, not the ANSI code page." msgstr "" -#: ../NEWS:451 +#: ../NEWS:502 msgid "" ":gh:`87587`: :func:`os.device_encoding` on Windows now returns the code page " "of any console file descriptor, not only 0, 1 and 2, and returns ``None`` " @@ -929,41 +1012,116 @@ msgid "" "reported as ``\"utf-8\"`` instead of ``\"cp65001\"``." msgstr "" -#: ../NEWS:457 ../NEWS:1343 ../NEWS:1702 ../NEWS:1780 ../NEWS:2040 ../NEWS:2528 -#: ../NEWS:3900 ../NEWS:4066 ../NEWS:5874 ../NEWS:6253 ../NEWS:6838 -#: ../NEWS:7389 ../NEWS:8840 ../NEWS:11840 ../NEWS:12817 ../NEWS:13328 -#: ../NEWS:14206 ../NEWS:14758 ../NEWS:17037 ../NEWS:18233 ../NEWS:18913 -#: ../NEWS:19605 ../NEWS:19942 ../NEWS:20377 ../NEWS:22470 ../NEWS:23395 -#: ../NEWS:24010 ../NEWS:24896 ../NEWS:25349 ../NEWS:25858 ../NEWS:26304 -#: ../NEWS:28145 ../NEWS:28978 ../NEWS:29696 ../NEWS:29981 ../NEWS:30348 -#: ../NEWS:30835 ../NEWS:31286 ../NEWS:32428 ../NEWS:32867 ../NEWS:33322 -#: ../NEWS:33796 ../NEWS:34949 ../NEWS:36673 ../NEWS:37636 ../NEWS:38184 -#: ../NEWS:41445 ../NEWS:42108 ../NEWS:42268 ../NEWS:42480 ../NEWS:42737 -#: ../NEWS:43068 ../NEWS:43913 ../NEWS:46610 ../NEWS:46961 ../NEWS:47356 +#: ../NEWS:508 ../NEWS:1433 ../NEWS:1792 ../NEWS:1870 ../NEWS:2130 ../NEWS:2618 +#: ../NEWS:3990 ../NEWS:4156 ../NEWS:5964 ../NEWS:6343 ../NEWS:6928 +#: ../NEWS:7479 ../NEWS:8930 ../NEWS:11930 ../NEWS:12907 ../NEWS:13418 +#: ../NEWS:14296 ../NEWS:14848 ../NEWS:17127 ../NEWS:18323 ../NEWS:19003 +#: ../NEWS:19695 ../NEWS:20032 ../NEWS:20467 ../NEWS:22560 ../NEWS:23485 +#: ../NEWS:24100 ../NEWS:24986 ../NEWS:25439 ../NEWS:25948 ../NEWS:26394 +#: ../NEWS:28235 ../NEWS:29068 ../NEWS:29786 ../NEWS:30071 ../NEWS:30438 +#: ../NEWS:30925 ../NEWS:31376 ../NEWS:32518 ../NEWS:32957 ../NEWS:33412 +#: ../NEWS:33886 ../NEWS:35039 ../NEWS:36763 ../NEWS:37726 ../NEWS:38274 +#: ../NEWS:41535 ../NEWS:42198 ../NEWS:42358 ../NEWS:42570 ../NEWS:42827 +#: ../NEWS:43158 ../NEWS:44003 ../NEWS:46700 ../NEWS:47051 ../NEWS:47446 msgid "macOS" msgstr "" -#: ../NEWS:459 +#: ../NEWS:510 msgid ":gh:`156369`: Update macOS installer to use OpenSSL 3.5.8." msgstr "" -#: ../NEWS:462 ../NEWS:1352 ../NEWS:1714 ../NEWS:2869 ../NEWS:3583 ../NEWS:5516 -#: ../NEWS:7143 ../NEWS:10171 ../NEWS:11854 ../NEWS:12822 ../NEWS:13341 -#: ../NEWS:14255 ../NEWS:14779 ../NEWS:17046 ../NEWS:18253 ../NEWS:22480 -#: ../NEWS:24502 ../NEWS:24901 ../NEWS:26311 ../NEWS:28171 ../NEWS:29005 -#: ../NEWS:29413 ../NEWS:29701 ../NEWS:29988 ../NEWS:30858 ../NEWS:31291 -#: ../NEWS:32449 ../NEWS:33332 ../NEWS:33801 ../NEWS:34183 ../NEWS:34574 -#: ../NEWS:34956 ../NEWS:36694 ../NEWS:37643 ../NEWS:38192 ../NEWS:38512 -#: ../NEWS:38761 ../NEWS:41481 ../NEWS:41885 ../NEWS:42115 ../NEWS:42273 -#: ../NEWS:42489 ../NEWS:42742 ../NEWS:43918 ../NEWS:44204 ../NEWS:46075 -#: ../NEWS:46615 ../NEWS:46969 ../NEWS:47361 ../NEWS:47739 ../NEWS:48211 -#: ../NEWS:48537 ../NEWS:49651 ../NEWS:49924 ../NEWS:50126 ../NEWS:50387 -#: ../NEWS:51506 ../NEWS:52806 ../NEWS:52974 ../NEWS:53516 ../NEWS:54033 -#: ../NEWS:54366 ../NEWS:54878 ../NEWS:56902 +#: ../NEWS:513 ../NEWS:1442 ../NEWS:1804 ../NEWS:2959 ../NEWS:3673 ../NEWS:5606 +#: ../NEWS:7233 ../NEWS:10261 ../NEWS:11944 ../NEWS:12912 ../NEWS:13431 +#: ../NEWS:14345 ../NEWS:14869 ../NEWS:17136 ../NEWS:18343 ../NEWS:22570 +#: ../NEWS:24592 ../NEWS:24991 ../NEWS:26401 ../NEWS:28261 ../NEWS:29095 +#: ../NEWS:29503 ../NEWS:29791 ../NEWS:30078 ../NEWS:30948 ../NEWS:31381 +#: ../NEWS:32539 ../NEWS:33422 ../NEWS:33891 ../NEWS:34273 ../NEWS:34664 +#: ../NEWS:35046 ../NEWS:36784 ../NEWS:37733 ../NEWS:38282 ../NEWS:38602 +#: ../NEWS:38851 ../NEWS:41571 ../NEWS:41975 ../NEWS:42205 ../NEWS:42363 +#: ../NEWS:42579 ../NEWS:42832 ../NEWS:44008 ../NEWS:44294 ../NEWS:46165 +#: ../NEWS:46705 ../NEWS:47059 ../NEWS:47451 ../NEWS:47829 ../NEWS:48301 +#: ../NEWS:48627 ../NEWS:49741 ../NEWS:50014 ../NEWS:50216 ../NEWS:50477 +#: ../NEWS:51596 ../NEWS:52896 ../NEWS:53064 ../NEWS:53606 ../NEWS:54123 +#: ../NEWS:54456 ../NEWS:54968 ../NEWS:56992 msgid "IDLE" msgstr "" -#: ../NEWS:464 +#: ../NEWS:515 +msgid "" +":gh:`56596`: Make IDLE keyboard shortcuts with ascii letters work when Caps " +"Lock is on even when only one of the upper and lowercase versions are " +"defined." +msgstr "" + +#: ../NEWS:519 +msgid "" +":gh:`75512`: Output from a thread printed in the IDLE Shell while a " +"statement is being entered no longer takes over the prompt of the statement." +msgstr "" + +#: ../NEWS:522 +msgid "" +":gh:`64007`: IDLE no longer applies syntax coloring to the text entered for :" +"func:`input` in the Shell." +msgstr "" + +#: ../NEWS:525 +msgid "" +":gh:`85560`: Fix IDLE failing to find the opening parenthesis when a " +"continuation line inside the parentheses starts with ``else`` of a " +"conditional expression or with ``yield``." +msgstr "" + +#: ../NEWS:529 +msgid "" +":gh:`75487`: Fix saving a truncated number when an integer entry in the IDLE " +"Settings dialog is blanked with the Backspace key." +msgstr "" + +#: ../NEWS:532 +msgid "" +":gh:`89544`: Fix IDLE hanging after Restart Shell while receiving a large " +"output from the user process." +msgstr "" + +#: ../NEWS:535 +msgid "" +":gh:`69004`: The Debugger item of the IDLE Debug menu is now disabled while " +"user code runs, like Stack Viewer." +msgstr "" + +#: ../NEWS:538 +msgid "" +":gh:`69365`: The IDLE search dialogs now show a regular expression error " +"below the entry instead of in a message box." +msgstr "" + +#: ../NEWS:541 +msgid "" +":gh:`105689`: Fix calltips, parenthesis matching and auto-indent in the IDLE " +"Shell after output containing unbalanced quotes or parentheses." +msgstr "" + +#: ../NEWS:544 +msgid "" +":gh:`60402`: In IDLE, Tab in a string that is not the start of a file name " +"inserts a tab instead of opening the completion list." +msgstr "" + +#: ../NEWS:547 +msgid "" +":gh:`68453`: Fix running IDLE with the -s option together with -c, -r or -: " +"the command or script now runs after the startup file, without an error " +"dialog and without restarting the shell." +msgstr "" + +#: ../NEWS:551 +msgid "" +":gh:`75234`: Fix editing help sources and key bindings in the IDLE Settings " +"dialog after selecting them with the keyboard." +msgstr "" + +#: ../NEWS:554 msgid "" ":gh:`154511`: Consolidate IDLE's mouse wheel handling in ``idlelib.util``. " "``wheel_event`` moves there from ``idlelib.tree`` and joins ``x11_buttons``, " @@ -972,42 +1130,42 @@ msgid "" "sends." msgstr "" -#: ../NEWS:470 +#: ../NEWS:560 msgid "" ":gh:`156896`: Stop deleting tkinter submodules when idlelib.run is imported." msgstr "" -#: ../NEWS:472 +#: ../NEWS:562 msgid "" ":gh:`66172`: IDLE no longer fails to start when a user configuration file is " "corrupt. The unparsable file is renamed with a \".bad\" suffix, default " "settings are used instead, and a warning lists the affected files." msgstr "" -#: ../NEWS:476 +#: ../NEWS:566 msgid "" ":gh:`90304`: Prevent IDLE from failing to start when a font reports a zero " "width for the ``'0'`` character. Such a broken font caused a :exc:" "`ZeroDivisionError`; the editor now falls back to the configured width." msgstr "" -#: ../NEWS:482 ../NEWS:1404 ../NEWS:2563 ../NEWS:3091 ../NEWS:3912 ../NEWS:3951 -#: ../NEWS:4166 ../NEWS:4305 ../NEWS:4791 ../NEWS:5074 ../NEWS:5899 -#: ../NEWS:6265 ../NEWS:6843 ../NEWS:7395 ../NEWS:7744 ../NEWS:8209 -#: ../NEWS:8897 ../NEWS:12828 ../NEWS:13350 ../NEWS:14787 ../NEWS:17052 -#: ../NEWS:18263 ../NEWS:18610 ../NEWS:19613 ../NEWS:19950 ../NEWS:22502 -#: ../NEWS:23400 ../NEWS:24019 ../NEWS:28205 ../NEWS:30358 ../NEWS:30870 -#: ../NEWS:32880 ../NEWS:33342 ../NEWS:33815 ../NEWS:36797 ../NEWS:37660 -#: ../NEWS:38199 ../NEWS:38541 ../NEWS:41664 ../NEWS:42286 ../NEWS:42503 -#: ../NEWS:42763 ../NEWS:43369 ../NEWS:43957 ../NEWS:46272 ../NEWS:46660 -#: ../NEWS:47001 ../NEWS:47424 ../NEWS:47911 ../NEWS:48276 ../NEWS:48670 -#: ../NEWS:48744 ../NEWS:49729 ../NEWS:50190 ../NEWS:50498 ../NEWS:51758 -#: ../NEWS:52867 ../NEWS:53693 ../NEWS:54216 ../NEWS:54903 ../NEWS:55122 -#: ../NEWS:55330 ../NEWS:57242 +#: ../NEWS:572 ../NEWS:1494 ../NEWS:2653 ../NEWS:3181 ../NEWS:4002 ../NEWS:4041 +#: ../NEWS:4256 ../NEWS:4395 ../NEWS:4881 ../NEWS:5164 ../NEWS:5989 +#: ../NEWS:6355 ../NEWS:6933 ../NEWS:7485 ../NEWS:7834 ../NEWS:8299 +#: ../NEWS:8987 ../NEWS:12918 ../NEWS:13440 ../NEWS:14877 ../NEWS:17142 +#: ../NEWS:18353 ../NEWS:18700 ../NEWS:19703 ../NEWS:20040 ../NEWS:22592 +#: ../NEWS:23490 ../NEWS:24109 ../NEWS:28295 ../NEWS:30448 ../NEWS:30960 +#: ../NEWS:32970 ../NEWS:33432 ../NEWS:33905 ../NEWS:36887 ../NEWS:37750 +#: ../NEWS:38289 ../NEWS:38631 ../NEWS:41754 ../NEWS:42376 ../NEWS:42593 +#: ../NEWS:42853 ../NEWS:43459 ../NEWS:44047 ../NEWS:46362 ../NEWS:46750 +#: ../NEWS:47091 ../NEWS:47514 ../NEWS:48001 ../NEWS:48366 ../NEWS:48760 +#: ../NEWS:48834 ../NEWS:49819 ../NEWS:50280 ../NEWS:50588 ../NEWS:51848 +#: ../NEWS:52957 ../NEWS:53783 ../NEWS:54306 ../NEWS:54993 ../NEWS:55212 +#: ../NEWS:55420 ../NEWS:57332 msgid "Tools/Demos" msgstr "" -#: ../NEWS:484 +#: ../NEWS:574 msgid "" ":gh:`113318`: Fix Argument Clinic for ``@getter`` and ``@setter`` in a " "preprocessor conditional block. It failed with an internal error. Argument " @@ -1016,41 +1174,41 @@ msgid "" "invalid or duplicated entries of :c:type:`PyGetSetDef`." msgstr "" -#: ../NEWS:490 +#: ../NEWS:580 msgid "" ":gh:`64502`: Fix Argument Clinic support of parameters with a default value " "used together with optional groups. Such parameters were always required in " "the generated parsing code." msgstr "" -#: ../NEWS:495 ../NEWS:1418 ../NEWS:1719 ../NEWS:2536 ../NEWS:2995 ../NEWS:3833 -#: ../NEWS:4149 ../NEWS:4282 ../NEWS:4498 ../NEWS:4727 ../NEWS:5041 -#: ../NEWS:5780 ../NEWS:6218 ../NEWS:6757 ../NEWS:7309 ../NEWS:7676 -#: ../NEWS:8109 ../NEWS:8771 ../NEWS:10884 ../NEWS:11859 ../NEWS:12328 -#: ../NEWS:12836 ../NEWS:13364 ../NEWS:14271 ../NEWS:14795 ../NEWS:17112 -#: ../NEWS:18270 ../NEWS:18615 ../NEWS:18918 ../NEWS:19622 ../NEWS:19960 -#: ../NEWS:20382 ../NEWS:22537 ../NEWS:23413 ../NEWS:24025 ../NEWS:24511 -#: ../NEWS:24909 ../NEWS:25355 ../NEWS:25863 ../NEWS:26316 ../NEWS:28226 -#: ../NEWS:29024 ../NEWS:29420 ../NEWS:29708 ../NEWS:30002 ../NEWS:30367 -#: ../NEWS:30880 ../NEWS:31304 ../NEWS:32482 ../NEWS:32893 ../NEWS:33354 -#: ../NEWS:33827 ../NEWS:34198 ../NEWS:34585 ../NEWS:34972 ../NEWS:36822 -#: ../NEWS:37666 ../NEWS:38204 ../NEWS:38548 ../NEWS:41703 ../NEWS:41793 -#: ../NEWS:42509 ../NEWS:43079 ../NEWS:43376 ../NEWS:43969 ../NEWS:44231 -#: ../NEWS:46303 ../NEWS:46678 ../NEWS:47011 ../NEWS:47431 ../NEWS:48234 -#: ../NEWS:48563 ../NEWS:48731 ../NEWS:49232 ../NEWS:49671 ../NEWS:50161 -#: ../NEWS:50490 ../NEWS:51779 ../NEWS:52254 ../NEWS:52834 ../NEWS:55146 -#: ../NEWS:55461 ../NEWS:57065 +#: ../NEWS:585 ../NEWS:1508 ../NEWS:1809 ../NEWS:2626 ../NEWS:3085 ../NEWS:3923 +#: ../NEWS:4239 ../NEWS:4372 ../NEWS:4588 ../NEWS:4817 ../NEWS:5131 +#: ../NEWS:5870 ../NEWS:6308 ../NEWS:6847 ../NEWS:7399 ../NEWS:7766 +#: ../NEWS:8199 ../NEWS:8861 ../NEWS:10974 ../NEWS:11949 ../NEWS:12418 +#: ../NEWS:12926 ../NEWS:13454 ../NEWS:14361 ../NEWS:14885 ../NEWS:17202 +#: ../NEWS:18360 ../NEWS:18705 ../NEWS:19008 ../NEWS:19712 ../NEWS:20050 +#: ../NEWS:20472 ../NEWS:22627 ../NEWS:23503 ../NEWS:24115 ../NEWS:24601 +#: ../NEWS:24999 ../NEWS:25445 ../NEWS:25953 ../NEWS:26406 ../NEWS:28316 +#: ../NEWS:29114 ../NEWS:29510 ../NEWS:29798 ../NEWS:30092 ../NEWS:30457 +#: ../NEWS:30970 ../NEWS:31394 ../NEWS:32572 ../NEWS:32983 ../NEWS:33444 +#: ../NEWS:33917 ../NEWS:34288 ../NEWS:34675 ../NEWS:35062 ../NEWS:36912 +#: ../NEWS:37756 ../NEWS:38294 ../NEWS:38638 ../NEWS:41793 ../NEWS:41883 +#: ../NEWS:42599 ../NEWS:43169 ../NEWS:43466 ../NEWS:44059 ../NEWS:44321 +#: ../NEWS:46393 ../NEWS:46768 ../NEWS:47101 ../NEWS:47521 ../NEWS:48324 +#: ../NEWS:48653 ../NEWS:48821 ../NEWS:49322 ../NEWS:49761 ../NEWS:50251 +#: ../NEWS:50580 ../NEWS:51869 ../NEWS:52344 ../NEWS:52924 ../NEWS:55236 +#: ../NEWS:55551 ../NEWS:57155 msgid "C API" msgstr "" -#: ../NEWS:497 +#: ../NEWS:587 msgid "" ":gh:`156995`: On Free Threading, ``_PyBytes_Resize(&obj, 1)`` no longer " "returns a single byte singleton if the current thread is different than the " "thread which created the object. Patch by Stan Ulbrych." msgstr "" -#: ../NEWS:501 +#: ../NEWS:591 msgid "" ":gh:`156101`: Don't set the result in error in :c:func:`PyLong_AsInt32`, :c:" "func:`PyLong_AsUInt32`, :c:func:`PyLong_AsInt64` and :c:func:" @@ -1058,7 +1216,7 @@ msgid "" "Stinner." msgstr "" -#: ../NEWS:506 +#: ../NEWS:596 msgid "" ":gh:`131740`: On the free-threaded build, :c:func:" "`PyUnstable_GC_VisitObjects` now also visits frozen objects (objects moved " @@ -1066,22 +1224,22 @@ msgid "" "the default build." msgstr "" -#: ../NEWS:513 +#: ../NEWS:603 msgid "Python 3.14.7 final" msgstr "" -#: ../NEWS:515 +#: ../NEWS:605 msgid "*Release date: 2026-08-05*" msgstr "" -#: ../NEWS:520 +#: ../NEWS:610 msgid "" ":gh:`153030`: Fixed quadratic complexity in incremental parsing of long " "unterminated constructs (such as tags or comments) in :class:`html.parser." "HTMLParser`, which could be exploited for a denial of service." msgstr "" -#: ../NEWS:525 +#: ../NEWS:615 msgid "" ":gh:`152674`: The :class:`xml.etree.ElementTree.Element` methods :meth:`~xml." "etree.ElementTree.Element.findall`, :meth:`~xml.etree.ElementTree.Element." @@ -1090,25 +1248,25 @@ msgid "" "N]``) on XML documents with many same-tag siblings." msgstr "" -#: ../NEWS:532 +#: ../NEWS:622 msgid "" ":gh:`152216`: Update bundled `libexpat `_ to " "version 2.8.2." msgstr "" -#: ../NEWS:535 +#: ../NEWS:625 msgid "" ":gh:`151987`: The :meth:`tarfile.TarFile.extract` method now applies the " "given filter when it extracts a link target from the archive as a fallback." msgstr "" -#: ../NEWS:539 +#: ../NEWS:629 msgid "" ":gh:`151981`: In :mod:`tarfile`, seeking a stream now stops when end of the " "stream is reached." msgstr "" -#: ../NEWS:542 +#: ../NEWS:632 msgid "" ":gh:`151544`: :file:`Modules/Setup.local` is no longer used as a landmark to " "discover whether Python is running in a source tree, as it could potentially " @@ -1116,7 +1274,7 @@ msgid "" "indicator of running in a source tree." msgstr "" -#: ../NEWS:547 +#: ../NEWS:637 msgid "" ":gh:`151558`: Fixed an vulnerability in the :mod:`tarfile` ``data`` and " "``tar`` extraction filters where crafted archives could create a symlink " @@ -1124,7 +1282,7 @@ msgid "" "`2025-4330`." msgstr "" -#: ../NEWS:552 +#: ../NEWS:642 msgid "" ":gh:`150743`: :mod:`http.client` now limits the number of chunked-response " "trailer lines it will read to 100, and the number of interim (1xx) responses " @@ -1134,151 +1292,151 @@ msgid "" "g22w-6fr4." msgstr "" -#: ../NEWS:559 +#: ../NEWS:649 msgid "" ":gh:`143927`: Normalize all line endings (CR, CRLF, and LF) to LF+TAB when " "writing multi-line configparser values." msgstr "" -#: ../NEWS:562 +#: ../NEWS:652 msgid "" ":gh:`143921`: Reject NUL, CR and LF characters in IMAP commands. Other " "control characters are allowed and sent quoted." msgstr "" -#: ../NEWS:568 +#: ../NEWS:658 msgid "" ":gh:`133931`: Fix data races when setting attributes of function objects on " "the :term:`free threaded ` build." msgstr "" -#: ../NEWS:571 +#: ../NEWS:661 msgid "" ":gh:`154709`: Fix an out-of-bounds access in reverse dictionary iterators " "when the underlying dictionary is cleared and modified after the iterator is " "created." msgstr "" -#: ../NEWS:575 +#: ../NEWS:665 msgid "" ":gh:`154695`: Fix :class:`asyncio.Task` raising :exc:`AttributeError` when " "created with ``eager_start=True`` and no explicit *loop* argument." msgstr "" -#: ../NEWS:578 +#: ../NEWS:668 msgid "" ":gh:`153809`: Fix interpreter crash while deallocating objects of :class:" "`asyncio.Task` on free-threaded builds. Contributed by Sergey Miryanov." msgstr "" -#: ../NEWS:582 +#: ../NEWS:672 msgid "" ":gh:`154275`: Fix a crash when getting deeply nested ``__parameters__`` from " "a :class:`types.GenericAlias` objects." msgstr "" -#: ../NEWS:585 +#: ../NEWS:675 msgid "" ":gh:`153932`: Fix thread safety issue in the ``__reduce__`` method of :py:" "class:`enumerate`." msgstr "" -#: ../NEWS:588 +#: ../NEWS:678 msgid "" ":gh:`153298`: Fixes a data race in :class:`types.GenericAlias` " "``__parameters__`` initialization on free-threading builds." msgstr "" -#: ../NEWS:591 +#: ../NEWS:681 msgid "" ":gh:`153205`: Fix a potential :exc:`SystemError` during vector calls when " "memory allocation fails. A :exc:`MemoryError` is now raised instead." msgstr "" -#: ../NEWS:594 +#: ../NEWS:684 msgid "" ":gh:`152682`: Fix NULL pointer dereference in :func:`compile` when a " "reserved name (e.g. ``__classdict__``) is used as a type parameter name and " "memory allocation fails while formatting the error message." msgstr "" -#: ../NEWS:598 +#: ../NEWS:688 msgid "" ":gh:`152635`: Fix a crash caused when running out of memory creating a :mod:" "`!_interpchannels` channel. Now a :exc:`MemoryError` is correctly raised." msgstr "" -#: ../NEWS:602 +#: ../NEWS:692 msgid "" ":gh:`152375`: Fix undefined behaviour when a :mod:`sys.monitoring` callback " "raised an exception while the program was following a branch or loop." msgstr "" -#: ../NEWS:605 +#: ../NEWS:695 msgid "" ":gh:`152235`: Defer GC tracking of :meth:`set.intersection`, :meth:`set." "difference`, :meth:`set.symmetric_difference`, :meth:`set.union` and ``set." "__sub__``. Patch by Donghee Na." msgstr "" -#: ../NEWS:609 +#: ../NEWS:699 msgid "" ":gh:`152235`: Defer GC tracking of a :class:`set` or :class:`frozenset` to " "the end of its construction from iterable. Patch by Donghee Na." msgstr "" -#: ../NEWS:612 +#: ../NEWS:702 msgid "" ":gh:`152228`: Fix an assertion failure when python is built in a debug mode " "that happened in :meth:`str.replace` under a limited memory situation." msgstr "" -#: ../NEWS:615 +#: ../NEWS:705 msgid "" ":gh:`151763`: Fixes possible crash on :class:`types.CodeType` deallocation." msgstr "" -#: ../NEWS:617 +#: ../NEWS:707 msgid "" ":gh:`152020`: On the free-threaded build, :func:`asyncio.all_tasks` no " "longer loses eager-started tasks when called from a thread other than the " "one running the event loop." msgstr "" -#: ../NEWS:621 +#: ../NEWS:711 msgid "" ":gh:`151763`: Fix a potential crash in :func:`compile`, :func:`exec`, :func:" "`eval` and :func:`ast.parse` when an allocation fails: the parser or " "compiler could return without setting an exception." msgstr "" -#: ../NEWS:625 +#: ../NEWS:715 msgid "" ":gh:`151912`: Fixed a crash in ``type()`` when selecting a metaclass whose " "``tp_new`` slot is ``NULL``. Such metaclasses are now rejected with " "``TypeError`` instead of causing a NULL pointer dereference." msgstr "" -#: ../NEWS:629 +#: ../NEWS:719 msgid "" ":gh:`151905`: Fix OOM error handling in :c:func:`PyFrame_GetBack` to " "propagate exceptions instead of masking them as None." msgstr "" -#: ../NEWS:632 +#: ../NEWS:722 msgid "" ":gh:`151773`: Fix a crash in :func:`contextvars.ContextVar.set` when memory " "allocation fails." msgstr "" -#: ../NEWS:635 +#: ../NEWS:725 msgid "" ":gh:`151126`: Fix a crash when sharing :class:`memoryview` objects between " "interpreters fails due to running out of memory. It now raises a proper :exc:" "`MemoryError`." msgstr "" -#: ../NEWS:639 +#: ../NEWS:729 msgid "" ":gh:`151644`: Fix a data race in :func:`sys.setdlopenflags` and :func:`sys." "getdlopenflags` when called concurrently in the free-threaded build. The " @@ -1286,138 +1444,138 @@ msgid "" "functions now use atomic load/store operations." msgstr "" -#: ../NEWS:645 +#: ../NEWS:735 msgid "" ":gh:`151126`: Avoid possible crash in ``_winapi.c`` where a device has no " "memory left. Now it properly raises a :exc:`MemoryError`. Patch by Ivy Xu." msgstr "" -#: ../NEWS:648 +#: ../NEWS:738 msgid "" ":gh:`151546`: Fix the stack limit check if Python is linked to musl (ex: " "Alpine Linux). Use the stack size set by the linker to compute the stack " "limits. Patch by Victor Stinner." msgstr "" -#: ../NEWS:652 +#: ../NEWS:742 msgid "" ":gh:`151461`: Fix direct execution of files with invalid source encodings to " "report the underlying codec lookup or decoding error instead of the generic " "``SyntaxError: encoding problem`` message. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:657 +#: ../NEWS:747 msgid "" ":gh:`151218`: :c:func:`PyConfig_Set` and :func:`sys.set_int_max_str_digits` " "now replace :data:`sys.flags` (create a new object), instead of modifying :" "data:`sys.flags` in-place. Patch by Victor Stinner." msgstr "" -#: ../NEWS:661 +#: ../NEWS:751 msgid "" ":gh:`151253`: If ``import encodings`` (first import) fails at Python " "startup, dump the Python path configuration to help users debugging their " "configuration. Patch by Victor Stinner." msgstr "" -#: ../NEWS:665 +#: ../NEWS:755 msgid "" ":gh:`151238`: Fix a crash when compiling a concatenated f-string or t-string " "if an error occurs when processing one of it's parts." msgstr "" -#: ../NEWS:668 ../NEWS:1145 +#: ../NEWS:758 ../NEWS:1235 msgid "" ":gh:`151126`: Fix a crash, when there's no memory left on a device, which " "happened in :mod:`!_interpchannels` module." msgstr "" -#: ../NEWS:671 ../NEWS:1148 +#: ../NEWS:761 ../NEWS:1238 msgid "Now it raises proper :exc:`MemoryError` errors." msgstr "" -#: ../NEWS:673 +#: ../NEWS:763 msgid "" ":gh:`150902`: Apply an existing optimization of PyCriticalSection (single " "mutex) to PyCriticalSection2: avoid acquiring the same locks that the " "current CS has already acquired." msgstr "" -#: ../NEWS:677 +#: ../NEWS:767 msgid "" ":gh:`151065`: Fix memory leak when using the :ref:`mimalloc memory allocator " "`." msgstr "" -#: ../NEWS:680 +#: ../NEWS:770 msgid "" ":gh:`151029`: On Linux, fix :func:`sys.remote_exec` unable to find remote " "writable memory when ``libpython`` replaced on disk." msgstr "" -#: ../NEWS:683 +#: ../NEWS:773 msgid "" ":gh:`150988`: Fix a reference leak in :exc:`OSError` when attributes are set " "before ``super().__init__()``." msgstr "" -#: ../NEWS:686 +#: ../NEWS:776 msgid "" ":gh:`144774`: Fix data race in :class:`BaseException` when an exception is " "copied while being mutated." msgstr "" -#: ../NEWS:689 +#: ../NEWS:779 msgid "" ":gh:`150411`: Fix a data race in the free-threaded build when :func:`gc." "get_count` reads the young generation allocation count while another thread " "updates it." msgstr "" -#: ../NEWS:693 +#: ../NEWS:783 msgid "" ":gh:`149689`: Fix missing error propagation in parser action helpers when " "memory allocation fails. Patch by Thomas Kowalski." msgstr "" -#: ../NEWS:696 +#: ../NEWS:786 msgid "" ":gh:`149162`: Fix a potential deadlock in :c:func:" "`PyUnicode_InternFromString` and other interning functions in the :term:" "`free-threaded build` when called from C++ static local initializers." msgstr "" -#: ../NEWS:704 +#: ../NEWS:794 msgid "" ":gh:`155009`: Fix :class:`argparse.ArgumentParser` to preserve the program " "name from ``sys.argv[0]`` when a named module is executed as the main " "program without replacing ``sys.argv[0]``." msgstr "" -#: ../NEWS:708 +#: ../NEWS:798 msgid "" ":gh:`155063`: Bump the version of pip bundled in ensurepip to version 26.2.1" msgstr "" -#: ../NEWS:710 +#: ../NEWS:800 msgid "" ":gh:`155063`: Bump the version of pip bundled in ensurepip to version 26.2" msgstr "" -#: ../NEWS:712 +#: ../NEWS:802 msgid "" ":gh:`154936`: Fix the pure Python :mod:`json` decoder to report the correct " "position for invalid literal control characters in JSON strings." msgstr "" -#: ../NEWS:715 +#: ../NEWS:805 msgid "" ":gh:`154892`: Fix a bug in the C accelerator for :mod:`zoneinfo` where :" "class:`datetime.datetime` subclasses returning ``-1`` for ``hour``, " "``minute``, or ``second`` could incorrectly raise a :exc:`SystemError`." msgstr "" -#: ../NEWS:719 +#: ../NEWS:809 msgid "" ":gh:`154848`: The :mod:`pickle` C accelerator now enforces frame boundaries " "when unpickling, as the pure Python implementation already did. An argument " @@ -1427,21 +1585,21 @@ msgid "" "diverging from the :mod:`pickletools` disassembly of the same pickle." msgstr "" -#: ../NEWS:727 +#: ../NEWS:817 msgid "" ":gh:`109638`: Fix exponential time in :meth:`csv.Sniffer.sniff` for a sample " "which contains many quote characters. A doubled quote character is now also " "detected in a field which contains the delimiter or a line break." msgstr "" -#: ../NEWS:731 +#: ../NEWS:821 msgid "" ":gh:`98820`: Fix quadratic time in :meth:`csv.Sniffer.sniff` for a sample " "which contains quoted fields, in particular for a single column of quoted " "fields." msgstr "" -#: ../NEWS:735 +#: ../NEWS:825 msgid "" ":gh:`154738`: Fix :meth:`!ExternalEntityParserCreate` not propagating the " "reparse-deferral setting to the subparser, which left :meth:`!" @@ -1449,7 +1607,7 @@ msgid "" "tonghuaroot." msgstr "" -#: ../NEWS:740 +#: ../NEWS:830 msgid "" ":gh:`93251`: Fix :exc:`UnicodeDecodeError` in :mod:`socket` functions (such " "as :func:`~socket.getaddrinfo` and :func:`~socket.gethostbyaddr`) when the " @@ -1457,20 +1615,20 @@ msgid "" "locale encoding." msgstr "" -#: ../NEWS:745 +#: ../NEWS:835 msgid "" ":gh:`154551`: Fix :func:`ctypes.util.find_library` returning ``None`` in non-" "UTF-8 locales." msgstr "" -#: ../NEWS:748 +#: ../NEWS:838 msgid "" ":gh:`79366`: Fixed a race condition in :mod:`logging`: if a handler was " "removed while a record was being emitted, the following handlers of the same " "logger could be skipped." msgstr "" -#: ../NEWS:752 +#: ../NEWS:842 msgid "" ":gh:`73458`: Fix :func:`logging.config.listen`: it left the caller waiting " "for the ``ready`` event forever if the server could not be started, for " @@ -1479,66 +1637,66 @@ msgid "" "is only aliased to ``::1``." msgstr "" -#: ../NEWS:758 +#: ../NEWS:848 msgid "" ":gh:`154460`: Fix :func:`time.strftime` and :meth:`datetime.datetime." "strftime` returning a wrong ISO 8601 week number (``%V``) on OpenBSD." msgstr "" -#: ../NEWS:762 +#: ../NEWS:852 msgid "" ":gh:`154435`: Fix :func:`os.posix_fadvise` and :func:`os.posix_fallocate` on " "DragonFly BSD: they raised :exc:`OSError` with a meaningless error code, " "because these functions return -1 and set ``errno`` there." msgstr "" -#: ../NEWS:766 +#: ../NEWS:856 msgid "" ":gh:`154399`: Fix :mod:`venv` activation in a non-interactive csh: " "``activate.csh`` no longer fails when the ``prompt`` variable is not set." msgstr "" -#: ../NEWS:769 +#: ../NEWS:859 msgid "" ":gh:`154389`: Fix :func:`uuid.uuid1` on OpenBSD: it returned a version 4 " "UUID, because ``uuid_create()`` generates random UUIDs on this platform." msgstr "" -#: ../NEWS:772 +#: ../NEWS:862 msgid "" ":gh:`154324`: Fix :func:`os.sendfile` on illumos: it no longer reports a " "successful transfer when the underlying system call failed without writing " "any data." msgstr "" -#: ../NEWS:776 +#: ../NEWS:866 msgid "" ":gh:`154307`: Fix :meth:`tempfile.TemporaryDirectory.cleanup` on DragonFly " "BSD, where removing a file with the ``UF_NOUNLINK`` flag failed with " "``EISDIR`` instead of ``EPERM``." msgstr "" -#: ../NEWS:780 +#: ../NEWS:870 msgid "" ":gh:`154291`: Fix :func:`socket.has_dualstack_ipv6` to return ``False`` on " "platforms such as DragonFly BSD where setting ``IPV6_V6ONLY`` to 0 silently " "has no effect." msgstr "" -#: ../NEWS:784 +#: ../NEWS:874 msgid "" ":gh:`154283`: On DragonFly BSD, :func:`threading.get_native_id` now returns " "a value that is unique across processes, matching the other platforms." msgstr "" -#: ../NEWS:787 +#: ../NEWS:877 msgid "" ":gh:`154258`: Fix a crash in :meth:`mmap.mmap.resize` on NetBSD when growing " "a shared anonymous mapping. :meth:`!resize` now raises :exc:`ValueError` in " "this case, as it already did on Linux." msgstr "" -#: ../NEWS:791 +#: ../NEWS:881 msgid "" ":gh:`131565`: :func:`ctypes.util.dllist` now works on NetBSD. It is " "implemented in the :mod:`!_ctypes` extension module so that " @@ -1547,20 +1705,20 @@ msgid "" "called through ctypes." msgstr "" -#: ../NEWS:797 +#: ../NEWS:887 msgid "" ":gh:`154225`: Fix :func:`os.openpty` on Solaris and illumos: it no longer " "leaves the pseudo-terminal as the controlling terminal of the calling " "process." msgstr "" -#: ../NEWS:801 +#: ../NEWS:891 msgid "" ":gh:`154227`: Fix :func:`os.posix_openpt` on OpenBSD, where it rejected the :" "data:`~os.O_CLOEXEC` flag." msgstr "" -#: ../NEWS:804 +#: ../NEWS:894 msgid "" ":gh:`145030`: Fix :mod:`asyncio` write pipe transports for named FIFOs on " "macOS and Solaris. Unread data sitting in the FIFO made the transport " @@ -1568,23 +1726,23 @@ msgid "" "transport." msgstr "" -#: ../NEWS:809 +#: ../NEWS:899 msgid "" ":gh:`154001`: Fix :func:`random.binomialvariate` raising :exc:" "`ZeroDivisionError` when :func:`random.random` returns zero." msgstr "" -#: ../NEWS:812 +#: ../NEWS:902 msgid "" ":gh:`153908`: Fix data race when calling :func:`repr` on :class:`itertools." "count` under the :term:`free-threaded build`." msgstr "" -#: ../NEWS:815 +#: ../NEWS:905 msgid ":gh:`153896`: Deduplicate unhashable args in :data:`typing.Literal`." msgstr "" -#: ../NEWS:817 +#: ../NEWS:907 msgid "" ":gh:`153864`: On a wide :mod:`curses` build, :meth:`curses.window.insch` now " "inserts a non-ASCII byte as the character it encodes in the window's " @@ -1592,34 +1750,34 @@ msgid "" "code point." msgstr "" -#: ../NEWS:822 +#: ../NEWS:912 msgid "" ":gh:`153862`: On a wide :mod:`curses` build, :meth:`curses.window.inch` now " "returns the locale-encoded byte of a non-ASCII character, matching :meth:" "`~curses.window.instr`, instead of the low byte of its code point." msgstr "" -#: ../NEWS:826 +#: ../NEWS:916 msgid "" ":gh:`146011`: Fix a heap-use-after-free in the C implementation of :mod:" "`decimal` when calling :func:`repr` after deleting the :class:`~decimal." "Context`." msgstr "" -#: ../NEWS:830 +#: ../NEWS:920 msgid "" ":gh:`153761`: Fix cancelling :meth:`asyncio.loop.sock_accept` dropping a " "pending connection." msgstr "" -#: ../NEWS:833 +#: ../NEWS:923 msgid "" ":gh:`153695`: Hashing a :class:`sqlite3.Row` that contains an unhashable " "value now raises :exc:`TypeError` instead of :exc:`SystemError`. Patch by " "tonghuaroot." msgstr "" -#: ../NEWS:837 +#: ../NEWS:927 msgid "" ":gh:`127049`: Fix a race condition in :mod:`asyncio` on Unix where :meth:" "`asyncio.subprocess.Process.send_signal`, :meth:`~asyncio.subprocess.Process." @@ -1628,14 +1786,14 @@ msgid "" "when ThreadedChildWatcher is used. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:844 +#: ../NEWS:934 msgid "" ":gh:`153658`: Fix :meth:`sqlite3.Connection.iterdump` raising :exc:`sqlite3." "OperationalError` when a table name contains a single quote. Patch by " "tonghuaroot." msgstr "" -#: ../NEWS:848 +#: ../NEWS:938 msgid "" ":gh:`85943`: Fix :mod:`struct` functions raising :exc:`BytesWarning` under " "the ``-bb`` command line option when a :class:`str` format is used after an " @@ -1643,7 +1801,7 @@ msgid "" "longer mixes :class:`str` and :class:`bytes` keys." msgstr "" -#: ../NEWS:853 +#: ../NEWS:943 msgid "" ":gh:`153404`: :class:`urllib.robotparser.RobotFileParser` now silently " "ignores a ``Crawl-delay`` or ``Request-rate`` value written with non-decimal " @@ -1651,33 +1809,33 @@ msgid "" "`ValueError` and aborting the parse of the whole ``robots.txt`` file." msgstr "" -#: ../NEWS:858 +#: ../NEWS:948 msgid "" ":gh:`153417`: Error messages from :meth:`imaplib.IMAP4.select` and :meth:" "`imaplib.IMAP4.uid` no longer raise :exc:`BytesWarning` under :option:`!-bb` " "when the mailbox or command argument is :class:`bytes`." msgstr "" -#: ../NEWS:862 +#: ../NEWS:952 msgid "" ":gh:`153406`: :func:`email.utils.parsedate_to_datetime` now raises :exc:" "`ValueError` instead of :exc:`OverflowError` when the parsed year or " "timezone offset is out of range, matching its documented behavior." msgstr "" -#: ../NEWS:866 +#: ../NEWS:956 msgid "" ":gh:`153083`: Defer GC tracking of an :class:`array.array` to the end of its " "construction. Patch by Donghee Na." msgstr "" -#: ../NEWS:869 +#: ../NEWS:959 msgid "" ":gh:`153292`: Fix data race in repr of :class:`threading.RLock` in free-" "threading build." msgstr "" -#: ../NEWS:872 +#: ../NEWS:962 msgid "" ":gh:`143990`: A :class:`tkinter.font.Font` created from a named font, " "including by :meth:`~tkinter.font.Font.copy`, now copies its configured " @@ -1685,37 +1843,37 @@ msgid "" "preserving a size specified in pixels (a negative size)." msgstr "" -#: ../NEWS:877 +#: ../NEWS:967 msgid "" ":gh:`148286`: Fix undefined behavior in :attr:`compression.zstd." "ZstdDecompressor.unused_data` when a complete frame was decompressed in a " "single call." msgstr "" -#: ../NEWS:881 +#: ../NEWS:971 msgid ":gh:`153210`: Fix crash on :mod:`array` import under a memory pressure." msgstr "" -#: ../NEWS:883 +#: ../NEWS:973 msgid "" ":gh:`153200`: Fix :func:`math.isqrt` returning an incorrect result for " "arguments not less than 2**64 that are instances of an :class:`int` subclass " "with an overridden comparison operator." msgstr "" -#: ../NEWS:887 +#: ../NEWS:977 msgid "" ":gh:`153068`: Fix :meth:`!cProfile.Profile.enable` to no longer overwrite " "errors from :mod:`sys.monitoring`." msgstr "" -#: ../NEWS:890 +#: ../NEWS:980 msgid "" ":gh:`153062`: Fix a crash when concurrently iterating an :func:`itertools." "tee` iterator on the free-threaded build." msgstr "" -#: ../NEWS:893 +#: ../NEWS:983 msgid "" ":gh:`153056`: Fix :class:`string.Template` raising a spurious :exc:" "`ValueError` when the *pattern* attribute is a compiled regular expression " @@ -1723,27 +1881,27 @@ msgid "" "also occurred as a data race on the first concurrent use." msgstr "" -#: ../NEWS:898 +#: ../NEWS:988 msgid "" ":gh:`153037`: Fix :class:`~compression.zstd.ZstdFile` raising :exc:" "`AttributeError` instead of :exc:`io.UnsupportedOperation` when iterating " "over a file that is not open for reading." msgstr "" -#: ../NEWS:902 +#: ../NEWS:992 msgid "" ":gh:`135661`: Fix :class:`html.parser.HTMLParser`: an abruptly closed empty " "comment (```` or ````) no longer extends up to a later ``-->`` in " "the same :meth:`~html.parser.HTMLParser.feed` call." msgstr "" -#: ../NEWS:906 +#: ../NEWS:996 msgid "" ":gh:`152851`: Prevent a crash when allocation fails while copying a :func:" "`BLAKE-2s/2b ` object. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:909 +#: ../NEWS:999 msgid "" ":gh:`54930`: Error responses of :class:`http.server.BaseHTTPRequestHandler` " "to malformed request lines now include a status line and headers instead of " @@ -1751,7 +1909,7 @@ msgid "" "word ``GET`` request line) now receives an HTTP/0.9 style response." msgstr "" -#: ../NEWS:914 +#: ../NEWS:1004 msgid "" ":gh:`119592`: Fix :class:`concurrent.futures.ProcessPoolExecutor` stranding " "submitted work forever when a worker process exited upon reaching its " @@ -1765,33 +1923,33 @@ msgid "" "crash the executor management thread." msgstr "" -#: ../NEWS:926 +#: ../NEWS:1016 msgid "" ":gh:`152951`: :class:`collections.deque` prevent rare crash when calling " "``extend`` under high memory pressure conditions." msgstr "" -#: ../NEWS:929 +#: ../NEWS:1019 msgid "" ":gh:`150880`: Normalize non-extended Windows paths before appending the " "wildcard used by ``os.listdir()`` and ``os.scandir()``, making paths with " "trailing spaces behave consistently with other filesystem APIs." msgstr "" -#: ../NEWS:933 +#: ../NEWS:1023 msgid "" ":gh:`152849`: Out-of-range float and integer timestamps now raise :exc:" "`OverflowError` with the same message. Patch by tonghuaroot." msgstr "" -#: ../NEWS:936 +#: ../NEWS:1026 msgid "" ":gh:`152847`: Reject a POSIX TZ transition rule with non-digit characters in " "the day-of-year field in the pure-Python :mod:`zoneinfo` parser. Patch by " "tonghuaroot." msgstr "" -#: ../NEWS:940 +#: ../NEWS:1030 msgid "" ":gh:`108280`: Connecting :mod:`imaplib` to a server that does not send a " "valid IMAP4 greeting (for example a POP3 server answering on the IMAP port) " @@ -1799,7 +1957,7 @@ msgid "" "IMAP4.error: None``." msgstr "" -#: ../NEWS:945 +#: ../NEWS:1035 msgid "" ":gh:`63121`: :mod:`imaplib` now refreshes the cached capability list after a " "successful :meth:`~imaplib.IMAP4.login` or :meth:`~imaplib.IMAP4." @@ -1810,7 +1968,7 @@ msgid "" "redundant ``CAPABILITY`` command." msgstr "" -#: ../NEWS:954 +#: ../NEWS:1044 msgid "" ":gh:`88574`: :mod:`imaplib` no longer fails when a server sends a spurious " "blank line after the counted data of a literal, including after a literal " @@ -1818,7 +1976,7 @@ msgid "" "Such blank lines are now skipped without swallowing the following line." msgstr "" -#: ../NEWS:959 +#: ../NEWS:1049 msgid "" ":gh:`152502`: Detect the :mod:`curses` mouse interface (:func:`~curses." "getmouse`, the ``BUTTON*`` constants, and others) with a configure " @@ -1828,13 +1986,13 @@ msgid "" "``windows-curses``)." msgstr "" -#: ../NEWS:966 +#: ../NEWS:1056 msgid "" ":gh:`151842`: Fix a crash in :func:`!_interpreters.capture_exception` when :" "exc:`MemoryError` happens. Patch by Amrutha Modela." msgstr "" -#: ../NEWS:969 +#: ../NEWS:1059 msgid "" ":gh:`40038`: :mod:`imaplib` now again quotes command arguments when " "necessary, for example mailbox names containing a space. Such quoting was " @@ -1844,7 +2002,7 @@ msgid "" "unchanged, so code that quotes arguments itself keeps working." msgstr "" -#: ../NEWS:976 +#: ../NEWS:1066 msgid "" ":gh:`50966`: Fix unbounded recursion in :mod:`turtle` when a mouse event " "handler that moves the turtle is reentered while the screen is being " @@ -1852,7 +2010,7 @@ msgid "" "previously crash the interpreter." msgstr "" -#: ../NEWS:981 +#: ../NEWS:1071 msgid "" ":gh:`152569`: Fix :func:`asyncio.wait` leaking waiting tasks via the await-" "graph when racing a future that never resolves. The waiting task is now " @@ -1860,7 +2018,7 @@ msgid "" "returns, even for pending futures." msgstr "" -#: ../NEWS:986 +#: ../NEWS:1076 msgid "" ":gh:`78335`: Update the docstrings of :mod:`tkinter` and :mod:`tkinter.ttk` " "widget classes to list all supported widget options, including options added " @@ -1868,26 +2026,26 @@ msgid "" "previously had no option list at all." msgstr "" -#: ../NEWS:991 +#: ../NEWS:1081 msgid "" ":gh:`152431`: Fix ``asyncio.StreamWriter.start_tls()`` to keep the linked " "``StreamReader`` transport in sync with the upgraded transport." msgstr "" -#: ../NEWS:994 +#: ../NEWS:1084 msgid "" ":gh:`151126`: Fix two crashes in :mod:`tkinter` and :mod:`socket` modules " "initialization under a memory pressure. Sets missing :exc:`MemoryError`." msgstr "" -#: ../NEWS:997 +#: ../NEWS:1087 msgid "" ":gh:`133031`: :class:`curses.textpad.Textbox` now enters and reads back the " "non-ASCII characters of an 8-bit locale encoding, instead of mangling them " "with a 7-bit mask." msgstr "" -#: ../NEWS:1001 +#: ../NEWS:1091 msgid "" ":gh:`71880`: :class:`curses.textpad.Textbox` now lets the lower-right cell " "of the window be edited. Writing it with :meth:`~curses.window.addch` would " @@ -1896,7 +2054,7 @@ msgid "" "which keeps the cursor in place." msgstr "" -#: ../NEWS:1007 +#: ../NEWS:1097 msgid "" ":gh:`83274`: Deallocating a :mod:`tkinter` application from a thread other " "than the one it was created in no longer crashes the interpreter. The " @@ -1904,14 +2062,14 @@ msgid "" "reported." msgstr "" -#: ../NEWS:1012 +#: ../NEWS:1102 msgid "" ":gh:`152305`: Fix the pure-Python :meth:`datetime.time.strftime` " "implementation raising :exc:`AttributeError` for the year directives. Patch " "by tonghuaroot." msgstr "" -#: ../NEWS:1016 +#: ../NEWS:1106 msgid "" ":gh:`88758`: :meth:`!tkinter.Misc.focus_get`, :meth:`!focus_displayof`, :" "meth:`!focus_lastfor` and :meth:`!winfo_containing` now return ``None`` " @@ -1919,21 +2077,21 @@ msgid "" "`tkinter` (for example a torn-off menu)." msgstr "" -#: ../NEWS:1021 +#: ../NEWS:1111 msgid "" ":gh:`38464`: :meth:`!tkinter.Misc.nametowidget` now resolves the auto-" "generated names of cloned menus (a menu used as a menubar or a cascade) back " "to the original widget." msgstr "" -#: ../NEWS:1025 +#: ../NEWS:1115 msgid "" ":gh:`152248`: Make the C and pure-Python :mod:`zoneinfo` parsers validate " "POSIX TZ abbreviations consistently, rejecting unquoted abbreviations with " "non-letter characters and empty quoted abbreviations. Patch by tonghuaroot." msgstr "" -#: ../NEWS:1030 +#: ../NEWS:1120 msgid "" ":gh:`80937`: Fix a memory leak in :mod:`tkinter` when a Tcl command created " "with ``createcommand`` was not explicitly removed before the interpreter was " @@ -1941,14 +2099,14 @@ msgid "" "reference cycle." msgstr "" -#: ../NEWS:1035 +#: ../NEWS:1125 msgid "" ":gh:`152246`: Fix the pure-Python :mod:`zoneinfo` parser accepting an " "invalid POSIX TZ transition rule with a non-period separator. Patch by " "tonghuaroot." msgstr "" -#: ../NEWS:1039 +#: ../NEWS:1129 msgid "" ":gh:`139816`: Fix a hang in :mod:`tkinter` on interactive Python built " "without :mod:`readline`. An exception raised in a callback no longer causes " @@ -1956,7 +2114,7 @@ msgid "" "callbacks now keep running until input is actually available on stdin." msgstr "" -#: ../NEWS:1045 +#: ../NEWS:1135 msgid "" ":gh:`139145`: Fix a busy loop in :mod:`tkinter` on interactive Python. When " "a Tcl command running its own event loop (such as ``vwait`` or :meth:`!" @@ -1965,7 +2123,7 @@ msgid "" "is available. Based on a patch by Michiel de Hoon." msgstr "" -#: ../NEWS:1051 +#: ../NEWS:1141 msgid "" ":gh:`152212`: Fix the pure-Python :mod:`zoneinfo` parser accepting a POSIX " "TZ string with a ``std`` abbreviation but no offset. This is invalid per " @@ -1973,13 +2131,13 @@ msgid "" "tonghuaroot." msgstr "" -#: ../NEWS:1056 +#: ../NEWS:1146 msgid "" ":gh:`152156`: Fix a possible crash in :func:`concurrent.interpreters.create` " "under limited memory conditions." msgstr "" -#: ../NEWS:1059 +#: ../NEWS:1149 msgid "" ":gh:`152157`: The C implementations of :meth:`~datetime.datetime." "fromisoformat` and :meth:`~datetime.time.fromisoformat` now reject a decimal " @@ -1987,72 +2145,72 @@ msgid "" "designator." msgstr "" -#: ../NEWS:1064 +#: ../NEWS:1154 msgid "" ":gh:`151763`: Fix crash in :func:`!_interpqueues.create` whe :exc:" "`MemoryError` happens on queue creation." msgstr "" -#: ../NEWS:1067 +#: ../NEWS:1157 msgid "" ":gh:`105895`: Add :keyword:`match` and :keyword:`case` to the list of " "supported topics by :func:`help`." msgstr "" -#: ../NEWS:1070 +#: ../NEWS:1160 msgid "" ":gh:`152079`: Fix :meth:`datetime.datetime.fromisoformat` in the C " "implementation dropping the sub-second part of a UTC offset whose whole-" "second part is zero, matching the pure-Python implementation." msgstr "" -#: ../NEWS:1074 +#: ../NEWS:1164 msgid "" ":gh:`152052`: The :mod:`json` C accelerator now correctly reports an " "unterminated string for a ``\\uXXXX`` escape at the end of the input." msgstr "" -#: ../NEWS:1077 +#: ../NEWS:1167 msgid "" ":gh:`152060`: Fix :meth:`datetime.datetime.fromisoformat` raising :exc:" "`AssertionError` instead of :exc:`ValueError` for some malformed strings in " "the pure-Python implementation, matching the C implementation." msgstr "" -#: ../NEWS:1081 +#: ../NEWS:1171 msgid "" ":gh:`126219`: Fixed a crash in :class:`tkinter.Tk` when *className* contains " "a non-BMP character and tkinter is built against Tcl/Tk 8.x. Such a name is " "now rejected with a :exc:`ValueError`." msgstr "" -#: ../NEWS:1085 +#: ../NEWS:1175 msgid "" ":gh:`86165`: Fix :func:`imaplib.Time2Internaldate` to use the local timezone " "offset for ``time.struct_time`` values with ``tm_gmtoff`` set to ``None``, " "as returned by ``datetime.datetime.timetuple()``. Contributed by Xiao Yuan." msgstr "" -#: ../NEWS:1090 +#: ../NEWS:1180 msgid "" ":gh:`151814`: Fix unbounded memory growth in :class:`io.TextIOWrapper` when " "repeatedly writing an empty string." msgstr "" -#: ../NEWS:1093 +#: ../NEWS:1183 msgid "" ":gh:`151770`: Fix :meth:`datetime.datetime.fromisoformat` raising :exc:" "`AssertionError` instead of :exc:`ValueError` for an out-of-range month " "combined with a ``24:00`` time." msgstr "" -#: ../NEWS:1097 +#: ../NEWS:1187 msgid "" ":gh:`151665`: :func:`inspect.signature` now works on the lazy evaluators of " "type aliases and type parameters instead of raising :exc:`ValueError`." msgstr "" -#: ../NEWS:1100 +#: ../NEWS:1190 msgid "" ":gh:`151695`: Fix a use-after-free in the :mod:`curses` module. The " "encoding of the initial screen, used by :func:`curses.unctrl` and :func:" @@ -2061,27 +2219,27 @@ msgid "" "deallocated." msgstr "" -#: ../NEWS:1106 +#: ../NEWS:1196 msgid "" ":gh:`151596`: Add missing ``size`` positional argument to the pure-Python " "implementation of :meth:`io.TextIOBase.readline`." msgstr "" -#: ../NEWS:1109 +#: ../NEWS:1199 msgid "" ":gh:`151640`: Fix a data race in :class:`io.BytesIO` in free-threaded builds " "when whole-buffer reads or peeks, or :meth:`~io.BytesIO.getvalue`, share the " "internal buffer with concurrent writes." msgstr "" -#: ../NEWS:1113 +#: ../NEWS:1203 msgid "" ":gh:`148660`: Fix a crash in :meth:`!collections.OrderedDict.copy` when a " "key's ``__eq__`` or a subclass method mutates the dict during the copy. Now " "raises :exc:`RuntimeError` instead, as iteration does." msgstr "" -#: ../NEWS:1117 +#: ../NEWS:1207 msgid "" ":gh:`151497`: Opening a :mod:`tarfile` archive no longer attempts to pre-" "allocate a huge buffer when a crafted or truncated member claims an " @@ -2090,26 +2248,26 @@ msgid "" "longer trigger memory exhaustion." msgstr "" -#: ../NEWS:1123 +#: ../NEWS:1213 msgid "" ":gh:`151403`: Fixed a crash in :class:`subprocess.Popen` (and " "``_posixsubprocess.fork_exec``) when an ``argv`` item's :meth:`~os.PathLike." "__fspath__` concurrently mutates the ``args`` sequence being converted." msgstr "" -#: ../NEWS:1128 +#: ../NEWS:1218 msgid "" ":gh:`151390`: Colorize ``match`` in the :term:`REPL` when followed by a " "unary ``+`` or ``-`` operator. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:1131 +#: ../NEWS:1221 msgid "" ":gh:`151126`: Fix crash on unset :exc:`MemoryError` on allocation failure " "in :func:`ctypes.get_errno`." msgstr "" -#: ../NEWS:1134 +#: ../NEWS:1224 msgid "" ":gh:`151416`: Fix a crash in :func:`os.spawnv` and :func:`os.spawnve` when " "an *argv* item's :meth:`~os.PathLike.__fspath__` method mutates the *argv* " @@ -2118,17 +2276,17 @@ msgid "" "embedded null, are no longer replaced with a generic :exc:`TypeError`." msgstr "" -#: ../NEWS:1140 +#: ../NEWS:1230 msgid ":gh:`151337`: Avoid possible memory leak in ``tkinter.c`` on Windows." msgstr "" -#: ../NEWS:1142 +#: ../NEWS:1232 msgid "" ":gh:`151126`: Fix a crash when :exc:`MemoryError` in :func:`!os." "_path_splitroot` was not set properly." msgstr "" -#: ../NEWS:1150 +#: ../NEWS:1240 msgid "" ":gh:`119710`: Fix :mod:`asyncio` subprocess :meth:`~asyncio.subprocess." "Process.wait` hanging when the process has exited but one of its pipes is " @@ -2137,7 +2295,7 @@ msgid "" "pipes' state." msgstr "" -#: ../NEWS:1156 +#: ../NEWS:1246 msgid "" ":gh:`151295`: Fixed a crash (use-after-free) in :meth:`bytes.join` and :meth:" "`bytearray.join` that could occur if an item's :meth:`~object.__buffer__` " @@ -2145,50 +2303,50 @@ msgid "" "as a :exc:`RuntimeError` instead." msgstr "" -#: ../NEWS:1161 +#: ../NEWS:1251 msgid "" ":gh:`109940`: Fix Windows :mod:`venv` activation in ``cmd.exe`` to respect " "``VIRTUAL_ENV_DISABLE_PROMPT``." msgstr "" -#: ../NEWS:1164 +#: ../NEWS:1254 msgid "" ":gh:`117807`: Fix :mod:`mimetypes` initialization from MIME map files " "containing invalid UTF-8 bytes." msgstr "" -#: ../NEWS:1167 +#: ../NEWS:1257 msgid "" ":gh:`150583`: Correctly set the default compression level in :mod:" "`compression.zstd` when passing a digested dictionary during compression." msgstr "" -#: ../NEWS:1171 +#: ../NEWS:1261 msgid "" ":gh:`150641`: Fix bug where :func:`typing.evaluate_forward_ref` with the " "``STRING`` format could leak internal names used by the annotation machinery." msgstr "" -#: ../NEWS:1175 +#: ../NEWS:1265 msgid "" ":gh:`150484`: Fix :func:`unittest.mock.mock_open` ``__exit__`` raising " "``TypeError`` when used with :class:`contextlib.ExitStack`." msgstr "" -#: ../NEWS:1178 +#: ../NEWS:1268 msgid "" ":gh:`149816`: Fix a potential use after free condition in :func:`pickle." "dumps` in free-threaded mode when serializing lists." msgstr "" -#: ../NEWS:1181 +#: ../NEWS:1271 msgid "" ":gh:`149319`: The :mod:`asyncio` REPL now ignores :envvar:`PYTHONSTARTUP` " "and :envvar:`PYTHON_BASIC_REPL` when :option:`-E` or :option:`-I` is used. " "Patch by Jonathan Dung." msgstr "" -#: ../NEWS:1185 +#: ../NEWS:1275 msgid "" ":gh:`47005`: Fix :meth:`!urllib.request.AbstractHTTPHandler.do_open` to give " "regular headers set via :meth:`~urllib.request.Request.add_header` priority " @@ -2196,13 +2354,13 @@ msgid "" "get_header` and :meth:`~urllib.request.Request.header_items`." msgstr "" -#: ../NEWS:1191 +#: ../NEWS:1281 msgid "" ":gh:`123471`: Make concurrent iteration over :class:`itertools.zip_longest` " "safe under free-threading." msgstr "" -#: ../NEWS:1194 +#: ../NEWS:1284 msgid "" ":gh:`123720`: asyncio: Fix :func:`asyncio.Server.serve_forever` shutdown " "regression. Since 3.12, cancelling ``serve_forever()`` could hang waiting " @@ -2212,33 +2370,33 @@ msgid "" "observe EOF." msgstr "" -#: ../NEWS:1201 +#: ../NEWS:1291 msgid "" ":gh:`123471`: Make concurrent iteration over :class:`itertools.accumulate` " "safe under free-threading." msgstr "" -#: ../NEWS:1204 +#: ../NEWS:1294 msgid "" ":gh:`123471`: Make concurrent iteration over :class:`itertools." "combinations_with_replacement` and :class:`itertools.permutations` safe " "under free-threading." msgstr "" -#: ../NEWS:1208 +#: ../NEWS:1298 msgid "" ":gh:`143988`: Fixed crashes in :meth:`socket.socket.sendmsg` and :meth:" "`socket.socket.recvmsg_into` that could occur if buffer sequences are " "concurrently mutated." msgstr "" -#: ../NEWS:1212 +#: ../NEWS:1302 msgid "" ":gh:`130796`: Undeprecate the :func:`locale.getdefaultlocale` function. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:1215 +#: ../NEWS:1305 msgid "" ":gh:`115634`: Fix a deadlock in :class:`concurrent.futures." "ProcessPoolExecutor` when using ``max_tasks_per_child``, present since the " @@ -2247,58 +2405,58 @@ msgid "" "Based on a fix proposed by Tabrez Mohammed." msgstr "" -#: ../NEWS:1222 +#: ../NEWS:1312 msgid "" ":gh:`140326`: Fix the :mod:`asyncio` REPL namespace so that relative imports " "no longer resolve against the :mod:`asyncio` package and ``__file__`` is no " "longer set." msgstr "" -#: ../NEWS:1226 +#: ../NEWS:1316 msgid "" ":gh:`79638`: Disallow all access in :mod:`urllib.robotparser` if the " "``robots.txt`` file is unreachable due to server or network errors." msgstr "" -#: ../NEWS:1229 +#: ../NEWS:1319 msgid "" ":gh:`123471`: Make concurrent iterations over :class:`itertools.chain` safe " "under :term:`free threading`." msgstr "" -#: ../NEWS:1232 +#: ../NEWS:1322 msgid "" ":gh:`123471`: Make concurrent iterations over :class:`itertools." "combinations` and :class:`itertools.product` safe under free-threading." msgstr "" -#: ../NEWS:1235 +#: ../NEWS:1325 msgid "" ":gh:`123471`: Make concurrent iterations over :class:`itertools.cycle` safe " "under free-threading." msgstr "" -#: ../NEWS:1238 +#: ../NEWS:1328 msgid "" ":gh:`120665`: Fixed an issue where ``unittest`` loaders would load and " "instantiate :class:`unittest.TestCase`-derived subclasses that are also " "abstract base classes, which can't be instantiated." msgstr "" -#: ../NEWS:1242 +#: ../NEWS:1332 msgid "" ":gh:`105708`: Accept an uppercase V prefix in IPvFuture addresses in :func:" "`urllib.parse.urlsplit`." msgstr "" -#: ../NEWS:1245 +#: ../NEWS:1335 msgid "" ":gh:`103925`: Fix :meth:`csv.Sniffer.sniff` for a sample with ``\\r\\n`` " "line endings in which a quoted field ends a line: a letter could be detected " "as the delimiter." msgstr "" -#: ../NEWS:1249 +#: ../NEWS:1339 msgid "" ":gh:`101267`: When a worker process terminates unexpectedly, :class:" "`concurrent.futures.ProcessPoolExecutor` now sets a separate :exc:" @@ -2309,34 +2467,34 @@ msgid "" "appending another copy of the traceback to it." msgstr "" -#: ../NEWS:1258 ../NEWS:1673 ../NEWS:2002 ../NEWS:2463 ../NEWS:2874 -#: ../NEWS:3592 ../NEWS:4112 ../NEWS:4461 ../NEWS:4643 ../NEWS:5521 -#: ../NEWS:6111 ../NEWS:6571 ../NEWS:7149 ../NEWS:7996 ../NEWS:8616 -#: ../NEWS:10192 ../NEWS:11787 ../NEWS:12252 ../NEWS:12730 ../NEWS:13267 -#: ../NEWS:14082 ../NEWS:16605 ../NEWS:18132 ../NEWS:18577 ../NEWS:18848 -#: ../NEWS:19127 ../NEWS:19538 ../NEWS:19863 ../NEWS:20295 ../NEWS:22051 -#: ../NEWS:23296 ../NEWS:23902 ../NEWS:24429 ../NEWS:24792 ../NEWS:25256 -#: ../NEWS:25652 ../NEWS:26151 ../NEWS:27814 ../NEWS:28893 ../NEWS:29361 -#: ../NEWS:29653 ../NEWS:29929 ../NEWS:30294 ../NEWS:30755 ../NEWS:31227 -#: ../NEWS:32271 ../NEWS:32819 ../NEWS:33263 ../NEWS:33721 ../NEWS:34125 -#: ../NEWS:34548 ../NEWS:34863 ../NEWS:36208 ../NEWS:37514 ../NEWS:37981 -#: ../NEWS:38459 ../NEWS:38701 ../NEWS:40885 ../NEWS:41861 ../NEWS:42071 -#: ../NEWS:42221 ../NEWS:42439 ../NEWS:42684 ../NEWS:43009 ../NEWS:43349 -#: ../NEWS:43832 ../NEWS:44175 ../NEWS:45785 ../NEWS:46539 ../NEWS:46895 -#: ../NEWS:47292 ../NEWS:47691 ../NEWS:48260 ../NEWS:48580 ../NEWS:48736 -#: ../NEWS:48839 ../NEWS:50198 ../NEWS:50449 ../NEWS:51616 ../NEWS:52176 -#: ../NEWS:52843 ../NEWS:53569 ../NEWS:54130 ../NEWS:54383 ../NEWS:54582 -#: ../NEWS:54893 ../NEWS:57094 +#: ../NEWS:1348 ../NEWS:1763 ../NEWS:2092 ../NEWS:2553 ../NEWS:2964 +#: ../NEWS:3682 ../NEWS:4202 ../NEWS:4551 ../NEWS:4733 ../NEWS:5611 +#: ../NEWS:6201 ../NEWS:6661 ../NEWS:7239 ../NEWS:8086 ../NEWS:8706 +#: ../NEWS:10282 ../NEWS:11877 ../NEWS:12342 ../NEWS:12820 ../NEWS:13357 +#: ../NEWS:14172 ../NEWS:16695 ../NEWS:18222 ../NEWS:18667 ../NEWS:18938 +#: ../NEWS:19217 ../NEWS:19628 ../NEWS:19953 ../NEWS:20385 ../NEWS:22141 +#: ../NEWS:23386 ../NEWS:23992 ../NEWS:24519 ../NEWS:24882 ../NEWS:25346 +#: ../NEWS:25742 ../NEWS:26241 ../NEWS:27904 ../NEWS:28983 ../NEWS:29451 +#: ../NEWS:29743 ../NEWS:30019 ../NEWS:30384 ../NEWS:30845 ../NEWS:31317 +#: ../NEWS:32361 ../NEWS:32909 ../NEWS:33353 ../NEWS:33811 ../NEWS:34215 +#: ../NEWS:34638 ../NEWS:34953 ../NEWS:36298 ../NEWS:37604 ../NEWS:38071 +#: ../NEWS:38549 ../NEWS:38791 ../NEWS:40975 ../NEWS:41951 ../NEWS:42161 +#: ../NEWS:42311 ../NEWS:42529 ../NEWS:42774 ../NEWS:43099 ../NEWS:43439 +#: ../NEWS:43922 ../NEWS:44265 ../NEWS:45875 ../NEWS:46629 ../NEWS:46985 +#: ../NEWS:47382 ../NEWS:47781 ../NEWS:48350 ../NEWS:48670 ../NEWS:48826 +#: ../NEWS:48929 ../NEWS:50288 ../NEWS:50539 ../NEWS:51706 ../NEWS:52266 +#: ../NEWS:52933 ../NEWS:53659 ../NEWS:54220 ../NEWS:54473 ../NEWS:54672 +#: ../NEWS:54983 ../NEWS:57184 msgid "Documentation" msgstr "" -#: ../NEWS:1260 +#: ../NEWS:1350 msgid "" ":gh:`118150`: Clarify in the :mod:`difflib` documentation what *junk* " "actually does, its drawbacks, and how to control it." msgstr "" -#: ../NEWS:1263 +#: ../NEWS:1353 msgid "" ":gh:`86726`: Greatly expand the :mod:`tkinter` documentation to cover the " "full public API of the package and its submodules. The descriptions are " @@ -2344,43 +2502,43 @@ msgid "" "``versionadded``/``versionchanged`` information." msgstr "" -#: ../NEWS:1271 +#: ../NEWS:1361 msgid "" ":gh:`155109`: Add ``test.support.run_with_limited_c_stack()`` and use it in " "tests that exhaust the C stack with a fixed number of recursive calls, so " "that their outcome no longer depends on the C stack size." msgstr "" -#: ../NEWS:1275 +#: ../NEWS:1365 msgid ":gh:`76595`: Add C API tests for :c:func:`PyCapsule_Import`." msgstr "" -#: ../NEWS:1277 +#: ../NEWS:1367 msgid "" ":gh:`154211`: Add ``test.support.skip_if_huge_c_stack()`` and use it to skip " "tests that exhaust the C stack if the stack limit is very large (e.g. on " "DragonFly BSD or with ``ulimit -s unlimited``)." msgstr "" -#: ../NEWS:1281 +#: ../NEWS:1371 msgid "" ":gh:`154167`: The test runner (regrtest) now restores the default SIGINT " "handler if it was inherited as ignored, so the test suite no longer hangs " "when run as a shell background job." msgstr "" -#: ../NEWS:1285 +#: ../NEWS:1375 msgid ":gh:`154144`: Fix building the :mod:`!_testcapi` module on NetBSD." msgstr "" -#: ../NEWS:1287 +#: ../NEWS:1377 msgid "" ":gh:`152548`: Add the :func:`test.support.isolation.runInSubprocess` " "decorator to run a test method or ``TestCase`` subclass in a fresh " "interpreter subprocess, isolated from the rest of the test run." msgstr "" -#: ../NEWS:1291 +#: ../NEWS:1381 msgid "" ":gh:`151626`: Fix several tests in ``test.test_inspect``, ``test." "test_import``, ``test.test_importlib``, ``test.test_py_compile`` and ``test." @@ -2389,19 +2547,19 @@ msgid "" "where they assume the default ``__pycache__`` bytecode layout." msgstr "" -#: ../NEWS:1297 +#: ../NEWS:1387 msgid "" ":gh:`151096`: Fix ``test_embed`` failing when CPython is configured with a " "split exec prefix (``--exec-prefix`` differing from ``--prefix``)." msgstr "" -#: ../NEWS:1300 +#: ../NEWS:1390 msgid "" ":gh:`148853`: Fix tests failing on FreeBSD in test.support's " "in_systemd_nspawn_sync_suppressed() due to unreadable /run directory." msgstr "" -#: ../NEWS:1306 +#: ../NEWS:1396 msgid "" ":gh:`154070`: Build the :mod:`curses` module against a wide-character " "capable ncurses even when it is not named ``ncursesw`` -- for example the " @@ -2409,19 +2567,19 @@ msgid "" "a library previously produced a narrow build." msgstr "" -#: ../NEWS:1311 +#: ../NEWS:1401 msgid "" ":gh:`126877`: Fix the :program:`configure` check for Tcl/Tk which could " "wrongly succeed with optimizing compilers when the libraries are missing." msgstr "" -#: ../NEWS:1314 +#: ../NEWS:1404 msgid "" ":gh:`153438`: Update Windows build and installer tooling and documentation " "to use the current download URL for ``nuget.exe``." msgstr "" -#: ../NEWS:1317 +#: ../NEWS:1407 msgid "" ":gh:`152502`: The :mod:`curses` module now detects ``set_escdelay()``, " "``set_tabsize()`` and the ``ESCDELAY`` and ``TABSIZE`` variables with :" @@ -2430,28 +2588,28 @@ msgid "" "curses implementations such as NetBSD curses that provide them." msgstr "" -#: ../NEWS:1323 +#: ../NEWS:1413 msgid "" ":gh:`148260`: On Linux when Python is linked to the musl C library, use a " "thread stack size of at least 1 MiB instead of musl default which is 128 " "kiB. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1327 +#: ../NEWS:1417 msgid ":gh:`138800`: Fix library name in python3.pc on Android." msgstr "" -#: ../NEWS:1332 +#: ../NEWS:1422 msgid ":gh:`124111`: Updated Windows builds to use Tcl/Tk 9.0.4." msgstr "" -#: ../NEWS:1334 +#: ../NEWS:1424 msgid "" ":gh:`150836`: Make installed tkinter work with Tcl/Tk 9 builds that embed " "the Tk script library in the Tk DLL on Windows." msgstr "" -#: ../NEWS:1337 +#: ../NEWS:1427 msgid "" ":gh:`140146`: Prevent :mod:`tkinter` from hanging on Windows if stdin is " "redirected to a pipe in an interactive session. This is helpful for testing " @@ -2459,80 +2617,80 @@ msgid "" "cpython test suite." msgstr "" -#: ../NEWS:1345 +#: ../NEWS:1435 msgid "" ":gh:`153711`: On macOS, do not attempt to use the :manpage:`dup3(2)` and :" "manpage:`pipe2(2)` system calls introduced in macOS 27 to prevent problems " "when running on older systems." msgstr "" -#: ../NEWS:1349 +#: ../NEWS:1439 msgid ":gh:`124111`: Update macOS installer to use Tcl/Tk 9.0.4." msgstr "" -#: ../NEWS:1354 +#: ../NEWS:1444 msgid "" ":gh:`82183`: When the shell is busy running code, using \"Run... " "Customized\" with \"Restart shell\" unchecked now reports that the shell is " "executing instead of restarting it anyway." msgstr "" -#: ../NEWS:1358 +#: ../NEWS:1448 msgid "" ":gh:`83653`: Blanking an integer entry in IDLE's Settings dialog, such as " "\"Auto squeeze min lines\", no longer saves an empty string as an invalid " "configuration value." msgstr "" -#: ../NEWS:1362 +#: ../NEWS:1452 msgid "" ":gh:`65339`: Saving the IDLE Shell or an Output window now defaults to a ``." "txt`` extension and lists text files before Python files, since their " "content is not Python source." msgstr "" -#: ../NEWS:1366 +#: ../NEWS:1456 msgid "" ":gh:`80504`: The \"In files:\" field of IDLE's Find in Files dialog now " "always contains a full directory path, even for an unsaved editor or the " "Shell. This shows in the grep output which directory was searched." msgstr "" -#: ../NEWS:1370 +#: ../NEWS:1460 msgid "" ":gh:`134300`: Do not add the ``idlelib`` directory to the path of the IDLE " "user process. User code run in IDLE can no longer import ``idlelib`` " "submodules as top-level modules, such as ``import help``." msgstr "" -#: ../NEWS:1374 +#: ../NEWS:1464 msgid "" ":gh:`89360`: Fix a rare crash in the IDLE editor when the completion window " "is closed: deleting a key binding for a sequence that is not bound to the " "virtual event is now ignored instead of raising a ``ValueError``." msgstr "" -#: ../NEWS:1378 +#: ../NEWS:1468 msgid "" ":gh:`71956`: Fix Replace All in the IDLE editor's Replace dialog when the " "search direction is \"Up\" and \"Wrap around\" is off: it now replaces all " "matches above the current position instead of only the first one." msgstr "" -#: ../NEWS:1382 +#: ../NEWS:1472 msgid "" ":gh:`152728`: Move functions run.fix_scaling, editor.fixwordbreaks (as " "fix_word_breaks) and pyshell.fix_x11_paste to idlelib.util." msgstr "" -#: ../NEWS:1385 +#: ../NEWS:1475 msgid "" ":gh:`66331`: Set the ``WM_CLASS`` window property of IDLE's windows to " "``Idle`` on X11, so that window managers group and label them correctly " "instead of using the default ``Toplevel``." msgstr "" -#: ../NEWS:1389 +#: ../NEWS:1479 msgid "" ":gh:`85320`: IDLE now reads and writes its configuration files and the " "breakpoints file using UTF-8 instead of the locale encoding. This keeps non-" @@ -2540,97 +2698,97 @@ msgid "" "files portable between environments." msgstr "" -#: ../NEWS:1394 +#: ../NEWS:1484 msgid "" ":gh:`94523`: Detect file if modified at local disk and prompt to ask " "refresh. Patch by Shixian Li." msgstr "" -#: ../NEWS:1397 +#: ../NEWS:1487 msgid ":gh:`139551`: Support rendering :exc:`BaseExceptionGroup` in IDLE." msgstr "" -#: ../NEWS:1399 +#: ../NEWS:1489 msgid "" ":gh:`89520`: Make IDLE extension configuration look at user config files, " "allowing user-installed extensions to have settings and key bindings defined " "in ~/.idlerc." msgstr "" -#: ../NEWS:1406 +#: ../NEWS:1496 msgid "" ":gh:`155218`: Fix Argument Clinic generating the flags of the optional " "groups in different order on 32-bit and 64-bit platforms." msgstr "" -#: ../NEWS:1409 +#: ../NEWS:1499 msgid "" ":gh:`155207`: Argument Clinic now supports the ``--dry-run`` and ``--diff`` " "options. They list the files which would be changed, or write a unified diff " "of the changes to the standard output, without modifying any file." msgstr "" -#: ../NEWS:1413 +#: ../NEWS:1503 msgid "" ":gh:`154580`: Fix ``python-gdb.py`` raising :exc:`UnicodeEncodeError` when " "pretty-printing a non-ASCII :class:`str` in a locale whose host charset " "cannot encode it, such as any non-ASCII string in the C locale." msgstr "" -#: ../NEWS:1420 +#: ../NEWS:1510 msgid "" ":gh:`152132`: Fix :c:func:`Py_RunMain` to return an exit code, rather than " "calling :c:func:`Py_Exit`, when running a script, a command, or the REPL. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:1424 +#: ../NEWS:1514 msgid "" ":gh:`153300`: :c:func:`PyConfig_Set()` now also set global configuration " "variables. For example, ``PyConfig_Set(\"inspect\", value)`` now also sets :" "c:var:`Py_InspectFlag`. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1428 +#: ../NEWS:1518 msgid "" ":gh:`123619`: :c:func:`PyUnstable_Object_EnableDeferredRefcount` now returns " "``0`` if the object is not tracked by the garbage collector: if :func:`gc." "is_tracked` is false. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1434 +#: ../NEWS:1524 msgid "Python 3.14.6 final" msgstr "" -#: ../NEWS:1436 +#: ../NEWS:1526 msgid "*Release date: 2026-06-10*" msgstr "" -#: ../NEWS:1441 +#: ../NEWS:1531 msgid ":gh:`151159`: Update Android and iOS installers to use OpenSSL 3.5.7." msgstr "" -#: ../NEWS:1443 +#: ../NEWS:1533 msgid "" ":gh:`150599`: Fix a possible stack buffer overflow in :mod:`bz2` when a :" "class:`bz2.BZ2Decompressor` is reused after a decompression error. The " "decompressor now becomes unusable after libbz2 reports an error." msgstr "" -#: ../NEWS:1447 +#: ../NEWS:1537 msgid "" ":gh:`149835`: :func:`shutil.move` now resolves symlinks via :func:`os.path." "realpath` when checking whether the destination is inside the source " "directory, preventing a symlink-based bypass of that guard." msgstr "" -#: ../NEWS:1451 +#: ../NEWS:1541 msgid "" ":gh:`149698`: Update bundled `libexpat `_ to " "version 2.8.1 for the fix for :cve:`2026-45186`." msgstr "" -#: ../NEWS:1454 +#: ../NEWS:1544 msgid "" ":gh:`87451`: The :mod:`ftplib` module's undocumented ``ftpcp`` function no " "longer trusts the IPv4 address value returned from the source server in " @@ -2641,7 +2799,7 @@ msgid "" "Aurascape AI for the report." msgstr "" -#: ../NEWS:1462 +#: ../NEWS:1552 msgid "" ":gh:`149486`: :func:`tarfile.data_filter` now validates link targets using " "the same normalised value that is written to disk, strips trailing " @@ -2651,7 +2809,7 @@ msgid "" "filter." msgstr "" -#: ../NEWS:1469 +#: ../NEWS:1559 msgid "" ":gh:`149079`: Fix a potential denial of service in :func:`unicodedata." "normalize`. The canonical ordering step of Unicode normalization used a " @@ -2661,34 +2819,34 @@ msgid "" "runs." msgstr "" -#: ../NEWS:1476 +#: ../NEWS:1566 msgid "" ":gh:`149018`: Improved protection against XML hash-flooding attacks in :mod:" "`xml.parsers.expat` and :mod:`xml.etree.ElementTree` when Python is compiled " "with libExpat 2.8.0 or later." msgstr "" -#: ../NEWS:1483 +#: ../NEWS:1573 msgid "" ":gh:`151112`: Fix a crash in the compiler that could occur when running out " "of memory." msgstr "" -#: ../NEWS:1486 +#: ../NEWS:1576 msgid "" ":gh:`151126`: Fix a crash, when there's no memory left on a device, which " "happened in:" msgstr "" -#: ../NEWS:1489 +#: ../NEWS:1579 msgid "code compilation - :func:`!_winapi.CreateProcess`" msgstr "" -#: ../NEWS:1491 +#: ../NEWS:1581 msgid "Now these places raise proper :exc:`MemoryError` errors." msgstr "" -#: ../NEWS:1493 +#: ../NEWS:1583 msgid "" ":gh:`150700`: Fix a :exc:`SystemError` when compiling a class-scope " "comprehension containing a ``lambda`` that references ``__class__``, " @@ -2696,27 +2854,27 @@ msgid "" "Sławecki." msgstr "" -#: ../NEWS:1498 +#: ../NEWS:1588 msgid "" ":gh:`150633`: Fix the frozen importer accepting module names with embedded " "null bytes, which caused it to bypass the :data:`sys.modules` cache and " "create duplicate module objects." msgstr "" -#: ../NEWS:1502 +#: ../NEWS:1592 msgid "" ":gh:`148613`: Fix a data race in the free-threaded build between :func:`gc." "set_threshold` and garbage collection scheduling during object allocation." msgstr "" -#: ../NEWS:1506 +#: ../NEWS:1596 msgid "" ":gh:`149156`: Fix an intermittent crash after :func:`os.fork` when perf " "trampoline profiling is enabled and the child returns through trampoline " "frames inherited from the parent process." msgstr "" -#: ../NEWS:1510 +#: ../NEWS:1600 msgid "" ":gh:`149449`: Fix a use-after-free crash when the :mod:`unicodedata` module " "was removed from :data:`sys.modules` and garbage-collected between calls " @@ -2724,128 +2882,128 @@ msgid "" "handler." msgstr "" -#: ../NEWS:1515 +#: ../NEWS:1605 msgid "" ":gh:`150207`: Fix a crash when a memory allocation fails during tokenizer " "initialization. A proper :exc:`MemoryError` is now raised instead." msgstr "" -#: ../NEWS:1518 +#: ../NEWS:1608 msgid "" ":gh:`150107`: :mod:`asyncio`: ``sendfile()`` and ``sock_sendfile()`` event " "loop methods now call ``file.seek(offset)`` if *file* has a ``seek()`` " "method, even if *offset* is ``0`` (default value)." msgstr "" -#: ../NEWS:1522 +#: ../NEWS:1612 msgid ":gh:`150146`: Fix a crash on a complex type variable substitution." msgstr "" -#: ../NEWS:1524 +#: ../NEWS:1614 msgid "" "``from typing import TypeVar; memoryview[TypeVar(\"\")][*typing." "Mapping[..., ...]]`` used to fail due to missing ``NULL`` check on " "``_unpack_args`` C function call." msgstr "" -#: ../NEWS:1528 +#: ../NEWS:1618 msgid ":gh:`149590`: Fix crash when faulthandler is imported more than once." msgstr "" -#: ../NEWS:1530 +#: ../NEWS:1620 msgid "" ":gh:`149816`: Fix a race condition in ``_PyBytes_FromList`` in free-" "threading mode." msgstr "" -#: ../NEWS:1533 +#: ../NEWS:1623 msgid "" ":gh:`149816`: Fix a race condition in :class:`memoryview` with free-" "threading." msgstr "" -#: ../NEWS:1536 +#: ../NEWS:1626 msgid "" ":gh:`149805`: Fix a :exc:`SystemError` when compiling a compiling " "``__classdict__`` class annotation. Found by OSS-Fuzz in :oss-fuzz:" "`512907042`." msgstr "" -#: ../NEWS:1540 +#: ../NEWS:1630 msgid "" ":gh:`149738`: :mod:`sqlite3`: Disallow removing ``row_factory`` and " "``text_factory`` attributes of a connection to prevent a crash on a query." msgstr "" -#: ../NEWS:1543 +#: ../NEWS:1633 msgid "" ":gh:`139808`: Add branch protections for AArch64 (BTI/PAC) in assembly code " "used by :option:`-X perf_jit <-X>` (Linux perf profiler integration)." msgstr "" -#: ../NEWS:1546 +#: ../NEWS:1636 msgid "" ":gh:`148450`: Fix ``abc.register()`` so it invalidates type version tags for " "registered classes." msgstr "" -#: ../NEWS:1552 +#: ../NEWS:1642 msgid "" ":gh:`151039`: Fix a crash when static :mod:`datetime` types outlive the " "``_datetime`` module." msgstr "" -#: ../NEWS:1555 +#: ../NEWS:1645 msgid "" ":gh:`150913`: Fix :class:`sqlite3.Blob` slice assignment to raise :exc:" "`TypeError` and :exc:`IndexError` for type and size mismatches respectively, " "even when the target slice is empty." msgstr "" -#: ../NEWS:1559 +#: ../NEWS:1649 msgid "" ":gh:`143008`: Fix race conditions when re-initializing a :class:`io." "TextIOWrapper` object." msgstr "" -#: ../NEWS:1562 +#: ../NEWS:1652 msgid "" ":gh:`150750`: Fix a race condition in :meth:`collections.deque.index` with " "free-threading." msgstr "" -#: ../NEWS:1565 +#: ../NEWS:1655 msgid ":gh:`150685`: Update bundled pip to 26.1.2" msgstr "" -#: ../NEWS:1567 +#: ../NEWS:1657 msgid "" ":gh:`150406`: Fix a possible crash occurring during :mod:`socket` module " "initialization when the system is out of memory on platforms without a " "reentrant ``gethostbyname``." msgstr "" -#: ../NEWS:1571 +#: ../NEWS:1661 msgid "" ":gh:`150372`: :mod:`readline`: Fix a potential crash during tab completion " "caused by an out-of-memory error during module initialization." msgstr "" -#: ../NEWS:1574 +#: ../NEWS:1664 msgid "" ":gh:`150157`: Fix a crash in free-threaded builds that occurs when pickling " "by name objects without a ``__module__`` attribute while :data:`sys.modules` " "is concurrently being modified." msgstr "" -#: ../NEWS:1578 +#: ../NEWS:1668 msgid "" ":gh:`150175`: Fix race condition in :class:`unittest.mock.ThreadingMock` " "where concurrent calls could lose increments to ``call_count`` and other " "attributes due to a missing lock in ``_increment_mock_call``." msgstr "" -#: ../NEWS:1582 +#: ../NEWS:1672 msgid "" ":gh:`84353`: Preserve non-UTF-8 encoded filenames when appending to a :class:" "`zipfile.ZipFile`. Previously, non-ASCII names stored in a legacy encoding " @@ -2854,54 +3012,54 @@ msgid "" "UTF-8." msgstr "" -#: ../NEWS:1588 +#: ../NEWS:1678 msgid ":gh:`149816`: Fix race condition in :attr:`ssl.SSLContext.sni_callback`" msgstr "" -#: ../NEWS:1590 +#: ../NEWS:1680 msgid ":gh:`149995`: Update various docstrings in :mod:`typing`." msgstr "" -#: ../NEWS:1592 +#: ../NEWS:1682 msgid "" ":gh:`88726`: The :mod:`email` package now uses standard MIME charset names " "\"gb2312\" and \"big5\" instead of non-standard names \"eucgb2312_cn\" and " "\"big5_tw\"." msgstr "" -#: ../NEWS:1596 +#: ../NEWS:1686 msgid "" ":gh:`149571`: Fix the C implementation of :meth:`xml.etree.ElementTree." "Element.itertext`: it no longer emits text for comments and processing " "instructions." msgstr "" -#: ../NEWS:1600 +#: ../NEWS:1690 msgid "" ":gh:`149921`: Fix reference leaks in error paths of the :mod:`!" "_interpchannels` and :mod:`!_interpqueues` extension modules." msgstr "" -#: ../NEWS:1603 +#: ../NEWS:1693 msgid "" ":gh:`149816`: Fix a race condition in ``_random.Random.__init__`` method in " "free-threading mode." msgstr "" -#: ../NEWS:1606 +#: ../NEWS:1696 msgid "" ":gh:`149801`: Add IANA registered names and aliases with leading zeros " "before number (like IBM00858, CP00858, IBM01140, CP01140) for corresponding " "codecs." msgstr "" -#: ../NEWS:1610 +#: ../NEWS:1700 msgid "" ":gh:`149701`: Fix bad return code from Lib/venv/bin/activate if hashing is " "disabled" msgstr "" -#: ../NEWS:1613 +#: ../NEWS:1703 msgid "" ":gh:`112821`: In the REPL, autocompletion might run arbitrary code in the " "getter of a descriptor. If that getter raised an exception, autocompletion " @@ -2909,7 +3067,7 @@ msgid "" "works as expected for these objects." msgstr "" -#: ../NEWS:1618 +#: ../NEWS:1708 msgid "" ":gh:`149489`: Fix :mod:`~xml.etree.ElementTree` serialization to HTML. The " "content of elements \"xmp\", \"iframe\", \"noembed\", \"noframes\", and " @@ -2917,26 +3075,26 @@ msgid "" "the closing tag." msgstr "" -#: ../NEWS:1623 +#: ../NEWS:1713 msgid "" ":gh:`149231`: In :mod:`tomllib`, the number of parts in TOML keys is now " "limited." msgstr "" -#: ../NEWS:1626 +#: ../NEWS:1716 msgid "" ":gh:`149046`: :mod:`io`: Fix :class:`io.StringIO` serialization: no longer " "call ``str(obj)`` on :class:`str` subclasses. Patch by Thomas Kowalski." msgstr "" -#: ../NEWS:1629 +#: ../NEWS:1719 msgid "" ":gh:`148954`: Fix XML injection vulnerability in :func:`xmlrpc.client.dumps` " "where the ``methodname`` was not being escaped before interpolation into the " "XML body." msgstr "" -#: ../NEWS:1633 +#: ../NEWS:1723 msgid "" ":gh:`148441`: :mod:`xml.parsers.expat`: prevent a crash in :meth:`~xml." "parsers.expat.xmlparser.CharacterDataHandler` when the character data size " @@ -2944,19 +3102,19 @@ msgid "" "buffer_size>`." msgstr "" -#: ../NEWS:1638 +#: ../NEWS:1728 msgid "" ":gh:`146452`: Fix segfault in :mod:`pickle` when pickling a dictionary " "concurrently mutated by another thread in the free-threaded build." msgstr "" -#: ../NEWS:1641 +#: ../NEWS:1731 msgid "" ":gh:`142831`: Fix a crash in the :mod:`json` module where a use-after-free " "could occur if the object being encoded is modified during serialization." msgstr "" -#: ../NEWS:1644 +#: ../NEWS:1734 msgid "" ":gh:`90949`: Add :meth:`~xml.parsers.expat.xmlparser." "SetBillionLaughsAttackProtectionActivationThreshold` and :meth:`~xml.parsers." @@ -2966,13 +3124,13 @@ msgid "" "attacks. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:1653 +#: ../NEWS:1743 msgid "" ":gh:`134261`: zip: On reproducible builds, ZipFile uses UTC instead of the " "local time when writing file datetimes to avoid underflows." msgstr "" -#: ../NEWS:1656 +#: ../NEWS:1746 msgid "" ":gh:`128110`: Fix bug in the parsing of :mod:`email` address headers that " "could result in extraneous spaces in the decoded text when using a modern " @@ -2981,204 +3139,204 @@ msgid "" "unstructured headers like *Subject*)." msgstr "" -#: ../NEWS:1662 +#: ../NEWS:1752 msgid "" ":gh:`107398`: Fix :mod:`tarfile` stream mode exception when process the file " "with the gzip extra field." msgstr "" -#: ../NEWS:1665 +#: ../NEWS:1755 msgid "" ":gh:`123853`: Update the table of Windows language code identifiers (LCIDs) " "used by :func:`locale.getdefaultlocale` on Windows to protocol version 16.0 " "(2024-04-23)." msgstr "" -#: ../NEWS:1669 +#: ../NEWS:1759 msgid "" ":gh:`91099`: :meth:`imaplib.IMAP4.login` now raises exceptions with :class:" "`str` instead of :class:`bytes`. Patch by Florian Best." msgstr "" -#: ../NEWS:1675 +#: ../NEWS:1765 msgid "" ":gh:`150319`: Generic builtin and standard library types now document the " "meaning of their type parameters." msgstr "" -#: ../NEWS:1678 +#: ../NEWS:1768 msgid "" ":gh:`109503`: Fix documentation for :func:`shutil.move` on usage of :func:" "`os.rename` since nonatomic move might be used even if the files are on the " "same filesystem. Patch by Fang Li" msgstr "" -#: ../NEWS:1685 +#: ../NEWS:1775 msgid ":gh:`151130`: Add more tests for ``PyWeakref_*`` C API." msgstr "" -#: ../NEWS:1687 +#: ../NEWS:1777 msgid "" ":gh:`149776`: Fix test_socket on Linux kernel 7.1 and newer: skip UDP Lite " "tests if it's not supported. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1693 +#: ../NEWS:1783 msgid "" ":gh:`148294`: Corrected the use of ``AC_PATH_TOOL`` in ``configure.ac`` to " "allow a C++ compiler to be found on :envvar:`!PATH`." msgstr "" -#: ../NEWS:1699 +#: ../NEWS:1789 msgid ":gh:`151159`: Updated bundled version of OpenSSL to 3.5.7." msgstr "" -#: ../NEWS:1704 +#: ../NEWS:1794 msgid ":gh:`151159`: Update macOS installer to use OpenSSL 3.5.7." msgstr "" -#: ../NEWS:1706 +#: ../NEWS:1796 msgid "" ":gh:`150644`: When system logging is enabled (with ``config." "use_system_logger``, messages are now tagged as public. This allows the " "macOS 26 system logger to view messages without special configuration." msgstr "" -#: ../NEWS:1711 +#: ../NEWS:1801 msgid ":gh:`115119`: Update macOS installer to use libmpdecimal 4.0.1." msgstr "" -#: ../NEWS:1716 +#: ../NEWS:1806 msgid ":issue:`6699`: Warn the user if a file will be overwritten when saving." msgstr "" -#: ../NEWS:1721 +#: ../NEWS:1811 msgid "" ":gh:`150907`: Fix ``dynamic_annotations.h`` header file when built with C++ " "and Valgrind: add ``extern \"C++\" scope`` for the C++ template. Patch by " "Victor Stinner." msgstr "" -#: ../NEWS:1725 +#: ../NEWS:1815 msgid "" ":gh:`145235`: Made :c:func:`PyDict_AddWatcher`, :c:func:" "`PyDict_ClearWatcher`, :c:func:`PyDict_Watch`, and :c:func:`PyDict_Unwatch` " "thread-safe on the :term:`free threaded ` build." msgstr "" -#: ../NEWS:1732 +#: ../NEWS:1822 msgid "Python 3.14.5 final" msgstr "" -#: ../NEWS:1734 +#: ../NEWS:1824 msgid "*Release date: 2026-05-10*" msgstr "" -#: ../NEWS:1739 +#: ../NEWS:1829 msgid "" ":gh:`148178`: Hardened :mod:`!_remote_debugging` by validating remote debug " "offset tables before using them to size memory reads or interpret remote " "layouts." msgstr "" -#: ../NEWS:1746 +#: ../NEWS:1836 msgid ":gh:`146270`: Fix a sequential consistency bug in ``structmember.c``." msgstr "" -#: ../NEWS:1748 +#: ../NEWS:1838 msgid "" ":gh:`137293`: Fix :exc:`SystemError` when searching ELF Files in :func:`sys." "remote_exec`." msgstr "" -#: ../NEWS:1754 +#: ../NEWS:1844 msgid "" ":gh:`149388`: Make :class:`!asyncio.windows_utils.PipeHandle` closing " "idempotent." msgstr "" -#: ../NEWS:1757 +#: ../NEWS:1847 msgid ":gh:`149377`: Update bundled pip to 26.1.1" msgstr "" -#: ../NEWS:1759 +#: ../NEWS:1849 msgid ":gh:`138907`: Support :rfc:`9309` in :mod:`urllib.robotparser`." msgstr "" -#: ../NEWS:1761 +#: ../NEWS:1851 msgid "" ":gh:`148615`: Fix :mod:`pdb` to accept standard -- end of options separator. " "Reported by haampie. Patched by Shrey Naithani." msgstr "" -#: ../NEWS:1764 +#: ../NEWS:1854 msgid "" ":gh:`130750`: Restore quoting of choices in :mod:`argparse` error messages " "for improved clarity and consistency with documentation." msgstr "" -#: ../NEWS:1767 +#: ../NEWS:1857 msgid "" ":gh:`141449`: Improve tests and documentation for non-function callables as :" "term:`annotate functions `." msgstr "" -#: ../NEWS:1773 +#: ../NEWS:1863 msgid "" ":gh:`149425`: Increase time delta in ``test.test_zipfile.test_core." "OtherTests.test_write_without_source_date_epoch``" msgstr "" -#: ../NEWS:1776 +#: ../NEWS:1866 msgid "" ":gh:`145736`: Fix test_tkinter test_configure_values test case backport miss " "for Tk 9." msgstr "" -#: ../NEWS:1782 +#: ../NEWS:1872 msgid "" ":gh:`142295`: For Python macOS framework builds, update Info.plist files to " "be more compliant with current Apple guidelines. Original patch contributed " "by Martinus Verburg." msgstr "" -#: ../NEWS:1786 +#: ../NEWS:1876 msgid ":gh:`124111`: Update macOS installer to use Tcl/Tk 9.0.3." msgstr "" -#: ../NEWS:1790 +#: ../NEWS:1880 msgid "Python 3.14.5 release candidate 1" msgstr "" -#: ../NEWS:1792 +#: ../NEWS:1882 msgid "*Release date: 2026-05-04*" msgstr "" -#: ../NEWS:1797 +#: ../NEWS:1887 msgid ":gh:`149254`: Update Android and iOS installer to use OpenSSL 3.0.20." msgstr "" -#: ../NEWS:1799 +#: ../NEWS:1889 msgid "" ":gh:`149017`: Update bundled `libexpat `_ to " "version 2.8.0." msgstr "" -#: ../NEWS:1802 +#: ../NEWS:1892 msgid "" ":gh:`90309`: Base64-encode values when embedding cookies to JavaScript using " "the :meth:`http.cookies.BaseCookie.js_output` method to avoid injection and " "escaping." msgstr "" -#: ../NEWS:1806 +#: ../NEWS:1896 msgid "" ":gh:`148808`: Added buffer boundary check when using ``nbytes`` parameter " "with :meth:`!asyncio.AbstractEventLoop.sock_recvfrom_into`. Only relevant " "for Windows and the :class:`asyncio.ProactorEventLoop`." msgstr "" -#: ../NEWS:1810 +#: ../NEWS:1900 msgid "" ":gh:`148395`: Fix a dangling input pointer in :class:`lzma." "LZMADecompressor`, :class:`bz2.BZ2Decompressor`, and internal :class:`!zlib." @@ -3187,13 +3345,13 @@ msgid "" "a stale pointer to the already-released caller buffer." msgstr "" -#: ../NEWS:1817 +#: ../NEWS:1907 msgid "" ":gh:`148169`: A bypass in :mod:`webbrowser` allowed URLs prefixed with " "``%action`` to pass the dash-prefix safety check." msgstr "" -#: ../NEWS:1820 +#: ../NEWS:1910 msgid "" ":gh:`146581`: Fix vulnerability in :func:`shutil.unpack_archive` for ZIP " "files on Windows which allowed to write files outside of the destination " @@ -3202,7 +3360,7 @@ msgid "" "\"foo..bar\") are no longer skipped." msgstr "" -#: ../NEWS:1826 +#: ../NEWS:1916 msgid "" ":gh:`146333`: Fix quadratic backtracking in :class:`configparser." "RawConfigParser` option parsing regexes (``OPTCRE`` and ``OPTCRE_NV``). A " @@ -3210,13 +3368,13 @@ msgid "" "excessive CPU usage." msgstr "" -#: ../NEWS:1831 +#: ../NEWS:1921 msgid "" ":gh:`146211`: Reject CR/LF characters in tunnel request headers for the " "HTTPConnection.set_tunnel() method." msgstr "" -#: ../NEWS:1837 +#: ../NEWS:1927 msgid "" ":gh:`149122`: Fix a crash in optimized calls to :func:`all`, :func:`any`, :" "func:`tuple`, :func:`list`, and :func:`set` with an async generator " @@ -3224,7 +3382,7 @@ msgid "" "calls now correctly raise ``TypeError`` instead of crashing." msgstr "" -#: ../NEWS:1842 +#: ../NEWS:1932 msgid "" ":gh:`113956`: Fix a data race in :func:`sys.intern` in the free-threaded " "build when interning a string owned by another thread. An interned copy " @@ -3232,7 +3390,7 @@ msgid "" "immortalize the original." msgstr "" -#: ../NEWS:1847 +#: ../NEWS:1937 msgid "" ":gh:`148820`: Fix a race in :c:type:`!_PyRawMutex` on the free-threaded " "build where a ``Py_PARK_INTR`` return from ``_PySemaphore_Wait`` could let " @@ -3241,20 +3399,20 @@ msgid "" "error." msgstr "" -#: ../NEWS:1853 +#: ../NEWS:1943 msgid "" ":gh:`148653`: Forbid :mod:`marshalling ` recursive code objects " "and :class:`slice` objects which cannot be correctly unmarshalled." msgstr "" -#: ../NEWS:1856 +#: ../NEWS:1946 msgid "" ":gh:`142516`: Forward-port the generational cycle garbage collector to the " "default 3.14 build, replacing the incremental collector while leaving the " "free-threaded collector unchanged." msgstr "" -#: ../NEWS:1860 +#: ../NEWS:1950 msgid "" ":gh:`148390`: Fix an undefined behavior in :class:`memoryview` when using " "the native boolean format (``?``) in :meth:`~memoryview.cast`. Previously, " @@ -3263,33 +3421,33 @@ msgid "" "*b*. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:1866 +#: ../NEWS:1956 msgid "" ":gh:`148418`: Fix a possible reference leak in a corrupted ``TYPE_CODE`` " "marshal stream." msgstr "" -#: ../NEWS:1869 +#: ../NEWS:1959 msgid "" ":gh:`148393`: Fix data races between :c:func:`PyDict_Watch` / :c:func:" "`PyDict_Unwatch` and concurrent dict mutation in the :term:`free-threaded " "build`." msgstr "" -#: ../NEWS:1873 +#: ../NEWS:1963 msgid "" ":gh:`148284`: Fix high stack consumption in Python's interpreter loop on " "Clang 22 by setting function limits for inlining when building with computed " "gotos." msgstr "" -#: ../NEWS:1877 +#: ../NEWS:1967 msgid "" ":gh:`148037`: Remove critical section from :c:func:`!PyCode_Addr2Line` in " "free-threading." msgstr "" -#: ../NEWS:1880 +#: ../NEWS:1970 msgid "" ":gh:`148222`: Fix vectorcall support in :class:`types.GenericAlias` when the " "underlying type does not support the vectorcall protocol. Fix possible leaks " @@ -3297,54 +3455,54 @@ msgid "" "memory error." msgstr "" -#: ../NEWS:1885 +#: ../NEWS:1975 msgid ":gh:`148208`: Fix recursion depth leak in :c:func:`PyObject_Print`" msgstr "" -#: ../NEWS:1887 +#: ../NEWS:1977 msgid "" ":gh:`137814`: Fix the ``__qualname__`` attribute of ``__annotate__`` " "functions on functions." msgstr "" -#: ../NEWS:1890 +#: ../NEWS:1980 msgid "" ":gh:`147998`: Fixed a memory leak in interpreter helper calls so cleanup " "works when an operation falls across interpreter boundaries. Patch by " "Maurycy Pawłowski-Wieroński." msgstr "" -#: ../NEWS:1894 +#: ../NEWS:1984 msgid "" ":gh:`146455`: Fix O(N²) compile-time regression in constant folding after it " "was moved from AST to CFG optimizer." msgstr "" -#: ../NEWS:1900 +#: ../NEWS:1990 msgid "" ":gh:`149221`: Catch rare math domain error for :func:`random." "binomialvariate`." msgstr "" -#: ../NEWS:1903 +#: ../NEWS:1993 msgid "" ":gh:`149117`: Fix :func:`runpy.run_module` and :func:`runpy.run_path` to set " "the :attr:`~ImportError.name` attribute on the :exc:`ImportError` they raise." msgstr "" -#: ../NEWS:1907 +#: ../NEWS:1997 msgid "" ":gh:`149148`: :mod:`ensurepip`: Upgrade bundled pip to 26.1. This version " "fixes the :cve:`2026-3219` vulnerability. Patch by Victor Stinner." msgstr "" -#: ../NEWS:1910 +#: ../NEWS:2000 msgid "" ":gh:`148093`: Fix an out-of-bounds read of one byte in :func:`binascii." "a2b_uu`. Raise :exc:`binascii.Error`, instead of reading past the buffer end." msgstr "" -#: ../NEWS:1914 +#: ../NEWS:2004 msgid "" ":gh:`148914`: Fix memoization of in-band :class:`~pickle.PickleBuffer` in " "the Python implementation of :mod:`pickle`. Previously, identical :class:`!" @@ -3353,14 +3511,14 @@ msgid "" "following references to ``b''`` were unpickled as an empty bytearray object." msgstr "" -#: ../NEWS:1921 +#: ../NEWS:2011 msgid "" ":gh:`148947`: Fix crash in :deco:`dataclasses.dataclass` with ``slots=True`` " "that occurred when a function found within the class had an empty " "``__class__`` cell." msgstr "" -#: ../NEWS:1925 +#: ../NEWS:2015 msgid "" ":gh:`148680`: ``ForwardRef`` objects that contain internal names to " "represent known objects now show the ``type_repr`` of the known object " @@ -3368,44 +3526,44 @@ msgid "" "strings." msgstr "" -#: ../NEWS:1929 +#: ../NEWS:2019 msgid "" ":gh:`148801`: :mod:`xml.etree.ElementTree`: Fix a crash in :meth:`Element." "__deepcopy__ ` on deeply nested trees." msgstr "" -#: ../NEWS:1932 +#: ../NEWS:2022 msgid "" ":gh:`148735`: :mod:`xml.etree.ElementTree`: Fix a use-after-free in :meth:" "`Element.findtext ` when the element " "tree is mutated concurrently during the search." msgstr "" -#: ../NEWS:1936 +#: ../NEWS:2026 msgid "" ":gh:`148740`: Fix usage for :mod:`uuid` command-line interface to support a " "custom namespace be provided for uuid3 and uuid5." msgstr "" -#: ../NEWS:1939 +#: ../NEWS:2029 msgid "" ":gh:`148651`: Fix reference leak in :class:`compression.zstd." "ZstdDecompressor` when an invalid option key is passed." msgstr "" -#: ../NEWS:1943 +#: ../NEWS:2033 msgid "" ":gh:`146553`: Fix infinite loop in :func:`typing.get_type_hints` when " "``__wrapped__`` forms a cycle. Patch by Shamil Abdulaev." msgstr "" -#: ../NEWS:1946 +#: ../NEWS:2036 msgid "" ":gh:`148508`: An intermittent timing error when running SSL tests on iOS has " "been resolved." msgstr "" -#: ../NEWS:1949 +#: ../NEWS:2039 msgid "" ":gh:`148518`: If an email containing an address header that ended in an open " "double quote was parsed with a non-``compat32`` policy, accessing the " @@ -3414,34 +3572,34 @@ msgid "" "as the result." msgstr "" -#: ../NEWS:1955 +#: ../NEWS:2045 msgid "" ":gh:`148464`: Add missing ``__ctype_le/be__`` attributes for :class:`~ctypes." "c_float_complex` and :class:`~ctypes.c_double_complex`. Patch by Sergey B " "Kirpichev." msgstr "" -#: ../NEWS:1959 +#: ../NEWS:2049 msgid "" ":gh:`148370`: :mod:`configparser`: prevent quadratic behavior when a :exc:" "`~configparser.ParsingError` is raised after a parser fails to parse " "multiple lines. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:1963 +#: ../NEWS:2053 msgid "" ":gh:`148254`: Use singular \"sec\" instead of \"secs\" in :mod:`timeit` " "verbose output for consistency with other time units." msgstr "" -#: ../NEWS:1966 +#: ../NEWS:2056 msgid "" ":gh:`148192`: ``email.generator.Generator._make_boundary`` could fail to " "detect a duplicate boundary string if linesep was not \\n. It now correctly " "detects boundary strings when linesep is \\r\\n as well." msgstr "" -#: ../NEWS:1970 +#: ../NEWS:2060 msgid "" ":gh:`146313`: Fix a deadlock in :mod:`multiprocessing`'s resource tracker " "where the parent process could hang indefinitely in :func:`os.waitpid` " @@ -3449,21 +3607,21 @@ msgid "" "held the resource tracker's pipe open." msgstr "" -#: ../NEWS:1975 +#: ../NEWS:2065 msgid "" ":gh:`145831`: Fix :func:`!email.quoprimime.decode` leaving a stray ``\\r`` " "when ``eol='\\r\\n'`` by stripping the full *eol* string instead of one " "character." msgstr "" -#: ../NEWS:1979 +#: ../NEWS:2069 msgid "" ":gh:`145105`: Fix crash in :mod:`csv` reader when iterating with a re-" "entrant iterator that calls :func:`next` on the same reader from within " "``__next__``." msgstr "" -#: ../NEWS:1983 +#: ../NEWS:2073 msgid "" ":gh:`105936`: Attempting to mutate non-field attributes of :mod:" "`dataclasses` with both *frozen* and *slots* being ``True`` now raises :" @@ -3472,56 +3630,56 @@ msgid "" "and the original non-slotted class can be garbage collected." msgstr "" -#: ../NEWS:1989 +#: ../NEWS:2079 msgid "" ":gh:`140287`: The :mod:`asyncio` REPL now handles exceptions when executing :" "envvar:`PYTHONSTARTUP` scripts. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:1992 +#: ../NEWS:2082 msgid "" ":gh:`132631`: Fix \"I/O operation on closed file\" when parsing JSON Lines " "file with :mod:`JSON CLI `." msgstr "" -#: ../NEWS:1995 +#: ../NEWS:2085 msgid "" ":gh:`70039`: Fixed bug where :meth:`smtplib.SMTP.starttls` could fail if :" "meth:`smtplib.SMTP.connect` is called explicitly rather than implicitly." msgstr "" -#: ../NEWS:1998 +#: ../NEWS:2088 msgid "" ":gh:`83281`: :mod:`email`: improve handling trailing garbage in address " "lists to avoid throwing AttributeError in certain edge cases" msgstr "" -#: ../NEWS:2004 +#: ../NEWS:2094 msgid "" ":gh:`148663`: Document that :class:`calendar.IllegalMonthError` is a " "subclass of both :exc:`ValueError` and :exc:`IndexError` since Python 3.12." msgstr "" -#: ../NEWS:2007 +#: ../NEWS:2097 msgid "" ":gh:`146646`: Document that :func:`glob.glob`, :func:`glob.iglob`, :meth:" "`pathlib.Path.glob`, and :meth:`pathlib.Path.rglob` silently suppress :exc:" "`OSError` exceptions raised from scanning the filesystem." msgstr "" -#: ../NEWS:2014 +#: ../NEWS:2104 msgid "" ":gh:`149351`: Avoid possible broken macOS framework install names when " "DESTDIR is specified during builds." msgstr "" -#: ../NEWS:2017 +#: ../NEWS:2107 msgid "" ":gh:`146475`: Block Apple Clang from being used to build the JIT as it ships " "without required LLVM tools." msgstr "" -#: ../NEWS:2020 +#: ../NEWS:2110 msgid "" ":gh:`148535`: No longer use the ``gcc -fprofile-update=atomic`` flag on " "i686. The flag has been added to fix a random GCC internal error on PGO " @@ -3531,90 +3689,90 @@ msgid "" "fprofile-update=atomic`` on i686 anymore. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2027 +#: ../NEWS:2117 msgid "" ":gh:`146264`: Fix static module builds on non-WASI targets by linking HACL " "dependencies as static libraries when ``MODULE_BUILDTYPE=static``, " "preventing duplicate ``_Py_LibHacl_*`` symbol errors at link time." msgstr "" -#: ../NEWS:2034 +#: ../NEWS:2124 msgid ":gh:`149254`: Updated bundled version of OpenSSL to 3.0.20." msgstr "" -#: ../NEWS:2036 +#: ../NEWS:2126 msgid "" ":gh:`146458`: Fix incorrect REPL height and width tracking on console window " "resize on Windows." msgstr "" -#: ../NEWS:2042 +#: ../NEWS:2132 msgid ":gh:`149254`: Update macOS installer to use OpenSSL 3.0.20." msgstr "" -#: ../NEWS:2046 +#: ../NEWS:2136 msgid "Python 3.14.4 final" msgstr "" -#: ../NEWS:2048 +#: ../NEWS:2138 msgid "*Release date: 2026-04-07*" msgstr "" -#: ../NEWS:2053 +#: ../NEWS:2143 msgid "" ":gh:`145986`: :mod:`xml.parsers.expat`: Fixed a crash caused by unbounded C " "recursion when converting deeply nested XML content models with :meth:`~xml." "parsers.expat.xmlparser.ElementDeclHandler`. This addresses :cve:`2026-4224`." msgstr "" -#: ../NEWS:2058 +#: ../NEWS:2148 msgid "" ":gh:`145599`: Reject control characters in :class:`http.cookies.Morsel` :" "meth:`~http.cookies.Morsel.update` and :meth:`~http.cookies.BaseCookie." "js_output`. This addresses :cve:`2026-3644`." msgstr "" -#: ../NEWS:2063 +#: ../NEWS:2153 msgid "" ":gh:`145506`: Fixes :cve:`2026-2297` by ensuring that " "``SourcelessFileLoader`` uses :func:`io.open_code` when opening ``.pyc`` " "files." msgstr "" -#: ../NEWS:2067 +#: ../NEWS:2157 msgid "" ":gh:`144370`: Disallow usage of control characters in status in :mod:" "`wsgiref.handlers` to prevent HTTP header injections. Patch by Benedikt " "Johannes." msgstr "" -#: ../NEWS:2071 +#: ../NEWS:2161 msgid "" ":gh:`143930`: Reject leading dashes in URLs passed to :func:`webbrowser." "open`." msgstr "" -#: ../NEWS:2077 +#: ../NEWS:2167 msgid "" ":gh:`148157`: Fix an unlikely crash when parsing an invalid type comments " "for function parameters. Found by OSS Fuzz in :oss-fuzz:`492782951`." msgstr "" -#: ../NEWS:2080 +#: ../NEWS:2170 msgid "" ":gh:`148144`: Initialize ``_PyInterpreterFrame.visited`` when copying " "interpreter frames so incremental GC does not read an uninitialized byte " "from generator and frame-object copies." msgstr "" -#: ../NEWS:2084 +#: ../NEWS:2174 msgid "" ":gh:`146615`: Fix a crash in :meth:`~object.__get__` for :c:expr:" "`METH_METHOD` descriptors when an invalid (non-type) object is passed as the " "second argument. Patch by Steven Sun." msgstr "" -#: ../NEWS:2088 +#: ../NEWS:2178 msgid "" ":gh:`146308`: Fixed several error handling issues in the :mod:`!" "_remote_debugging` module, including safer validation of remote ``int`` " @@ -3623,186 +3781,186 @@ msgid "" "Pablo Galindo." msgstr "" -#: ../NEWS:2094 +#: ../NEWS:2184 msgid "" ":gh:`146128`: Fix a bug which could cause constant values to be partially " "corrupted in AArch64 JIT code. This issue is theoretical, and hasn't " "actually been observed in unmodified Python interpreters." msgstr "" -#: ../NEWS:2098 +#: ../NEWS:2188 msgid "" ":gh:`146250`: Fixed a memory leak in :exc:`SyntaxError` when re-initializing " "it." msgstr "" -#: ../NEWS:2101 +#: ../NEWS:2191 msgid "" ":gh:`146245`: Fixed reference leaks in :mod:`socket` when audit hooks raise " "exceptions in :func:`socket.getaddrinfo` and :meth:`!socket.sendto`." msgstr "" -#: ../NEWS:2104 +#: ../NEWS:2194 msgid "" ":gh:`146196`: Fix potential Undefined Behavior in :c:func:" "`PyUnicodeWriter_WriteASCII` by adding a zero-length check. Patch by Shamil " "Abdulaev." msgstr "" -#: ../NEWS:2108 +#: ../NEWS:2198 msgid "" ":gh:`146227`: Fix wrong type in ``_Py_atomic_load_uint16`` in the C11 " "atomics backend (``pyatomic_std.h``), which used a 32-bit atomic load " "instead of 16-bit. Found by Mohammed Zuhaib." msgstr "" -#: ../NEWS:2112 +#: ../NEWS:2202 msgid "" ":gh:`146056`: Fix :func:`repr` for lists and tuples containing ``NULL``\\ s." msgstr "" -#: ../NEWS:2114 +#: ../NEWS:2204 msgid "" ":gh:`146092`: Handle properly memory allocation failures on str and float " "opcodes. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2117 +#: ../NEWS:2207 msgid "" ":gh:`146041`: Fix free-threading scaling bottleneck in :func:`sys.intern` " "and :c:func:`PyObject_SetAttr` by avoiding the interpreter-wide lock when " "the string is already interned and immortalized." msgstr "" -#: ../NEWS:2121 +#: ../NEWS:2211 msgid "" ":gh:`145990`: ``python --help-env`` sections are now sorted by environment " "variable name." msgstr "" -#: ../NEWS:2124 +#: ../NEWS:2214 msgid "" ":gh:`145990`: ``python --help-xoptions`` is now sorted by ``-X`` option name." msgstr "" -#: ../NEWS:2126 +#: ../NEWS:2216 msgid ":gh:`145376`: Fix GC tracking in ``structseq.__replace__()``." msgstr "" -#: ../NEWS:2128 +#: ../NEWS:2218 msgid "" ":gh:`145792`: Fix out-of-bounds access when invoking faulthandler on a " "CPython build compiled without support for VLAs." msgstr "" -#: ../NEWS:2131 +#: ../NEWS:2221 msgid "" ":gh:`142183`: Avoid a pathological case where repeated calls at a specific " "stack depth could be significantly slower." msgstr "" -#: ../NEWS:2134 +#: ../NEWS:2224 msgid "" ":gh:`145779`: Improve scaling of :func:`classmethod` and :func:" "`staticmethod` calls in the free-threaded build by avoiding the descriptor " "``__get__`` call." msgstr "" -#: ../NEWS:2138 +#: ../NEWS:2228 msgid "" ":gh:`145783`: Fix an unlikely crash in the parser when certain errors were " "erroneously not propagated. Found by OSS Fuzz in :oss-fuzz:`491369109`." msgstr "" -#: ../NEWS:2141 +#: ../NEWS:2231 msgid "" ":gh:`145685`: Improve scaling of type attribute lookups in the :term:`free-" "threaded build` by avoiding contention on the internal type lock." msgstr "" -#: ../NEWS:2145 +#: ../NEWS:2235 msgid "" ":gh:`145701`: Fix :exc:`SystemError` when ``__classdict__`` or " "``__conditional_annotations__`` is in a class-scope inlined comprehension. " "Found by OSS Fuzz in :oss-fuzz:`491105000`." msgstr "" -#: ../NEWS:2149 +#: ../NEWS:2239 msgid "" ":gh:`145713`: Make :meth:`bytearray.resize` thread-safe in the free-threaded " "build by using a critical section and calling the lock-held variant of the " "resize function." msgstr "" -#: ../NEWS:2153 +#: ../NEWS:2243 msgid "" ":gh:`145615`: Fixed a memory leak in the :term:`free-threaded build` where " "mimalloc pages could become permanently unreclaimable until the owning " "thread exited." msgstr "" -#: ../NEWS:2157 +#: ../NEWS:2247 msgid "" ":gh:`145566`: In the free threading build, skip the stop-the-world pause " "when reassigning ``__class__`` on a newly created object." msgstr "" -#: ../NEWS:2160 +#: ../NEWS:2250 msgid "" ":gh:`145335`: Fix a crash in :func:`os.pathconf` when called with ``-1`` as " "the path argument." msgstr "" -#: ../NEWS:2163 +#: ../NEWS:2253 msgid "" ":gh:`145036`: In free-threaded build, fix race condition when calling :meth:" "`!__sizeof__` on a :class:`list`" msgstr "" -#: ../NEWS:2166 +#: ../NEWS:2256 msgid ":gh:`145376`: Fix reference leaks in various unusual error scenarios." msgstr "" -#: ../NEWS:2168 +#: ../NEWS:2258 msgid "" ":gh:`145234`: Fixed a ``SystemError`` in the parser when an encoding cookie " "(for example, UTF-7) decodes to carriage returns (``\\r``). Newlines are now " "normalized after decoding in the string tokenizer." msgstr "" -#: ../NEWS:2172 +#: ../NEWS:2262 msgid "Patch by Pablo Galindo." msgstr "" -#: ../NEWS:2174 +#: ../NEWS:2264 msgid "" ":gh:`130555`: Fix use-after-free in :meth:`dict.clear` when the dictionary " "values are embedded in an object and a destructor causes re-entrant mutation " "of the dictionary." msgstr "" -#: ../NEWS:2178 +#: ../NEWS:2268 msgid "" ":gh:`145187`: Fix compiler assertion fail when a type parameter bound " "contains an invalid expression in a conditional block." msgstr "" -#: ../NEWS:2181 +#: ../NEWS:2271 msgid "" ":gh:`145142`: Fix a crash in the free-threaded build when the dictionary " "argument to :meth:`str.maketrans` is concurrently modified." msgstr "" -#: ../NEWS:2184 +#: ../NEWS:2274 msgid ":gh:`144872`: Fix heap buffer overflow in the parser found by OSS-Fuzz." msgstr "" -#: ../NEWS:2186 +#: ../NEWS:2276 msgid "" ":gh:`144766`: Fix a crash in fork child process when perf support is enabled." msgstr "" -#: ../NEWS:2188 +#: ../NEWS:2278 msgid "" ":gh:`144759`: Fix undefined behavior in the lexer when ``start`` and " "``multi_line_start`` pointers are ``NULL`` in " @@ -3811,7 +3969,7 @@ msgid "" "(``NULL - valid_pointer``) is now guarded with explicit ``NULL`` checks." msgstr "" -#: ../NEWS:2194 +#: ../NEWS:2284 msgid "" ":gh:`144563`: Fix interaction of the Tachyon profiler and :mod:`ctypes` and " "other modules that load the Python shared library (if present) in an " @@ -3819,75 +3977,75 @@ msgid "" "information to be confused. Patch by Pablo Galindo" msgstr "" -#: ../NEWS:2199 +#: ../NEWS:2289 msgid "" ":gh:`144601`: Fix crash when importing a module whose ``PyInit`` function " "raises an exception from a subinterpreter." msgstr "" -#: ../NEWS:2202 +#: ../NEWS:2292 msgid "" ":gh:`144438`: Align the QSBR thread state array to a 64-byte cache line " "boundary to avoid false sharing in the :term:`free-threaded build`." msgstr "" -#: ../NEWS:2205 +#: ../NEWS:2295 msgid "" ":gh:`144513`: Fix potential deadlock when using critical sections during " "stop-the-world pauses in the free-threaded build." msgstr "" -#: ../NEWS:2208 +#: ../NEWS:2298 msgid "" ":gh:`144446`: Fix data races in the free-threaded build when reading frame " "object attributes while another thread is executing the frame." msgstr "" -#: ../NEWS:2211 +#: ../NEWS:2301 msgid "" ":gh:`143636`: Fix a crash when calling :class:`SimpleNamespace.__replace__() " "` on non-namespace instances. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2215 +#: ../NEWS:2305 msgid "" ":gh:`143650`: Fix race condition in :mod:`importlib` where a thread could " "receive a stale module reference when another thread's import fails." msgstr "" -#: ../NEWS:2218 +#: ../NEWS:2308 msgid "" ":gh:`141732`: Ensure the :meth:`~object.__repr__` for :exc:`ExceptionGroup` " "and :exc:`BaseExceptionGroup` does not change when the exception sequence " "that was original passed in to its constructor is subsequently mutated." msgstr "" -#: ../NEWS:2222 +#: ../NEWS:2312 msgid "" ":gh:`140594`: Fix an out of bounds read when a single NUL character is read " "from the standard input. Patch by Shamil Abdulaev." msgstr "" -#: ../NEWS:2225 +#: ../NEWS:2315 msgid "" ":gh:`91636`: While performing garbage collection, clear weakrefs to " "unreachable objects that are created during running of finalizers. If those " "weakrefs were are not cleared, they could reveal unreachable objects." msgstr "" -#: ../NEWS:2230 +#: ../NEWS:2320 msgid "" ":gh:`130327`: Fix erroneous clearing of an object's :attr:`~object.__dict__` " "if overwritten at runtime." msgstr "" -#: ../NEWS:2233 +#: ../NEWS:2323 msgid "" ":gh:`80667`: Literals using the ``\\N{name}`` escape syntax can now " "construct CJK ideographs and Hangul syllables using case-insensitive names." msgstr "" -#: ../NEWS:2239 +#: ../NEWS:2329 msgid "" ":gh:`144503`: Fix a regression introduced in 3.14.3 and 3.13.12 where the :" "mod:`multiprocessing` ``forkserver`` start method would fail with :exc:" @@ -3897,19 +4055,19 @@ msgid "" "the operating system's per-argument length limit." msgstr "" -#: ../NEWS:2246 +#: ../NEWS:2336 msgid "" ":gh:`146613`: :mod:`itertools`: Fix a crash in :func:`itertools.groupby` " "when the grouper iterator is concurrently mutated." msgstr "" -#: ../NEWS:2249 +#: ../NEWS:2339 msgid "" ":gh:`146080`: :mod:`ssl`: fix a crash when an SNI callback tries to use an " "SSL object that has already been garbage-collected. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2253 +#: ../NEWS:2343 msgid "" ":gh:`146556`: Fix :func:`annotationlib.get_annotations` hanging indefinitely " "when called with ``eval_str=True`` on a callable that has a circular " @@ -3918,52 +4076,52 @@ msgid "" "found so far, mirroring the approach of :func:`inspect.unwrap`." msgstr "" -#: ../NEWS:2259 +#: ../NEWS:2349 msgid "" ":gh:`146090`: :mod:`sqlite3`: fix a crash when :meth:`sqlite3.Connection." "create_collation` fails with `SQLITE_BUSY `__. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2263 +#: ../NEWS:2353 msgid "" ":gh:`146090`: :mod:`sqlite3`: properly raise :exc:`MemoryError` instead of :" "exc:`SystemError` when a context callback fails to be allocated. Patch by " "Bénédikt Tran." msgstr "" -#: ../NEWS:2267 +#: ../NEWS:2357 msgid "" ":gh:`145633`: Fix ``struct.pack('f', float)``: use :c:func:`PyFloat_Pack4` " "to raise :exc:`OverflowError`. Patch by Sergey B Kirpichev and Victor " "Stinner." msgstr "" -#: ../NEWS:2271 +#: ../NEWS:2361 msgid "" ":gh:`146310`: The :mod:`ensurepip` module no longer looks for ``pip-*.whl`` " "wheel packages in the current directory." msgstr "" -#: ../NEWS:2274 +#: ../NEWS:2364 msgid "" ":gh:`146083`: Update bundled `libexpat `_ to " "version 2.7.5." msgstr "" -#: ../NEWS:2277 +#: ../NEWS:2367 msgid "" ":gh:`146076`: :mod:`zoneinfo`: fix crashes when deleting ``_weak_cache`` " "from a :class:`zoneinfo.ZoneInfo` subclass." msgstr "" -#: ../NEWS:2280 +#: ../NEWS:2370 msgid "" ":gh:`146054`: Limit the size of :func:`encodings.search_function` cache. " "Found by OSS Fuzz in :oss-fuzz:`493449985`." msgstr "" -#: ../NEWS:2283 +#: ../NEWS:2373 msgid "" ":gh:`146004`: All :option:`-X` options from the Python command line are now " "propagated to child processes spawned by :mod:`multiprocessing`, not just a " @@ -3977,61 +4135,61 @@ msgid "" "``warn_default_encoding``." msgstr "" -#: ../NEWS:2294 +#: ../NEWS:2384 msgid "" ":gh:`145883`: :mod:`zoneinfo`: Fix heap buffer overflow reads from malformed " "TZif data. Found by OSS Fuzz, issues :oss-fuzz:`492245058` and :oss-fuzz:" "`492230068`." msgstr "" -#: ../NEWS:2298 +#: ../NEWS:2388 msgid "" ":gh:`145754`: Request signature during mock autospec with ``FORWARDREF`` " "annotation format. This prevents runtime errors when an annotation uses a " "name that is not defined at runtime." msgstr "" -#: ../NEWS:2302 +#: ../NEWS:2392 msgid "" ":gh:`145750`: Avoid undefined behaviour from signed integer overflow when " "parsing format strings in the :mod:`struct` module. Found by OSS Fuzz in :" "oss-fuzz:`488466741`." msgstr "" -#: ../NEWS:2306 +#: ../NEWS:2396 msgid "" ":gh:`145492`: Fix infinite recursion in :class:`collections.defaultdict` " "``__repr__`` when a ``defaultdict`` contains itself. Based on analysis by " "KowalskiThomas in :gh:`145492`." msgstr "" -#: ../NEWS:2310 +#: ../NEWS:2400 msgid "" ":gh:`145623`: Fix crash in :mod:`struct` when calling :func:`repr` or " "``__sizeof__()`` on an uninitialized :class:`struct.Struct` object created " "via ``Struct.__new__()`` without calling ``__init__()``." msgstr "" -#: ../NEWS:2314 +#: ../NEWS:2404 msgid "" ":gh:`145616`: Detect Android sysconfig ABI correctly on 32-bit ARM Android " "on 64-bit ARM kernel" msgstr "" -#: ../NEWS:2317 +#: ../NEWS:2407 msgid "" ":gh:`145551`: Fix InvalidStateError when cancelling process created by :func:" "`asyncio.create_subprocess_exec` or :func:`asyncio.create_subprocess_shell`. " "Patch by Daan De Meyer." msgstr "" -#: ../NEWS:2321 +#: ../NEWS:2411 msgid "" ":gh:`145446`: Now :mod:`functools` is safer in free-threaded build when " "using keywords in :func:`functools.partial`" msgstr "" -#: ../NEWS:2324 +#: ../NEWS:2414 msgid "" ":gh:`145417`: :mod:`venv`: Prevent incorrect preservation of SELinux context " "when copying the ``Activate.ps1`` script. The script inherited the SELinux " @@ -4039,25 +4197,25 @@ msgid "" "destination project directory." msgstr "" -#: ../NEWS:2329 +#: ../NEWS:2419 msgid "" ":gh:`145376`: Fix double free and null pointer dereference in unusual error " "scenarios in :mod:`hashlib` and :mod:`hmac` modules." msgstr "" -#: ../NEWS:2332 +#: ../NEWS:2422 msgid "" ":gh:`145301`: :mod:`hmac`: fix a crash when the initialization of the " "underlying C extension module fails." msgstr "" -#: ../NEWS:2335 +#: ../NEWS:2425 msgid "" ":gh:`145301`: :mod:`hashlib`: fix a crash when the initialization of the " "underlying C extension module fails." msgstr "" -#: ../NEWS:2338 +#: ../NEWS:2428 msgid "" ":gh:`145264`: Base64 decoder (see :func:`binascii.a2b_base64`, :func:`base64." "b64decode`, etc) no longer ignores excess data after the first padded quad " @@ -4066,13 +4224,13 @@ msgid "" "before the end of the encoded data." msgstr "" -#: ../NEWS:2344 +#: ../NEWS:2434 msgid "" ":gh:`145158`: Avoid undefined behaviour from signed integer overflow when " "parsing format strings in the :mod:`struct` module." msgstr "" -#: ../NEWS:2347 +#: ../NEWS:2437 msgid "" ":gh:`144984`: Fix crash in :meth:`xml.parsers.expat.xmlparser." "ExternalEntityParserCreate` when an allocation fails. The error paths could " @@ -4080,55 +4238,55 @@ msgid "" "reference count." msgstr "" -#: ../NEWS:2352 +#: ../NEWS:2442 msgid "" ":gh:`88091`: Fix :func:`unicodedata.decomposition` for Hangul characters." msgstr "" -#: ../NEWS:2354 +#: ../NEWS:2444 msgid "" ":gh:`144986`: Fix a memory leak in :func:`atexit.register`. Patch by Shamil " "Abdulaev." msgstr "" -#: ../NEWS:2357 +#: ../NEWS:2447 msgid "" ":gh:`144777`: Fix data races in :class:`io.IncrementalNewlineDecoder` in " "the :term:`free-threaded build`." msgstr "" -#: ../NEWS:2360 +#: ../NEWS:2450 msgid "" ":gh:`144809`: Make :class:`collections.deque` copy atomic in the :term:`free-" "threaded build`." msgstr "" -#: ../NEWS:2363 +#: ../NEWS:2453 msgid "" ":gh:`144835`: Added missing explanations for some parameters in :func:`glob." "glob` and :func:`glob.iglob`." msgstr "" -#: ../NEWS:2366 +#: ../NEWS:2456 msgid "" ":gh:`144833`: Fixed a use-after-free in :mod:`ssl` when ``SSL_new()`` " "returns NULL in ``newPySSLSocket()``. The error was reported via a dangling " "pointer after the object had already been freed." msgstr "" -#: ../NEWS:2370 +#: ../NEWS:2460 msgid "" ":gh:`144782`: Fix :class:`argparse.ArgumentParser` to be :mod:`pickleable " "`." msgstr "" -#: ../NEWS:2373 +#: ../NEWS:2463 msgid "" ":gh:`144259`: Fix inconsistent display of long multiline pasted content in " "the REPL." msgstr "" -#: ../NEWS:2376 +#: ../NEWS:2466 msgid "" ":gh:`144156`: Fix the folding of headers by the :mod:`email` library when :" "rfc:`2047` encoded words are used. Now whitespace is correctly preserved " @@ -4137,116 +4295,116 @@ msgid "" "failures to preserve whitespace." msgstr "" -#: ../NEWS:2382 +#: ../NEWS:2472 msgid "" ":gh:`66305`: Fixed a hang on Windows in the :mod:`tempfile` module when " "trying to create a temporary file or subdirectory in a non-writable " "directory." msgstr "" -#: ../NEWS:2386 +#: ../NEWS:2476 msgid "" ":gh:`140814`: :func:`multiprocessing.freeze_support` no longer sets the " "default start method as a side effect, which previously caused a subsequent :" "func:`multiprocessing.set_start_method` call to raise :exc:`RuntimeError`." msgstr "" -#: ../NEWS:2391 +#: ../NEWS:2481 msgid "" ":gh:`144475`: Calling :func:`repr` on :func:`functools.partial` is now safer " "when the partial object's internal attributes are replaced while the string " "representation is being generated." msgstr "" -#: ../NEWS:2395 +#: ../NEWS:2485 msgid "" ":gh:`144538`: Bump the version of pip bundled in ensurepip to version 26.0.1" msgstr "" -#: ../NEWS:2397 +#: ../NEWS:2487 msgid "" ":gh:`144494`: Fix performance regression in :func:`asyncio.all_tasks` on :" "term:`free-threaded builds `. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:2400 +#: ../NEWS:2490 msgid "" ":gh:`144316`: Fix crash in ``_remote_debugging`` that caused " "``test_external_inspection`` to intermittently fail. Patch by Taegyun Kim." msgstr "" -#: ../NEWS:2403 +#: ../NEWS:2493 msgid "" ":gh:`144363`: Update bundled `libexpat `_ to " "2.7.4" msgstr "" -#: ../NEWS:2406 +#: ../NEWS:2496 msgid "" ":gh:`143637`: Fixed a crash in socket.sendmsg() that could occur if " "ancillary data is mutated re-entrantly during argument parsing." msgstr "" -#: ../NEWS:2409 +#: ../NEWS:2499 msgid "" ":gh:`143543`: Fix a crash in itertools.groupby that could occur when a user-" "defined :meth:`~object.__eq__` method re-enters the iterator during key " "comparison." msgstr "" -#: ../NEWS:2413 +#: ../NEWS:2503 msgid "" ":gh:`140652`: Fix a crash in :func:`!_interpchannels.list_all` after closing " "a channel." msgstr "" -#: ../NEWS:2416 +#: ../NEWS:2506 msgid "" ":gh:`143698`: Allow *scheduler* and *setpgroup* arguments to be explicitly :" "const:`None` when calling :func:`os.posix_spawn` or :func:`os.posix_spawnp`. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2420 +#: ../NEWS:2510 msgid "" ":gh:`143698`: Raise :exc:`TypeError` instead of :exc:`SystemError` when the " "*scheduler* in :func:`os.posix_spawn` or :func:`os.posix_spawnp` is not a " "tuple. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2424 +#: ../NEWS:2514 msgid "" ":gh:`142516`: :mod:`ssl`: fix reference leaks in :class:`ssl.SSLContext` " "objects. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2427 +#: ../NEWS:2517 msgid "" ":gh:`143304`: Fix :class:`ctypes.CDLL` to honor the ``handle`` parameter on " "POSIX systems." msgstr "" -#: ../NEWS:2430 +#: ../NEWS:2520 msgid "" ":gh:`142781`: :mod:`zoneinfo`: fix a crash when instantiating :class:" "`~zoneinfo.ZoneInfo` objects for which the internal class-level cache is " "inconsistent." msgstr "" -#: ../NEWS:2434 +#: ../NEWS:2524 msgid "" ":gh:`142763`: Fix a race condition between :class:`zoneinfo.ZoneInfo` " "creation and :func:`zoneinfo.ZoneInfo.clear_cache` that could raise :exc:" "`KeyError`." msgstr "" -#: ../NEWS:2438 +#: ../NEWS:2528 msgid "" ":gh:`142787`: Fix assertion failure in :mod:`sqlite3` blob subscript when " "slicing with indices that result in an empty slice." msgstr "" -#: ../NEWS:2441 +#: ../NEWS:2531 msgid "" ":gh:`142352`: Fix :meth:`asyncio.StreamWriter.start_tls` to transfer " "buffered data from :class:`~asyncio.StreamReader` to the SSL layer, " @@ -4254,68 +4412,68 @@ msgid "" "when implementing PROXY protocol support)." msgstr "" -#: ../NEWS:2446 +#: ../NEWS:2536 msgid "" ":gh:`141707`: Don't change :class:`tarfile.TarInfo` type from ``AREGTYPE`` " "to ``DIRTYPE`` when parsing GNU long name or link headers." msgstr "" -#: ../NEWS:2449 +#: ../NEWS:2539 msgid "" ":gh:`139933`: Improve :exc:`AttributeError` suggestions for classes with a " "custom :meth:`~object.__dir__` method returning a list of unsortable values. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2453 +#: ../NEWS:2543 msgid "" ":gh:`137335`: Get rid of any possibility of a name conflict for named pipes " "in :mod:`multiprocessing` and :mod:`asyncio` on Windows, no matter how small." msgstr "" -#: ../NEWS:2457 +#: ../NEWS:2547 msgid "" ":gh:`80667`: Support lookup for Tangut Ideographs in :mod:`unicodedata`." msgstr "" -#: ../NEWS:2459 +#: ../NEWS:2549 msgid "" ":issue:`40243`: Fix :meth:`!unicodedata.ucd_3_2_0.numeric` for non-decimal " "values." msgstr "" -#: ../NEWS:2465 +#: ../NEWS:2555 msgid "" ":gh:`126676`: Expand :mod:`argparse` documentation for ``type=bool`` with a " "demonstration of the surprising behavior and pointers to common alternatives." msgstr "" -#: ../NEWS:2469 +#: ../NEWS:2559 msgid "" ":gh:`145649`: Fix text wrapping and formatting of ``-X`` option descriptions " "in the :manpage:`python(1)` man page by using proper roff markup." msgstr "" -#: ../NEWS:2472 +#: ../NEWS:2562 msgid "" ":gh:`145450`: Document missing public :class:`wave.Wave_write` getter " "methods." msgstr "" -#: ../NEWS:2475 +#: ../NEWS:2565 msgid "" ":gh:`136246`: A new \"Improve this page\" link is available in the left-hand " "sidebar of the docs, offering links to create GitHub issues, discussion " "forum posts, or pull requests." msgstr "" -#: ../NEWS:2482 +#: ../NEWS:2572 msgid "" ":gh:`144418`: The Android testbed's emulator RAM has been increased from 2 " "GB to 4 GB." msgstr "" -#: ../NEWS:2485 +#: ../NEWS:2575 msgid "" ":gh:`146202`: Fix a race condition in regrtest: make sure that the temporary " "directory is created in the worker process. Previously, temp_cwd() could " @@ -4323,39 +4481,39 @@ msgid "" "Stinner." msgstr "" -#: ../NEWS:2490 +#: ../NEWS:2580 msgid "" ":gh:`144739`: When Python was compiled with system expat older then 2.7.2 " "but tests run with newer expat, still skip :class:`!test.test_pyexpat." "MemoryProtectionTest`." msgstr "" -#: ../NEWS:2497 +#: ../NEWS:2587 msgid "" ":gh:`146541`: The Android testbed can now be built for 32-bit ARM and x86 " "targets." msgstr "" -#: ../NEWS:2500 +#: ../NEWS:2590 msgid "" ":gh:`146498`: The iOS XCframework build script now ensures libpython isn't " "included in installed app content, and is more robust in identifying " "standard library binary content that requires processing." msgstr "" -#: ../NEWS:2504 +#: ../NEWS:2594 msgid "" ":gh:`146450`: The Android build script was modified to improve parity with " "other platform build scripts." msgstr "" -#: ../NEWS:2507 +#: ../NEWS:2597 msgid "" ":gh:`146446`: The clean target for the Apple/iOS XCframework build script is " "now more selective when targeting a single architecture." msgstr "" -#: ../NEWS:2510 +#: ../NEWS:2600 msgid "" ":gh:`145801`: When Python build is optimized with GCC using PGO, use ``-" "fprofile-update=atomic`` option to use atomic operations when updating " @@ -4363,45 +4521,45 @@ msgid "" "corruption which can cause random GCC crashes. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2519 +#: ../NEWS:2609 msgid "" ":gh:`145307`: Defers loading of the ``psapi.dll`` module until it is used " "by :func:`ctypes.util.dllist`." msgstr "" -#: ../NEWS:2522 +#: ../NEWS:2612 msgid ":gh:`144551`: Updated bundled version of OpenSSL to 3.0.19." msgstr "" -#: ../NEWS:2524 +#: ../NEWS:2614 msgid "" ":gh:`140131`: Fix REPL cursor position on Windows when module completion " "suggestion line hits console width." msgstr "" -#: ../NEWS:2530 +#: ../NEWS:2620 msgid ":gh:`144551`: Update macOS installer to use OpenSSL 3.0.19." msgstr "" -#: ../NEWS:2532 +#: ../NEWS:2622 msgid "" ":gh:`137586`: Invoke :program:`osascript` with absolute path in :mod:" "`webbrowser` and :mod:`!turtledemo`." msgstr "" -#: ../NEWS:2538 +#: ../NEWS:2628 msgid "" ":gh:`146056`: :c:func:`PyUnicodeWriter_WriteRepr` now supports ``NULL`` " "argument." msgstr "" -#: ../NEWS:2541 +#: ../NEWS:2631 msgid "" ":gh:`145010`: Use GCC dialect alternatives for inline assembly in ``object." "h`` so that the Python headers compile correctly with ``-masm=intel``." msgstr "" -#: ../NEWS:2545 +#: ../NEWS:2635 msgid "" ":gh:`144981`: Made :c:func:`PyUnstable_Code_SetExtra`, :c:func:" "`PyUnstable_Code_GetExtra`, and :c:func:" @@ -4409,27 +4567,27 @@ msgid "" "threaded ` build." msgstr "" -#: ../NEWS:2552 +#: ../NEWS:2642 msgid "Python 3.14.3 final" msgstr "" -#: ../NEWS:2554 +#: ../NEWS:2644 msgid "*Release date: 2026-02-03*" msgstr "" -#: ../NEWS:2559 +#: ../NEWS:2649 msgid "" ":gh:`128067`: Fix a bug in PyREPL on Windows where output without a trailing " "newline was overwritten by the next prompt." msgstr "" -#: ../NEWS:2565 +#: ../NEWS:2655 msgid "" ":gh:`142095`: Make gdb 'py-bt' command use frame from thread local state " "when available. Patch by Sam Gross and Victor Stinner." msgstr "" -#: ../NEWS:2571 +#: ../NEWS:2661 msgid "" ":gh:`144415`: The Android testbed now distinguishes between stdout/stderr " "messages which were triggered by a newline, and those triggered by a manual " @@ -4437,38 +4595,38 @@ msgid "" "content." msgstr "" -#: ../NEWS:2576 +#: ../NEWS:2666 msgid "" ":gh:`143460`: Skip tests relying on infinite recusion if stack size is " "unlimited." msgstr "" -#: ../NEWS:2579 +#: ../NEWS:2669 msgid "" ":gh:`65784`: Add support for parametrized resource ``wantobjects`` in " "regrtests, which allows to run Tkinter tests with the specified value of :" "data:`!tkinter.wantobjects`, for example ``-u wantobjects=0``." msgstr "" -#: ../NEWS:2583 +#: ../NEWS:2673 msgid "" ":gh:`143553`: Add support for parametrized resources, such as ``-u " "xpickle=2.7``." msgstr "" -#: ../NEWS:2586 +#: ../NEWS:2676 msgid "" ":gh:`142836`: Accommodated Solaris in ``test_pdb." "test_script_target_anonymous_pipe``." msgstr "" -#: ../NEWS:2589 +#: ../NEWS:2679 msgid "" ":issue:`31391`: Forward-port test_xpickle from Python 2 to Python 3 and add " "the resource back to test's command line." msgstr "" -#: ../NEWS:2595 +#: ../NEWS:2685 msgid "" ":gh:`144125`: :mod:`~email.generator.BytesGenerator` will now refuse to " "serialize (write) headers that are unsafely folded or delimited; see :attr:" @@ -4476,7 +4634,7 @@ msgid "" "Bloemsaat and Petr Viktorin in :gh:`121650`)." msgstr "" -#: ../NEWS:2600 +#: ../NEWS:2690 msgid "" ":gh:`143935`: Fixed a bug in the folding of comments when flattening an " "email message using a modern email policy. Comments consisting of a very " @@ -4486,80 +4644,80 @@ msgid "" "enabled header injection with carefully crafted inputs." msgstr "" -#: ../NEWS:2607 +#: ../NEWS:2697 msgid ":gh:`143925`: Reject control characters in ``data:`` URL media types." msgstr "" -#: ../NEWS:2609 +#: ../NEWS:2699 msgid "" ":gh:`143919`: Reject control characters in :class:`http.cookies.Morsel` " "fields and values." msgstr "" -#: ../NEWS:2612 +#: ../NEWS:2702 msgid "" ":gh:`143916`: Reject C0 control characters within wsgiref.headers.Headers " "fields, values, and parameters." msgstr "" -#: ../NEWS:2618 +#: ../NEWS:2708 msgid "" ":gh:`144380`: Improve performance of :class:`io.BufferedReader` line " "iteration by ~49%." msgstr "" -#: ../NEWS:2621 +#: ../NEWS:2711 msgid "" ":gh:`144169`: Fix three crashes when non-string keyword arguments are " "supplied to objects in the :mod:`ast` module." msgstr "" -#: ../NEWS:2624 +#: ../NEWS:2714 msgid "" ":gh:`144100`: Fixed a crash in ctypes when using a deprecated " "``POINTER(str)`` type in ``argtypes``. Instead of aborting, ctypes now " "raises a proper Python exception when the pointer target type is unresolved." msgstr "" -#: ../NEWS:2629 +#: ../NEWS:2719 msgid "" ":gh:`144050`: Fix :func:`stat.filemode` in the pure-Python implementation to " "avoid misclassifying invalid mode values as block devices." msgstr "" -#: ../NEWS:2632 +#: ../NEWS:2722 msgid "" ":gh:`144023`: Fixed validation of file descriptor 0 in posix functions when " "used with follow_symlinks parameter." msgstr "" -#: ../NEWS:2635 +#: ../NEWS:2725 msgid "" ":gh:`143999`: Fix an issue where :func:`inspect.getgeneratorstate` and :func:" "`inspect.getcoroutinestate` could fail for generators wrapped by :func:" "`types.coroutine` in the suspended state." msgstr "" -#: ../NEWS:2639 +#: ../NEWS:2729 msgid "" ":gh:`143831`: :class:`annotationlib.ForwardRef` objects are now hashable " "when created from annotation scopes with closures. Previously, hashing such " "objects would throw an exception. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:2643 +#: ../NEWS:2733 msgid "" ":gh:`143874`: Fixed a bug in :mod:`pdb` where expression results were not " "sent back to remote client." msgstr "" -#: ../NEWS:2646 +#: ../NEWS:2736 msgid "" ":gh:`143880`: Fix data race in :func:`functools.partial` in the :term:`free " "threading` build." msgstr "" -#: ../NEWS:2649 +#: ../NEWS:2739 msgid "" ":gh:`143706`: Fix :mod:`multiprocessing` forkserver so that :data:`sys.argv` " "is correctly set before ``__main__`` is preloaded. Previously, :data:`sys." @@ -4568,7 +4726,7 @@ msgid "" "Aaron Wieczorek, test provided by Thomas Watson, thanks!" msgstr "" -#: ../NEWS:2655 +#: ../NEWS:2745 msgid "" ":gh:`143638`: Forbid reentrant calls of the :class:`pickle.Pickler` and :" "class:`pickle.Unpickler` methods for the C implementation. Previously, this " @@ -4576,40 +4734,40 @@ msgid "" "same object raise :exc:`RuntimeError`." msgstr "" -#: ../NEWS:2660 +#: ../NEWS:2750 msgid "" ":gh:`78724`: Raise :exc:`RuntimeError`'s when user attempts to call methods " "on half-initialized :class:`~struct.Struct` objects, For example, created by " "``Struct.__new__(Struct)``. Patch by Sergey B Kirpichev." msgstr "" -#: ../NEWS:2664 +#: ../NEWS:2754 msgid "" ":gh:`143196`: Fix crash when the internal encoder object returned by " "undocumented function :func:`!json.encoder.c_make_encoder` was called with " "non-zero second (*_current_indent_level*) argument." msgstr "" -#: ../NEWS:2668 +#: ../NEWS:2758 msgid "" ":gh:`143191`: :func:`_thread.stack_size` now raises :exc:`ValueError` if the " "stack size is too small. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2671 +#: ../NEWS:2761 msgid "" ":gh:`143602`: Fix a inconsistency issue in :meth:`~io.RawIOBase.write` that " "leads to unexpected buffer overwrite by deduplicating the buffer exports." msgstr "" -#: ../NEWS:2674 +#: ../NEWS:2764 msgid "" ":gh:`143547`: Fix :func:`sys.unraisablehook` when the hook raises an " "exception and changes :func:`sys.unraisablehook`: hold a strong reference to " "the old hook. Patch by Victor Stinner." msgstr "" -#: ../NEWS:2678 +#: ../NEWS:2768 msgid "" ":gh:`143517`: :func:`annotationlib.get_annotations` no longer raises a :exc:" "`SyntaxError` when evaluating a stringified starred annotation that starts " @@ -4617,67 +4775,67 @@ msgid "" "Sławecki." msgstr "" -#: ../NEWS:2683 +#: ../NEWS:2773 msgid "" ":gh:`143378`: Fix use-after-free crashes when a :class:`~io.BytesIO` object " "is concurrently mutated during :meth:`~io.RawIOBase.write` or :meth:`~io." "IOBase.writelines`." msgstr "" -#: ../NEWS:2687 +#: ../NEWS:2777 msgid "" ":gh:`143346`: Fix incorrect wrapping of the Base64 data in :class:`!plistlib." "_PlistWriter` when the indent contains a mix of tabs and spaces." msgstr "" -#: ../NEWS:2691 +#: ../NEWS:2781 msgid "" ":gh:`143310`: :mod:`tkinter`: fix a crash when a Python :class:`list` is " "mutated during the conversion to a Tcl object (e.g., when setting a Tcl " "variable). Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2695 +#: ../NEWS:2785 msgid "" ":gh:`143309`: Fix a crash in :func:`os.execve` on non-Windows platforms when " "given a custom environment mapping which is then mutated during parsing. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2699 +#: ../NEWS:2789 msgid "" ":gh:`143308`: :mod:`pickle`: fix use-after-free crashes when a :class:" "`~pickle.PickleBuffer` is concurrently mutated by a custom buffer callback " "during pickling. Patch by Bénédikt Tran and Aaron Wieczorek." msgstr "" -#: ../NEWS:2703 +#: ../NEWS:2793 msgid "" ":gh:`143237`: Fix support of named pipes in the rotating :mod:`logging` " "handlers." msgstr "" -#: ../NEWS:2706 +#: ../NEWS:2796 msgid "" ":gh:`143249`: Fix possible buffer leaks in Windows overlapped I/O on error " "handling." msgstr "" -#: ../NEWS:2709 +#: ../NEWS:2799 msgid "" ":gh:`143241`: :mod:`zoneinfo`: fix infinite loop in :meth:`ZoneInfo." "from_file ` when parsing a malformed TZif file. " "Patch by Fatih Celik." msgstr "" -#: ../NEWS:2713 +#: ../NEWS:2803 msgid "" ":gh:`142830`: :mod:`sqlite3`: fix use-after-free crashes when the " "connection's callbacks are mutated during a callback execution. Patch by " "Bénédikt Tran." msgstr "" -#: ../NEWS:2717 +#: ../NEWS:2807 msgid "" ":gh:`143200`: :mod:`xml.etree.ElementTree`: fix use-after-free crashes in :" "meth:`~object.__getitem__` and :meth:`~object.__setitem__` methods of :class:" @@ -4685,83 +4843,83 @@ msgid "" "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2722 +#: ../NEWS:2812 msgid "" ":gh:`142195`: Updated timeout evaluation logic in :mod:`subprocess` to be " "compatible with deterministic environments like Shadow where time moves " "exactly as requested." msgstr "" -#: ../NEWS:2726 +#: ../NEWS:2816 msgid "" ":gh:`142164`: Fix the ctypes bitfield overflow error message to report the " "correct offset and size calculation." msgstr "" -#: ../NEWS:2729 +#: ../NEWS:2819 msgid "" ":gh:`143145`: Fixed a possible reference leak in ctypes when constructing " "results with multiple output parameters on error." msgstr "" -#: ../NEWS:2732 +#: ../NEWS:2822 msgid "" ":gh:`122431`: Corrected the error message in :func:`readline." "append_history_file` to state that ``nelements`` must be non-negative " "instead of positive." msgstr "" -#: ../NEWS:2736 +#: ../NEWS:2826 msgid "" ":gh:`143004`: Fix a potential use-after-free in :meth:`collections.Counter." "update` when user code mutates the Counter during an update." msgstr "" -#: ../NEWS:2740 +#: ../NEWS:2830 msgid "" ":gh:`143046`: The :mod:`asyncio` REPL no longer prints copyright and version " "messages in the quiet mode (:option:`-q`). Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:2743 +#: ../NEWS:2833 msgid "" ":gh:`140648`: The :mod:`asyncio` REPL now respects the :option:`-I` flag " "(isolated mode). Previously, it would load and execute :envvar:" "`PYTHONSTARTUP` even if the flag was set. Contributed by Bartosz Sławecki." msgstr "" -#: ../NEWS:2748 +#: ../NEWS:2838 msgid "" ":gh:`142991`: Fixed socket operations such as recvfrom() and sendto() for " "FreeBSD divert(4) socket." msgstr "" -#: ../NEWS:2751 +#: ../NEWS:2841 msgid "" ":gh:`143010`: Fixed a bug in :mod:`mailbox` where the precise timing of an " "external event could result in the library opening an existing file instead " "of a file it expected to create." msgstr "" -#: ../NEWS:2755 +#: ../NEWS:2845 msgid "" ":gh:`142881`: Fix concurrent and reentrant call of :func:`atexit.unregister`." msgstr "" -#: ../NEWS:2757 +#: ../NEWS:2847 msgid "" ":gh:`112127`: Fix possible use-after-free in :func:`atexit.unregister` when " "the callback is unregistered during comparison." msgstr "" -#: ../NEWS:2760 +#: ../NEWS:2850 msgid "" ":gh:`142783`: Fix zoneinfo use-after-free with descriptor _weak_cache. a " "descriptor as _weak_cache could cause crashes during object creation. The " "fix ensures proper reference counting for descriptor-provided objects." msgstr "" -#: ../NEWS:2764 +#: ../NEWS:2854 msgid "" ":gh:`142754`: Add the *ownerDocument* attribute to :mod:`xml.dom.minidom` " "elements and attributes created by directly instantiating the ``Element`` or " @@ -4770,34 +4928,34 @@ msgid "" "used instead." msgstr "" -#: ../NEWS:2770 +#: ../NEWS:2860 msgid "" ":gh:`142784`: The :mod:`asyncio` REPL now properly closes the loop upon the " "end of interactive session. Previously, it could cause surprising warnings. " "Contributed by Bartosz Sławecki." msgstr "" -#: ../NEWS:2774 +#: ../NEWS:2864 msgid "" ":gh:`142555`: :mod:`array`: fix a crash in ``a[i] = v`` when converting *i* " "to an index via :meth:`i.__index__ ` or :meth:`i.__float__ " "` mutates the array." msgstr "" -#: ../NEWS:2778 +#: ../NEWS:2868 msgid "" ":gh:`142594`: Fix crash in ``TextIOWrapper.close()`` when the underlying " "buffer's ``closed`` property calls :meth:`~io.TextIOBase.detach`." msgstr "" -#: ../NEWS:2781 +#: ../NEWS:2871 msgid "" ":gh:`142451`: :mod:`hmac`: Ensure that the :attr:`HMAC.block_size ` attribute is correctly copied by :meth:`HMAC.copy `. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2785 +#: ../NEWS:2875 msgid "" ":gh:`142495`: :class:`collections.defaultdict` now prioritizes :meth:" "`~object.__setitem__` when inserting default values from " @@ -4805,33 +4963,33 @@ msgid "" "would overwrite a value set before ``default_factory`` returns." msgstr "" -#: ../NEWS:2790 +#: ../NEWS:2880 msgid "" ":gh:`142651`: :mod:`unittest.mock`: fix a thread safety issue where :attr:" "`Mock.call_count ` may return inaccurate " "values when the mock is called concurrently from multiple threads." msgstr "" -#: ../NEWS:2795 +#: ../NEWS:2885 msgid "" ":gh:`142595`: Added type check during initialization of the :mod:`decimal` " "module to prevent a crash in case of broken stdlib. Patch by Sergey B " "Kirpichev." msgstr "" -#: ../NEWS:2799 +#: ../NEWS:2889 msgid "" ":gh:`142556`: Fix crash when a task gets re-registered during finalization " "in :mod:`asyncio`. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:2802 +#: ../NEWS:2892 msgid "" ":gh:`123241`: Avoid reference count operations in garbage collection of :mod:" "`ctypes` objects." msgstr "" -#: ../NEWS:2805 +#: ../NEWS:2895 msgid "" ":gh:`142517`: The non-``compat32`` :mod:`email` policies now correctly " "handle refolding encoded words that contain bytes that can not be decoded in " @@ -4839,174 +4997,174 @@ msgid "" "exception during folding." msgstr "" -#: ../NEWS:2810 +#: ../NEWS:2900 msgid "" ":gh:`112527`: The help text for required options in :mod:`argparse` no " "longer extended with \" (default: None)\"." msgstr "" -#: ../NEWS:2813 +#: ../NEWS:2903 msgid "" ":gh:`142346`: Fix usage formatting for mutually exclusive groups in :mod:" "`argparse` when they are preceded by positional arguments or followed or " "intermixed with other optional arguments." msgstr "" -#: ../NEWS:2817 +#: ../NEWS:2907 msgid "" ":gh:`142315`: Pdb can now run scripts from anonymous pipes used in process " "substitution. Patch by Bartosz Sławecki." msgstr "" -#: ../NEWS:2820 +#: ../NEWS:2910 msgid "" ":gh:`142332`: Fix usage formatting for positional arguments in mutually " "exclusive groups in :mod:`argparse`. in :mod:`argparse`." msgstr "" -#: ../NEWS:2823 +#: ../NEWS:2913 msgid "" ":gh:`142282`: Fix :func:`winreg.QueryValueEx` to not accidentally read " "garbage buffer under race condition." msgstr "" -#: ../NEWS:2826 +#: ../NEWS:2916 msgid "" ":gh:`75949`: Fix :mod:`argparse` to preserve ``|`` separators in mutually " "exclusive groups when the usage line wraps due to length." msgstr "" -#: ../NEWS:2829 +#: ../NEWS:2919 msgid "" ":gh:`142267`: Improve :mod:`argparse` performance by caching the formatter " "used for argument validation." msgstr "" -#: ../NEWS:2832 +#: ../NEWS:2922 msgid "" ":gh:`68552`: ``MisplacedEnvelopeHeaderDefect`` and ``Missing header name`` " "defects are now correctly passed to the ``handle_defect`` method of " "``policy`` in :class:`~email.parser.FeedParser`." msgstr "" -#: ../NEWS:2836 +#: ../NEWS:2926 msgid "" ":gh:`142006`: Fix a bug in the :mod:`email.policy.default` folding algorithm " "which incorrectly resulted in a doubled newline when a line ending at " "exactly max_line_length was followed by an unfoldable token." msgstr "" -#: ../NEWS:2840 +#: ../NEWS:2930 msgid "" ":gh:`105836`: Fix :meth:`asyncio.run_coroutine_threadsafe` leaving " "underlying cancelled asyncio task running." msgstr "" -#: ../NEWS:2843 +#: ../NEWS:2933 msgid "" ":gh:`139971`: :mod:`pydoc`: Ensure that the link to the online documentation " "of a :term:`stdlib` module is correct." msgstr "" -#: ../NEWS:2846 +#: ../NEWS:2936 msgid "" ":gh:`139262`: Some keystrokes can be swallowed in the new ``PyREPL`` on " "Windows, especially when used together with the ALT key. Fix by Chris Eibl." msgstr "" -#: ../NEWS:2850 +#: ../NEWS:2940 msgid "" ":gh:`138897`: Improved :data:`license`/:data:`copyright`/:data:`credits` " "display in the :term:`REPL`: now uses a pager." msgstr "" -#: ../NEWS:2853 +#: ../NEWS:2943 msgid "" ":gh:`79986`: Add parsing for ``References`` and ``In-Reply-To`` headers to " "the :mod:`email` library that parses the header content as lists of message " "id tokens. This prevents them from being folded incorrectly." msgstr "" -#: ../NEWS:2857 +#: ../NEWS:2947 msgid "" ":gh:`136282`: Add support for :const:`~configparser.UNNAMED_SECTION` when " "creating a section via the mapping protocol access" msgstr "" -#: ../NEWS:2860 +#: ../NEWS:2950 msgid "" ":gh:`109263`: Starting a process from spawn context in :mod:" "`multiprocessing` no longer sets the start method globally." msgstr "" -#: ../NEWS:2863 +#: ../NEWS:2953 msgid ":gh:`133253`: Fix thread-safety issues in :mod:`linecache`." msgstr "" -#: ../NEWS:2865 +#: ../NEWS:2955 msgid "" ":gh:`132715`: Skip writing objects during marshalling once a failure has " "occurred." msgstr "" -#: ../NEWS:2871 +#: ../NEWS:2961 msgid "" ":gh:`143774`: Better explain the operation of Format / Format Paragraph." msgstr "" -#: ../NEWS:2876 +#: ../NEWS:2966 msgid ":gh:`140806`: Add documentation for :func:`enum.bin`." msgstr "" -#: ../NEWS:2881 +#: ../NEWS:2971 msgid "" ":gh:`144307`: Prevent a reference leak in module teardown at interpreter " "finalization." msgstr "" -#: ../NEWS:2884 +#: ../NEWS:2974 msgid "" ":gh:`144194`: Fix error handling in perf jitdump initialization on memory " "allocation failure." msgstr "" -#: ../NEWS:2887 +#: ../NEWS:2977 msgid "" ":gh:`144012`: Check if the result is ``NULL`` in ``BINARY_OP_EXTENT`` opcode." msgstr "" -#: ../NEWS:2889 +#: ../NEWS:2979 msgid "" ":gh:`141805`: Fix crash in :class:`set` when objects with the same hash are " "concurrently added to the set after removing an element with the same hash " "while the set still contains elements with the same hash." msgstr "" -#: ../NEWS:2893 +#: ../NEWS:2983 msgid ":gh:`143670`: Fixes a crash in ``ga_repr_items_list`` function." msgstr "" -#: ../NEWS:2895 +#: ../NEWS:2985 msgid "" ":gh:`143377`: Fix a crash in :func:`!_interpreters.capture_exception` when " "the exception is incorrectly formatted. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2898 +#: ../NEWS:2988 msgid "" ":gh:`136924`: The interactive help mode in the :term:`REPL` no longer " "incorrectly syntax highlights text input as Python code. Contributed by Olga " "Matoula." msgstr "" -#: ../NEWS:2902 +#: ../NEWS:2992 msgid "" ":gh:`143189`: Fix crash when inserting a non-:class:`str` key into a split " "table dictionary when the key matches an existing key in the split table but " "has no corresponding value in the dict." msgstr "" -#: ../NEWS:2906 +#: ../NEWS:2996 msgid "" ":gh:`143228`: Fix use-after-free in perf trampoline when toggling profiling " "while threads are running or during interpreter finalization with daemon " @@ -5015,89 +5173,89 @@ msgid "" "Galindo" msgstr "" -#: ../NEWS:2912 +#: ../NEWS:3002 msgid "" ":gh:`142664`: Fix a use-after-free crash in :meth:`memoryview.__hash__ " "` when the ``__hash__`` method of the referenced object " "mutates that object or the view. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2916 +#: ../NEWS:3006 msgid "" ":gh:`142557`: Fix a use-after-free crash in :ref:`bytearray.__mod__ ` when the :class:`!bytearray` is mutated while formatting the " "``%``-style arguments. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2920 +#: ../NEWS:3010 msgid "" ":gh:`143195`: Fix use-after-free crashes in :meth:`bytearray.hex` and :meth:" "`memoryview.hex` when the separator's :meth:`~object.__len__` mutates the " "original object. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2924 +#: ../NEWS:3014 msgid "" ":gh:`142975`: Fix crash after unfreezing all objects tracked by the garbage " "collector on the :term:`free threaded ` build." msgstr "" -#: ../NEWS:2927 +#: ../NEWS:3017 msgid "" ":gh:`143135`: Set :data:`sys.flags.inspect` to ``1`` when :envvar:" "`PYTHONINSPECT` is ``0``. Previously, it was set to ``0`` in this case." msgstr "" -#: ../NEWS:2931 +#: ../NEWS:3021 msgid "" ":gh:`143003`: Fix an overflow of the shared empty buffer in :meth:`bytearray." "extend` when ``__length_hint__()`` returns 0 for non-empty iterator." msgstr "" -#: ../NEWS:2935 +#: ../NEWS:3025 msgid "" ":gh:`143006`: Fix a possible assertion error when comparing negative non-" "integer ``float`` and ``int`` with the same number of bits in the integer " "part." msgstr "" -#: ../NEWS:2939 +#: ../NEWS:3029 msgid "" ":gh:`143057`: Avoid locking in :c:func:`PyTraceMalloc_Track` and :c:func:" "`PyTraceMalloc_Untrack` when :mod:`tracemalloc` is not enabled." msgstr "" -#: ../NEWS:2942 +#: ../NEWS:3032 msgid ":gh:`142776`: Fix a file descriptor leak in import.c" msgstr "" -#: ../NEWS:2944 +#: ../NEWS:3034 msgid "" ":gh:`142829`: Fix a use-after-free crash in :class:`contextvars.Context` " "comparison when a custom ``__eq__`` method modifies the context via :meth:" "`~contextvars.ContextVar.set`." msgstr "" -#: ../NEWS:2948 +#: ../NEWS:3038 msgid "" ":gh:`142766`: Clear the frame of a generator when :meth:`generator.close` is " "called." msgstr "" -#: ../NEWS:2951 +#: ../NEWS:3041 msgid "" ":gh:`142737`: Tracebacks will be displayed in fallback mode even if :func:" "`io.open` is lost. Previously, this would crash the interpreter. Patch by " "Bartosz Sławecki." msgstr "" -#: ../NEWS:2955 +#: ../NEWS:3045 msgid "" ":gh:`142554`: Fix a crash in :func:`divmod` when :func:`!_pylong.int_divmod` " "does not return a tuple of length two exactly. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:2958 +#: ../NEWS:3048 msgid "" ":gh:`142560`: Fix use-after-free in :class:`bytearray` search-like methods (:" "meth:`~bytearray.find`, :meth:`~bytearray.count`, :meth:`~bytearray.index`, :" @@ -5108,7 +5266,7 @@ msgid "" "used for this." msgstr "" -#: ../NEWS:2967 +#: ../NEWS:3057 msgid "" ":gh:`142531`: Fix a free-threaded GC performance regression. If there are " "many untracked tuples, the GC will run too often, resulting in poor " @@ -5117,61 +5275,61 @@ msgid "" "free-threaded GC must scan those too." msgstr "" -#: ../NEWS:2973 +#: ../NEWS:3063 msgid "" ":gh:`142402`: Fix reference counting when adjacent literal parts are merged " "while constructing :class:`string.templatelib.Template`, preventing the " "displaced string object from leaking." msgstr "" -#: ../NEWS:2977 +#: ../NEWS:3067 msgid "" ":gh:`133932`: Fix crash in the free threading build when clearing frames " "that hold tagged integers." msgstr "" -#: ../NEWS:2980 +#: ../NEWS:3070 msgid "" ":gh:`142343`: Fix SIGILL crash on m68k due to incorrect assembly constraint." msgstr "" -#: ../NEWS:2982 +#: ../NEWS:3072 msgid "" ":gh:`100964`: Fix reference cycle in exhausted generator frames. Patch by " "Savannah Ostrowski." msgstr "" -#: ../NEWS:2985 +#: ../NEWS:3075 msgid "" ":gh:`69605`: Fix edge-cases around already imported modules in the :term:" "`REPL` auto-completion of imports." msgstr "" -#: ../NEWS:2988 +#: ../NEWS:3078 msgid "" ":gh:`138568`: Adjusted the built-in :func:`help` function so that empty " "inputs are ignored in interactive mode." msgstr "" -#: ../NEWS:2991 +#: ../NEWS:3081 msgid "" ":gh:`137007`: Fix a bug during JIT compilation failure which caused garbage " "collection debug assertions to fail." msgstr "" -#: ../NEWS:2997 +#: ../NEWS:3087 msgid "" ":gh:`142589`: Fix :c:func:`PyUnstable_Object_IsUniqueReferencedTemporary()` " "handling of tagged ints on the interpreter stack." msgstr "" -#: ../NEWS:3000 +#: ../NEWS:3090 msgid "" ":gh:`142571`: :c:func:`!PyUnstable_CopyPerfMapFile` now checks that opening " "the file succeeded before flushing." msgstr "" -#: ../NEWS:3006 +#: ../NEWS:3096 msgid "" ":gh:`142454`: When calculating the digest of the JIT stencils input, sort " "the hashed files by filenames before adding their content to the hasher. " @@ -5179,7 +5337,7 @@ msgid "" "independent on filesystem order." msgstr "" -#: ../NEWS:3011 +#: ../NEWS:3101 msgid "" ":gh:`141808`: When running ``make clean-retain-profile``, keep the generated " "JIT stencils. That way, the stencils are not generated twice when Profile-" @@ -5187,27 +5345,27 @@ msgid "" "their own pre-built JIT stencils." msgstr "" -#: ../NEWS:3016 +#: ../NEWS:3106 msgid "" ":gh:`138061`: Ensure reproducible builds by making JIT stencil header " "generation deterministic." msgstr "" -#: ../NEWS:3021 +#: ../NEWS:3111 msgid "Python 3.14.2 final" msgstr "" -#: ../NEWS:3023 +#: ../NEWS:3113 msgid "*Release date: 2025-12-05*" msgstr "" -#: ../NEWS:3028 +#: ../NEWS:3118 msgid "" ":gh:`142145`: Remove quadratic behavior in ``xml.minidom`` node ID cache " "clearing." msgstr "" -#: ../NEWS:3031 +#: ../NEWS:3121 msgid "" ":gh:`119452`: Fix a potential memory denial of service in the :mod:`http." "server` module. When a malicious user is connected to the CGI server on " @@ -5216,7 +5374,7 @@ msgid "" "memory (OOM) killed processes or containers, or even system crashes." msgstr "" -#: ../NEWS:3041 +#: ../NEWS:3131 msgid "" ":gh:`140797`: Revert changes to the undocumented :class:`!re.Scanner` class. " "Capturing groups are still allowed for backward compatibility, although " @@ -5224,7 +5382,7 @@ msgid "" "Python versions." msgstr "" -#: ../NEWS:3046 +#: ../NEWS:3136 msgid "" ":gh:`142206`: The resource tracker in the :mod:`multiprocessing` module now " "uses the original communication protocol, as in Python 3.14.0 and below, by " @@ -5234,57 +5392,57 @@ msgid "" "using Python 3.13.10, 3.14.1 and 3.15)." msgstr "" -#: ../NEWS:3053 +#: ../NEWS:3143 msgid "" ":gh:`142214`: Fix two regressions in :mod:`dataclasses` in Python 3.14.1 " "related to annotations." msgstr "" -#: ../NEWS:3056 +#: ../NEWS:3146 msgid "" "An exception is no longer raised if ``slots=True`` is used and the " "``__init__`` method does not have an ``__annotate__`` attribute (likely " "because ``init=False`` was used)." msgstr "" -#: ../NEWS:3060 +#: ../NEWS:3150 msgid "" "An exception is no longer raised if annotations are requested on the " "``__init__`` method and one of the fields is not present in the class " "annotations. This can occur in certain dynamic scenarios." msgstr "" -#: ../NEWS:3064 ../NEWS:28778 +#: ../NEWS:3154 ../NEWS:28868 msgid "Patch by Jelle Zijlstra." msgstr "" -#: ../NEWS:3069 +#: ../NEWS:3159 msgid "" ":gh:`142218`: Fix crash when inserting into a split table dictionary with a " "non :class:`str` key that matches an existing key." msgstr "" -#: ../NEWS:3075 +#: ../NEWS:3165 msgid "" ":gh:`116738`: Fix :mod:`cmath` data race when initializing trigonometric " "tables with subinterpreters." msgstr "" -#: ../NEWS:3080 +#: ../NEWS:3170 msgid "Python 3.14.1 final" msgstr "" -#: ../NEWS:3082 +#: ../NEWS:3172 msgid "*Release date: 2025-12-02*" msgstr "" -#: ../NEWS:3087 +#: ../NEWS:3177 msgid "" ":gh:`139810`: Installing with ``py install 3[.x]-dev`` will now select final " "versions as well as prereleases." msgstr "" -#: ../NEWS:3093 +#: ../NEWS:3183 msgid "" ":gh:`141692`: Each slice of an iOS XCframework now contains a ``lib`` folder " "that contains a symlink to the libpython dylib. This allows binary modules " @@ -5292,69 +5450,69 @@ msgid "" "linking." msgstr "" -#: ../NEWS:3098 +#: ../NEWS:3188 msgid "" ":gh:`141442`: The iOS testbed now correctly handles test arguments that " "contain spaces." msgstr "" -#: ../NEWS:3101 +#: ../NEWS:3191 msgid "" ":gh:`140702`: The iOS testbed app will now expose the ``GITHUB_ACTIONS`` " "environment variable to iOS apps being tested." msgstr "" -#: ../NEWS:3104 +#: ../NEWS:3194 msgid "" ":gh:`137484`: Have ``Tools/wasm/wasi`` put the build Python into a directory " "named after the build triple instead of \"build\"." msgstr "" -#: ../NEWS:3107 +#: ../NEWS:3197 msgid "" ":gh:`137248`: Add a ``--logdir`` option to ``Tools/wasm/wasi`` for " "specifying where to write log files." msgstr "" -#: ../NEWS:3110 +#: ../NEWS:3200 msgid "" ":gh:`137243`: Have Tools/wasm/wasi detect a WASI SDK install in /opt when it " "was directly extracted from a release tarball." msgstr "" -#: ../NEWS:3116 +#: ../NEWS:3206 msgid "" ":gh:`140482`: Preserve and restore the state of ``stty echo`` as part of the " "test environment." msgstr "" -#: ../NEWS:3119 +#: ../NEWS:3209 msgid "" ":gh:`140082`: Update ``python -m test`` to set ``FORCE_COLOR=1`` when being " "run with color enabled so that :mod:`unittest` which is run by it with " "redirected output will output in color." msgstr "" -#: ../NEWS:3123 +#: ../NEWS:3213 msgid "" ":gh:`139208`: Fix regrtest ``--fast-ci --verbose``: don't ignore the ``--" "verbose`` option anymore. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3126 +#: ../NEWS:3216 msgid "" ":gh:`136442`: Use exitcode ``1`` instead of ``5`` if :func:`unittest." "TestCase.setUpClass` raises an exception" msgstr "" -#: ../NEWS:3132 +#: ../NEWS:3222 msgid "" ":gh:`139700`: Check consistency of the zip64 end of central directory " "record. Support records with \"zip64 extensible data\" if there are no bytes " "prepended to the ZIP file." msgstr "" -#: ../NEWS:3136 +#: ../NEWS:3226 msgid "" ":gh:`139283`: :mod:`sqlite3`: correctly handle maximum number of rows to " "fetch in :meth:`Cursor.fetchmany ` and reject " @@ -5362,24 +5520,24 @@ msgid "" "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3141 +#: ../NEWS:3231 msgid "" ":gh:`137836`: Add support of the \"plaintext\" element, RAWTEXT elements " "\"xmp\", \"iframe\", \"noembed\" and \"noframes\", and optionally RAWTEXT " "element \"noscript\" in :class:`html.parser.HTMLParser`." msgstr "" -#: ../NEWS:3145 +#: ../NEWS:3235 msgid "" ":gh:`136063`: :mod:`email.message`: ensure linear complexity for legacy HTTP " "parameters parsing. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3148 +#: ../NEWS:3238 msgid ":gh:`136065`: Fix quadratic complexity in :func:`os.path.expandvars`." msgstr "" -#: ../NEWS:3150 +#: ../NEWS:3240 msgid "" ":gh:`119451`: Fix a potential memory denial of service in the :mod:`http." "client` module. When connecting to a malicious server, it could cause an " @@ -5388,7 +5546,7 @@ msgid "" "processes or containers, or even system crashes." msgstr "" -#: ../NEWS:3156 +#: ../NEWS:3246 msgid "" ":gh:`119342`: Fix a potential memory denial of service in the :mod:" "`plistlib` module. When reading a Plist file received from untrusted source, " @@ -5397,14 +5555,14 @@ msgid "" "(OOM) killed processes or containers, or even system crashes." msgstr "" -#: ../NEWS:3165 +#: ../NEWS:3255 msgid "" ":gh:`74389`: When the stdin being used by a :class:`subprocess.Popen` " "instance is closed, this is now ignored in :meth:`subprocess.Popen." "communicate` instead of leaving the class in an inconsistent state." msgstr "" -#: ../NEWS:3170 +#: ../NEWS:3260 msgid "" ":gh:`87512`: Fix :func:`subprocess.Popen.communicate` timeout handling on " "Windows when writing large input. Previously, the timeout was ignored during " @@ -5413,7 +5571,7 @@ msgid "" "background thread, allowing the timeout to be properly enforced." msgstr "" -#: ../NEWS:3177 +#: ../NEWS:3267 msgid "" ":gh:`141473`: When :meth:`subprocess.Popen.communicate` was called with " "*input* and a *timeout* and is called for a second time after a :exc:" @@ -5421,50 +5579,50 @@ msgid "" "should no longer hang." msgstr "" -#: ../NEWS:3182 +#: ../NEWS:3272 msgid "" ":gh:`59000`: Fix :mod:`pdb` breakpoint resolution for class methods when the " "module defining the class is not imported." msgstr "" -#: ../NEWS:3185 +#: ../NEWS:3275 msgid "" ":gh:`141570`: Support :term:`file-like object` raising :exc:`OSError` from :" "meth:`~io.IOBase.fileno` in color detection (``_colorize.can_colorize()``). " "This can occur when ``sys.stdout`` is redirected." msgstr "" -#: ../NEWS:3190 +#: ../NEWS:3280 msgid "" ":gh:`141659`: Fix bad file descriptor errors from ``_posixsubprocess`` on " "AIX." msgstr "" -#: ../NEWS:3193 +#: ../NEWS:3283 msgid ":gh:`141600`: Fix musl version detection on Void Linux." msgstr "" -#: ../NEWS:3195 +#: ../NEWS:3285 msgid "" ":gh:`141497`: :mod:`ipaddress`: ensure that the methods :meth:`IPv4Network." "hosts() ` and :meth:`IPv6Network.hosts() " "` always return an iterator." msgstr "" -#: ../NEWS:3200 +#: ../NEWS:3290 msgid "" ":gh:`140938`: The :func:`statistics.stdev` and :func:`statistics.pstdev` " "functions now raise a :exc:`ValueError` when the input contains an infinity " "or a NaN." msgstr "" -#: ../NEWS:3204 +#: ../NEWS:3294 msgid "" ":gh:`124111`: Updated Tcl threading configuration in :mod:`_tkinter` to " "assume that threads are always available in Tcl 9 and later." msgstr "" -#: ../NEWS:3207 +#: ../NEWS:3297 msgid "" ":gh:`137109`: The :mod:`os.fork` and related forking APIs will no longer " "warn in the common case where Linux or macOS platform APIs return the number " @@ -5472,39 +5630,39 @@ msgid "" "register_at_fork` ``after_in_parent=`` callback (re)starts a thread." msgstr "" -#: ../NEWS:3213 +#: ../NEWS:3303 msgid "" ":gh:`141314`: Fix assertion failure in :meth:`io.TextIOWrapper.tell` when " "reading files with standalone carriage return (``\\r``) line endings." msgstr "" -#: ../NEWS:3216 +#: ../NEWS:3306 msgid "" ":gh:`141311`: Fix assertion failure in :func:`!io.BytesIO.readinto` and " "undefined behavior arising when read position is above capcity in :class:`io." "BytesIO`." msgstr "" -#: ../NEWS:3220 +#: ../NEWS:3310 msgid "" ":gh:`141141`: Fix a thread safety issue with :func:`base64.b85decode`. " "Contributed by Benel Tayar." msgstr "" -#: ../NEWS:3223 +#: ../NEWS:3313 msgid "" ":gh:`137969`: Fix :meth:`annotationlib.ForwardRef.evaluate` returning :class:" "`~annotationlib.ForwardRef` objects which don't update with new globals." msgstr "" -#: ../NEWS:3227 +#: ../NEWS:3317 msgid "" ":gh:`140911`: :mod:`collections`: Ensure that the methods ``UserString." "rindex()`` and ``UserString.index()`` accept :class:`collections.UserString` " "instances as the sub argument." msgstr "" -#: ../NEWS:3231 +#: ../NEWS:3321 msgid "" ":gh:`140797`: The undocumented :class:`!re.Scanner` class now forbids " "regular expressions containing capturing groups in its lexicon patterns. " @@ -5512,159 +5670,159 @@ msgid "" "segmentation fault. Use non-capturing groups (?:...) instead." msgstr "" -#: ../NEWS:3236 +#: ../NEWS:3326 msgid "" ":gh:`125115`: Refactor the :mod:`pdb` parsing issue so positional arguments " "can pass through intuitively." msgstr "" -#: ../NEWS:3239 +#: ../NEWS:3329 msgid "" ":gh:`140815`: :mod:`faulthandler` now detects if a frame or a code object is " "invalid or freed. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3242 +#: ../NEWS:3332 msgid "" ":gh:`100218`: Correctly set :attr:`~OSError.errno` when :func:`socket." "if_nametoindex` or :func:`socket.if_indextoname` raise an :exc:`OSError`. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3246 +#: ../NEWS:3336 msgid "" ":gh:`140875`: Fix handling of unclosed character references (named and " "numerical) followed by the end of file in :class:`html.parser.HTMLParser` " "with ``convert_charrefs=False``." msgstr "" -#: ../NEWS:3250 +#: ../NEWS:3340 msgid "" ":gh:`140734`: :mod:`multiprocessing`: fix off-by-one error when checking the " "length of a temporary socket file path. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3253 +#: ../NEWS:3343 msgid "" ":gh:`140874`: Bump the version of pip bundled in ensurepip to version 25.3" msgstr "" -#: ../NEWS:3255 +#: ../NEWS:3345 msgid "" ":gh:`140691`: In :mod:`urllib.request`, when opening a FTP URL fails because " "a data connection cannot be made, the control connection's socket is now " "closed to avoid a :exc:`ResourceWarning`." msgstr "" -#: ../NEWS:3259 +#: ../NEWS:3349 msgid "" ":gh:`103847`: Fix hang when cancelling process created by :func:`asyncio." "create_subprocess_exec` or :func:`asyncio.create_subprocess_shell`. Patch by " "Kumar Aditya." msgstr "" -#: ../NEWS:3263 +#: ../NEWS:3353 msgid ":gh:`120057`: Add :func:`os.reload_environ` to ``os.__all__``." msgstr "" -#: ../NEWS:3265 +#: ../NEWS:3355 msgid "" ":gh:`140228`: Avoid making unnecessary filesystem calls for frozen modules " "in :mod:`linecache` when the global module cache is not present." msgstr "" -#: ../NEWS:3268 +#: ../NEWS:3358 msgid "" ":gh:`140590`: Fix arguments checking for the :meth:`!functools.partial." "__setstate__` that may lead to internal state corruption and crash. Patch by " "Sergey Miryanov." msgstr "" -#: ../NEWS:3272 +#: ../NEWS:3362 msgid "" ":gh:`125434`: Display thread name in :mod:`faulthandler` on Windows. Patch " "by Victor Stinner." msgstr "" -#: ../NEWS:3275 +#: ../NEWS:3365 msgid "" ":gh:`140634`: Fix a reference counting bug in :meth:`!os.sched_param." "__reduce__`." msgstr "" -#: ../NEWS:3278 +#: ../NEWS:3368 msgid "" ":gh:`140633`: Ignore :exc:`AttributeError` when setting a module's " "``__file__`` attribute when loading an extension module packaged as Apple " "Framework." msgstr "" -#: ../NEWS:3282 +#: ../NEWS:3372 msgid "" ":gh:`140593`: :mod:`xml.parsers.expat`: Fix a memory leak that could affect " "users with :meth:`~xml.parsers.expat.xmlparser.ElementDeclHandler` set to a " "custom element declaration handler. Patch by Sebastian Pipping." msgstr "" -#: ../NEWS:3286 +#: ../NEWS:3376 msgid "" ":gh:`140607`: Inside :meth:`io.RawIOBase.read`, validate that the count of " "bytes returned by :meth:`io.RawIOBase.readinto` is valid (inside the " "provided buffer)." msgstr "" -#: ../NEWS:3290 +#: ../NEWS:3380 msgid "" ":gh:`138162`: Fix :class:`logging.LoggerAdapter` with ``merge_extra=True`` " "and without the *extra* argument." msgstr "" -#: ../NEWS:3293 +#: ../NEWS:3383 msgid "" ":gh:`138774`: :func:`ast.unparse` now generates full source code when " "handling :class:`ast.Interpolation` nodes that do not have a specified " "source." msgstr "" -#: ../NEWS:3297 +#: ../NEWS:3387 msgid "" ":gh:`140474`: Fix memory leak in :class:`array.array` when creating arrays " "from an empty :class:`str` and the ``u`` type code." msgstr "" -#: ../NEWS:3300 +#: ../NEWS:3390 msgid "" ":gh:`137530`: :mod:`dataclasses` Fix annotations for generated ``__init__`` " "methods by replacing the annotations that were in-line in the generated " "source code with ``__annotate__`` functions attached to the methods." msgstr "" -#: ../NEWS:3304 +#: ../NEWS:3394 msgid "" ":gh:`140348`: Fix regression in Python 3.14.0 where using the ``|`` operator " "on a :class:`typing.Union` object combined with an object that is not a type " "would raise an error." msgstr "" -#: ../NEWS:3308 +#: ../NEWS:3398 msgid "" ":gh:`140272`: Fix memory leak in the :meth:`!clear` method of the :mod:`dbm." "gnu` database." msgstr "" -#: ../NEWS:3311 +#: ../NEWS:3401 msgid "" ":gh:`140041`: Fix import of :mod:`ctypes` on Android and Cygwin when ABI " "flags are present." msgstr "" -#: ../NEWS:3314 +#: ../NEWS:3404 msgid "" ":gh:`140120`: Fixed a memory leak in :mod:`hmac` when it was using the hacl-" "star backend. Discovered by ``@ashm-dev`` using AddressSanitizer." msgstr "" -#: ../NEWS:3317 +#: ../NEWS:3407 msgid "" ":gh:`139905`: Add suggestion to error message for :class:`typing.Generic` " "subclasses when ``cls.__parameters__`` is missing due to a parent class " @@ -5672,38 +5830,38 @@ msgid "" "__init_subclass__>` in its ``__init_subclass__``." msgstr "" -#: ../NEWS:3322 +#: ../NEWS:3412 msgid "" ":gh:`139894`: Fix incorrect sharing of current task with the child process " "while forking in :mod:`asyncio`. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:3325 +#: ../NEWS:3415 msgid "" ":gh:`139845`: Fix to not print KeyboardInterrupt twice in default asyncio " "REPL." msgstr "" -#: ../NEWS:3328 +#: ../NEWS:3418 msgid "" ":gh:`139783`: Fix :func:`inspect.getsourcelines` for the case when a " "decorator is followed by a comment or an empty line." msgstr "" -#: ../NEWS:3331 +#: ../NEWS:3421 msgid "" ":gh:`139809`: Prevent premature colorization of subparser ``prog`` in :meth:" "`argparse.ArgumentParser.add_subparsers` to respect color environment " "variable changes after parser creation." msgstr "" -#: ../NEWS:3335 +#: ../NEWS:3425 msgid "" ":gh:`139736`: Fix excessive indentation in the default :mod:`argparse` :" "class:`!HelpFormatter`. Patch by Alexander Edland." msgstr "" -#: ../NEWS:3338 +#: ../NEWS:3428 msgid "" ":gh:`70765`: :mod:`http.server`: fix default handling of HTTP/0.9 requests " "in :class:`~http.server.BaseHTTPRequestHandler`. Previously, :meth:`!" @@ -5711,38 +5869,38 @@ msgid "" "request although those are not supported in HTTP/0.9. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3344 +#: ../NEWS:3434 msgid "" ":gh:`63161`: Fix :func:`tokenize.detect_encoding`. Support non-UTF-8 shebang " "and comments if non-UTF-8 encoding is specified. Detect decoding error for " "non-UTF-8 encoding. Detect null bytes in source code." msgstr "" -#: ../NEWS:3348 +#: ../NEWS:3438 msgid "" ":gh:`139391`: Fix an issue when, on non-Windows platforms, it was not " "possible to gracefully exit a ``python -m asyncio`` process suspended by " "Ctrl+Z and later resumed by :manpage:`fg` other than with :manpage:`kill`." msgstr "" -#: ../NEWS:3352 +#: ../NEWS:3442 msgid "" ":gh:`101828`: Fix ``'shift_jisx0213'``, ``'shift_jis_2004'``, " "``'euc_jisx0213'`` and ``'euc_jis_2004'`` codecs truncating null chars as " "they were treated as part of multi-character sequences." msgstr "" -#: ../NEWS:3356 +#: ../NEWS:3446 msgid "" ":gh:`139289`: Do a real lazy-import on :mod:`rlcompleter` in :mod:`pdb` and " "restore the existing completer after importing :mod:`rlcompleter`." msgstr "" -#: ../NEWS:3359 +#: ../NEWS:3449 msgid ":gh:`139246`: fix: paste zero-width in default repl width is wrong." msgstr "" -#: ../NEWS:3361 +#: ../NEWS:3451 msgid "" ":gh:`90949`: Add :meth:`~xml.parsers.expat.xmlparser." "SetAllocTrackerActivationThreshold` and :meth:`~xml.parsers.expat.xmlparser." @@ -5751,112 +5909,112 @@ msgid "" "memory usage from within an Expat parser. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3369 +#: ../NEWS:3459 msgid "" ":gh:`139210`: Fix use-after-free when reporting unknown event in :func:`xml." "etree.ElementTree.iterparse`. Patch by Ken Jin." msgstr "" -#: ../NEWS:3372 +#: ../NEWS:3462 msgid "" ":gh:`138860`: Lazy import :mod:`rlcompleter` in :mod:`pdb` to avoid deadlock " "in subprocess." msgstr "" -#: ../NEWS:3375 +#: ../NEWS:3465 msgid "" ":gh:`112729`: Fix crash when calling :func:`concurrent.interpreters.create` " "when the process is out of memory." msgstr "" -#: ../NEWS:3378 +#: ../NEWS:3468 msgid "" ":gh:`135729`: Fix unraisable exception during finalization when using :mod:" "`concurrent.interpreters` in the REPL." msgstr "" -#: ../NEWS:3381 +#: ../NEWS:3471 msgid "" ":gh:`139076`: Fix a bug in the :mod:`pydoc` module that was hiding functions " "in a Python module if they were implemented in an extension module and the " "module did not have ``__all__``." msgstr "" -#: ../NEWS:3385 +#: ../NEWS:3475 msgid "" ":gh:`139065`: Fix trailing space before a wrapped long word if the line " "length is exactly *width* in :mod:`textwrap`." msgstr "" -#: ../NEWS:3388 +#: ../NEWS:3478 msgid "" ":gh:`139001`: Fix race condition in :class:`pathlib.Path` on the internal " "``_raw_paths`` field." msgstr "" -#: ../NEWS:3391 +#: ../NEWS:3481 msgid "" ":gh:`138813`: :class:`!multiprocessing.BaseProcess` defaults ``kwargs`` to " "``None`` instead of a shared dictionary." msgstr "" -#: ../NEWS:3394 +#: ../NEWS:3484 msgid ":gh:`138993`: Dedent :data:`credits` text." msgstr "" -#: ../NEWS:3396 +#: ../NEWS:3486 msgid "" ":gh:`138891`: Fix ``SyntaxError`` when ``inspect.get_annotations(f, " "eval_str=True)`` is called on a function annotated with a :pep:`646` " "``star_expression``" msgstr "" -#: ../NEWS:3400 +#: ../NEWS:3490 msgid "" ":gh:`130567`: Fix possible crash in :func:`locale.strxfrm` due to a platform " "bug on macOS." msgstr "" -#: ../NEWS:3403 +#: ../NEWS:3493 msgid "" ":gh:`138859`: Fix generic type parameterization raising a :exc:`TypeError` " "when omitting a :class:`ParamSpec` that has a default which is not a list of " "types." msgstr "" -#: ../NEWS:3407 +#: ../NEWS:3497 msgid "" ":gh:`138764`: Prevent :func:`annotationlib.call_annotate_function` from " "calling ``__annotate__`` functions that don't support " "``VALUE_WITH_FAKE_GLOBALS`` in a fake globals namespace with empty globals." msgstr "" -#: ../NEWS:3412 +#: ../NEWS:3502 msgid "" "Make ``FORWARDREF`` and ``STRING`` annotations fall back to using ``VALUE`` " "annotations in the case that neither their own format, nor " "``VALUE_WITH_FAKE_GLOBALS`` are supported." msgstr "" -#: ../NEWS:3416 +#: ../NEWS:3506 msgid "" ":gh:`138775`: Use of ``python -m`` with :mod:`base64` has been fixed to " "detect input from a terminal so that it properly notices EOF." msgstr "" -#: ../NEWS:3419 +#: ../NEWS:3509 msgid "" ":gh:`138779`: Support device numbers larger than ``2**63-1`` for the :attr:" "`~os.stat_result.st_rdev` field of the :class:`os.stat_result` structure." msgstr "" -#: ../NEWS:3423 +#: ../NEWS:3513 msgid "" ":gh:`137706`: Fix the partial evaluation of annotations that use ``typing." "Annotated[T, x]`` where ``T`` is a forward reference." msgstr "" -#: ../NEWS:3426 +#: ../NEWS:3516 msgid "" ":gh:`88375`: Fix normalization of the ``robots.txt`` rules and URLs in the :" "mod:`urllib.robotparser` module. No longer ignore trailing ``?``. " @@ -5864,26 +6022,26 @@ msgid "" "encoded ones." msgstr "" -#: ../NEWS:3431 +#: ../NEWS:3521 msgid "" ":gh:`111788`: Fix parsing errors in the :mod:`urllib.robotparser` module. " "Don't fail trying to parse weird paths. Don't fail trying to decode non-" "UTF-8 ``robots.txt`` files." msgstr "" -#: ../NEWS:3435 +#: ../NEWS:3525 msgid "" ":gh:`98896`: Fix a failure in multiprocessing resource_tracker when " "SharedMemory names contain colons. Patch by Rani Pinchuk." msgstr "" -#: ../NEWS:3438 +#: ../NEWS:3528 msgid "" ":gh:`138425`: Fix partial evaluation of :class:`annotationlib.ForwardRef` " "objects which rely on names defined as globals." msgstr "" -#: ../NEWS:3441 +#: ../NEWS:3531 msgid "" ":gh:`138432`: :meth:`zoneinfo.reset_tzpath` will now convert any :class:`os." "PathLike` objects it receives into strings before adding them to ``TZPATH``. " @@ -5893,31 +6051,31 @@ msgid "" "and present a more informative error message." msgstr "" -#: ../NEWS:3448 +#: ../NEWS:3538 msgid "" ":gh:`138008`: Fix segmentation faults in the :mod:`ctypes` module due to " "invalid :attr:`~ctypes._CFuncPtr.argtypes`. Patch by Dung Nguyen." msgstr "" -#: ../NEWS:3451 +#: ../NEWS:3541 msgid "" ":gh:`60462`: Fix :func:`locale.strxfrm` on Solaris (and possibly other " "platforms)." msgstr "" -#: ../NEWS:3454 +#: ../NEWS:3544 msgid "" ":gh:`138239`: The REPL now highlights :keyword:`type` as a soft keyword in :" "ref:`type statements `." msgstr "" -#: ../NEWS:3457 +#: ../NEWS:3547 msgid "" ":gh:`138204`: Forbid expansion of shared anonymous :mod:`memory maps ` " "on Linux, which caused a bus error." msgstr "" -#: ../NEWS:3460 +#: ../NEWS:3550 msgid "" ":gh:`138010`: Fix an issue where defining a class with an :func:`@warnings." "deprecated `-decorated base class may not invoke the " @@ -5925,39 +6083,39 @@ msgid "" "inheritance. Patch by Brian Schubert." msgstr "" -#: ../NEWS:3465 +#: ../NEWS:3555 msgid "" ":gh:`138151`: In :mod:`annotationlib`, improve evaluation of forward " "references to nonlocal variables that are not yet defined when the " "annotations are initially evaluated." msgstr "" -#: ../NEWS:3469 +#: ../NEWS:3559 msgid "" ":gh:`137317`: :func:`inspect.signature` now correctly handles classes that " "use a descriptor on a wrapped :meth:`!__init__` or :meth:`!__new__` method. " "Contributed by Yongyu Yan." msgstr "" -#: ../NEWS:3473 +#: ../NEWS:3563 msgid "" ":gh:`137754`: Fix import of the :mod:`zoneinfo` module if the C " "implementation of the :mod:`datetime` module is not available." msgstr "" -#: ../NEWS:3476 +#: ../NEWS:3566 msgid "" ":gh:`137490`: Handle :data:`~errno.ECANCELED` in the same way as :data:" "`~errno.EINTR` in :func:`signal.sigwaitinfo` on NetBSD." msgstr "" -#: ../NEWS:3479 +#: ../NEWS:3569 msgid "" ":gh:`137477`: Fix :func:`!inspect.getblock`, :func:`inspect.getsourcelines` " "and :func:`inspect.getsource` for generator expressions." msgstr "" -#: ../NEWS:3482 +#: ../NEWS:3572 msgid "" ":gh:`137044`: Return large limit values as positive integers instead of " "negative integers in :func:`resource.getrlimit`. Accept large values and " @@ -5965,14 +6123,14 @@ msgid "" "in :func:`resource.setrlimit`." msgstr "" -#: ../NEWS:3487 +#: ../NEWS:3577 msgid "" ":gh:`75989`: :func:`tarfile.TarFile.extractall` and :func:`tarfile.TarFile." "extract` now overwrite symlinks when extracting hardlinks. (Contributed by " "Alexander Enrique Urieles Nieto in :gh:`75989`.)" msgstr "" -#: ../NEWS:3492 +#: ../NEWS:3582 msgid "" ":gh:`137017`: Fix :obj:`threading.Thread.is_alive` to remain ``True`` until " "the underlying OS thread is fully cleaned up. This avoids false negatives in " @@ -5980,92 +6138,92 @@ msgid "" "is_alive` calls." msgstr "" -#: ../NEWS:3497 +#: ../NEWS:3587 msgid "" ":gh:`137273`: Fix debug assertion failure in :func:`locale.setlocale` on " "Windows." msgstr "" -#: ../NEWS:3500 +#: ../NEWS:3590 msgid "" ":gh:`137239`: :mod:`heapq`: Update :data:`!heapq.__all__` with ``*_max`` " "functions." msgstr "" -#: ../NEWS:3503 +#: ../NEWS:3593 msgid "" ":gh:`81325`: :class:`tarfile.TarFile` now accepts a :term:`path-like ` when working on a tar archive. (Contributed by Alexander " "Enrique Urieles Nieto in :gh:`81325`.)" msgstr "" -#: ../NEWS:3507 +#: ../NEWS:3597 msgid "" ":gh:`137185`: Fix a potential async-signal-safety issue in :mod:" "`faulthandler` when printing C stack traces." msgstr "" -#: ../NEWS:3510 +#: ../NEWS:3600 msgid "" ":gh:`136914`: Fix retrieval of :attr:`doctest.DocTest.lineno` for objects " "decorated with :func:`functools.cache` or :class:`functools.cached_property`." msgstr "" -#: ../NEWS:3514 +#: ../NEWS:3604 msgid "" ":gh:`136912`: :func:`hmac.digest` now properly handles large keys and " "messages by falling back to the pure Python implementation when necessary. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3518 +#: ../NEWS:3608 msgid "" ":gh:`83424`: Allows creating a :class:`ctypes.CDLL` without name when " "passing a handle as an argument." msgstr "" -#: ../NEWS:3521 +#: ../NEWS:3611 msgid "" ":gh:`136234`: Fix :meth:`asyncio.WriteTransport.writelines` to be robust to " "connection failure, by using the same behavior as :meth:`~asyncio." "WriteTransport.write`." msgstr "" -#: ../NEWS:3525 +#: ../NEWS:3615 msgid ":gh:`136507`: Fix mimetypes CLI to handle multiple file parameters." msgstr "" -#: ../NEWS:3527 +#: ../NEWS:3617 msgid "" ":gh:`136057`: Fixed the bug in :mod:`pdb` and :mod:`bdb` where ``next`` and " "``step`` can't go over the line if a loop exists in the line." msgstr "" -#: ../NEWS:3530 +#: ../NEWS:3620 msgid "" ":gh:`135386`: Fix opening a :mod:`dbm.sqlite3` database for reading from " "read-only file or directory." msgstr "" -#: ../NEWS:3533 +#: ../NEWS:3623 msgid "" ":gh:`135444`: Fix :meth:`asyncio.DatagramTransport.sendto` to account for " "datagram header size when data cannot be sent." msgstr "" -#: ../NEWS:3536 +#: ../NEWS:3626 msgid "" ":gh:`126631`: Fix :mod:`multiprocessing` ``forkserver`` bug which prevented " "``__main__`` from being preloaded." msgstr "" -#: ../NEWS:3539 +#: ../NEWS:3629 msgid "" ":gh:`135307`: :mod:`email`: Fix exception in ``set_content()`` when encoding " "text and max_line_length is set to ``0`` or ``None`` (unlimited)." msgstr "" -#: ../NEWS:3542 +#: ../NEWS:3632 msgid "" ":gh:`134453`: Fixed :func:`subprocess.Popen.communicate` ``input=`` handling " "of :class:`memoryview` instances that were non-byte shaped on POSIX " @@ -6073,86 +6231,86 @@ msgid "" "truncating the input. Windows platforms did not have this bug." msgstr "" -#: ../NEWS:3547 +#: ../NEWS:3637 msgid "" ":gh:`134698`: Fix a crash when calling methods of :class:`ssl.SSLContext` " "or :class:`ssl.SSLSocket` across multiple threads." msgstr "" -#: ../NEWS:3550 +#: ../NEWS:3640 msgid "" ":gh:`125996`: Fix thread safety of :class:`collections.OrderedDict`. Patch " "by Kumar Aditya." msgstr "" -#: ../NEWS:3553 +#: ../NEWS:3643 msgid "" ":gh:`133789`: Fix unpickling of :mod:`pathlib` objects that were pickled in " "Python 3.13." msgstr "" -#: ../NEWS:3556 +#: ../NEWS:3646 msgid "" ":gh:`127081`: Fix libc thread safety issues with :mod:`dbm` by performing " "stateful operations in critical sections." msgstr "" -#: ../NEWS:3559 +#: ../NEWS:3649 msgid "" ":gh:`132551`: Make :class:`io.BytesIO` safe in :term:`free-threaded ` build." msgstr "" -#: ../NEWS:3562 +#: ../NEWS:3652 msgid "" ":gh:`131788`: Make ``ResourceTracker.send`` from :mod:`multiprocessing` re-" "entrant safe" msgstr "" -#: ../NEWS:3565 +#: ../NEWS:3655 msgid "" ":gh:`118981`: Fix potential hang in ``multiprocessing.popen_spawn_posix`` " "that can happen when the child proc dies early by closing the child fds " "right away." msgstr "" -#: ../NEWS:3569 +#: ../NEWS:3659 msgid "" ":gh:`102431`: Clarify constraints for \"logical\" arguments in methods of :" "class:`decimal.Context`." msgstr "" -#: ../NEWS:3572 +#: ../NEWS:3662 msgid "" ":gh:`78319`: UTF8 support for the IMAP APPEND command has been made RFC " "compliant." msgstr "" -#: ../NEWS:3575 +#: ../NEWS:3665 msgid "" ":issue:`38735`: Fix failure when importing a module from the root directory " "on unix-like platforms with sys.pycache_prefix set." msgstr "" -#: ../NEWS:3578 +#: ../NEWS:3668 msgid "" ":issue:`41839`: Allow negative priority values from :func:`os." "sched_get_priority_min` and :func:`os.sched_get_priority_max` functions." msgstr "" -#: ../NEWS:3585 +#: ../NEWS:3675 msgid "" ":gh:`96491`: Deduplicate version number in IDLE shell title bar after saving " "to a file." msgstr "" -#: ../NEWS:3588 +#: ../NEWS:3678 msgid "" ":gh:`139742`: Colorize t-string prefixes for template strings in IDLE, as " "done for f-string prefixes." msgstr "" -#: ../NEWS:3594 +#: ../NEWS:3684 msgid "" ":gh:`141994`: :mod:`xml.sax.handler`: Make Documentation of :data:`xml.sax." "handler.feature_external_ges` warn of opening up to `external entity attacks " @@ -6160,39 +6318,39 @@ msgid "" "Sebastian Pipping." msgstr "" -#: ../NEWS:3600 +#: ../NEWS:3690 msgid "" ":gh:`140578`: Remove outdated sencence in the documentation for :mod:" "`multiprocessing`, that implied that :class:`concurrent.futures." "ThreadPoolExecutor` did not exist." msgstr "" -#: ../NEWS:3607 +#: ../NEWS:3697 msgid "" ":gh:`142048`: Fix quadratically increasing garbage collection delays in free-" "threaded build." msgstr "" -#: ../NEWS:3613 +#: ../NEWS:3703 msgid "" ":gh:`116738`: Fix thread safety issue with :mod:`re` scanner objects in free-" "threaded builds." msgstr "" -#: ../NEWS:3619 +#: ../NEWS:3709 msgid "" ":gh:`141930`: When importing a module, use Python's regular file object to " "ensure that writes to ``.pyc`` files are complete or an appropriate error is " "raised." msgstr "" -#: ../NEWS:3623 +#: ../NEWS:3713 msgid "" ":gh:`120158`: Fix inconsistent state when enabling or disabling monitoring " "events too many times." msgstr "" -#: ../NEWS:3626 +#: ../NEWS:3716 msgid "" ":gh:`139653`: Only raise a ``RecursionError`` or trigger a fatal error if " "the stack pointer is both below the limit pointer *and* above the stack " @@ -6200,96 +6358,96 @@ msgid "" "positives when user-space threads swap stacks." msgstr "" -#: ../NEWS:3631 +#: ../NEWS:3721 msgid "" ":gh:`139103`: Improve multithreaded scaling of dataclasses on the free-" "threaded build." msgstr "" -#: ../NEWS:3634 +#: ../NEWS:3724 msgid "" ":gh:`141579`: Fix :func:`sys.activate_stack_trampoline` to properly support " "the ``perf_jit`` backend. Patch by Pablo Galindo." msgstr "" -#: ../NEWS:3637 +#: ../NEWS:3727 msgid "" ":gh:`114203`: Skip locking if object is already locked by two-mutex critical " "section." msgstr "" -#: ../NEWS:3640 +#: ../NEWS:3730 msgid "" ":gh:`141528`: Suggest using :meth:`concurrent.interpreters.Interpreter." "close` instead of the private ``_interpreters.destroy`` function when " "warning about remaining subinterpreters. Patch by Sergey Miryanov." msgstr "" -#: ../NEWS:3644 +#: ../NEWS:3734 msgid "" ":gh:`141312`: Fix the assertion failure in the ``__setstate__`` method of " "the range iterator when a non-integer argument is passed. Patch by Sergey " "Miryanov." msgstr "" -#: ../NEWS:3651 +#: ../NEWS:3741 msgid "" ":gh:`116738`: Make csv module thread-safe on the :term:`free threaded ` build." msgstr "" -#: ../NEWS:3657 +#: ../NEWS:3747 msgid "" ":gh:`140939`: Fix memory leak when :class:`bytearray` or :class:`bytes` is " "formated with the ``%*b`` format with a large width that results in a :exc:" "`MemoryError`." msgstr "" -#: ../NEWS:3664 +#: ../NEWS:3754 msgid "" ":gh:`140260`: Fix :mod:`struct` data race in endian table initialization " "with subinterpreters. Patch by Shamil Abdulaev." msgstr "" -#: ../NEWS:3670 +#: ../NEWS:3760 msgid "" ":gh:`140530`: Fix a reference leak when ``raise exc from cause`` fails. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3673 +#: ../NEWS:3763 msgid "" ":gh:`140373`: Correctly emit ``PY_UNWIND`` event when generator object is " "closed. Patch by Mikhail Efimov." msgstr "" -#: ../NEWS:3676 +#: ../NEWS:3766 msgid "" ":gh:`140576`: Fixed crash in :func:`tokenize.generate_tokens` in case of " "specific incorrect input. Patch by Mikhail Efimov." msgstr "" -#: ../NEWS:3679 +#: ../NEWS:3769 msgid "" ":gh:`140551`: Fixed crash in :class:`dict` if :meth:`dict.clear` is called " "at the lookup stage. Patch by Mikhail Efimov and Inada Naoki." msgstr "" -#: ../NEWS:3682 +#: ../NEWS:3772 msgid "" ":gh:`140517`: Fixed a reference leak when iterating over the result of :func:" "`map` with ``strict=True`` when the input iterables have different lengths. " "Patch by Mikhail Efimov." msgstr "" -#: ../NEWS:3686 +#: ../NEWS:3776 msgid "" ":gh:`140471`: Fix potential buffer overflow in :class:`ast.AST` node " "initialization when encountering malformed :attr:`~ast.AST._fields` " "containing non-:class:`str`." msgstr "" -#: ../NEWS:3690 +#: ../NEWS:3780 msgid "" ":gh:`140431`: Fix a crash in Python's :term:`garbage collector ` due to partially initialized :term:`coroutine` objects when " @@ -6297,7 +6455,7 @@ msgid "" "set_coroutine_origin_tracking_depth`)." msgstr "" -#: ../NEWS:3698 +#: ../NEWS:3788 msgid "" ":gh:`140398`: Fix memory leaks in :mod:`readline` functions :func:`~readline." "read_init_file`, :func:`~readline.read_history_file`, :func:`~readline." @@ -6305,13 +6463,13 @@ msgid "" "`PySys_Audit` fails." msgstr "" -#: ../NEWS:3706 +#: ../NEWS:3796 msgid "" ":gh:`140406`: Fix memory leak when an object's :meth:`~object.__hash__` " "method returns an object that isn't an :class:`int`." msgstr "" -#: ../NEWS:3709 +#: ../NEWS:3799 msgid "" ":gh:`140358`: Restore elapsed time and unreachable object count in GC debug " "output. These were inadvertently removed during a refactor of ``gc.c``. The " @@ -6319,58 +6477,58 @@ msgid "" "unreachable objects. Contributed by Pål Grønås Drange." msgstr "" -#: ../NEWS:3714 +#: ../NEWS:3804 msgid "" ":gh:`140306`: Fix memory leaks in cross-interpreter channel operations and " "shared namespace handling." msgstr "" -#: ../NEWS:3717 +#: ../NEWS:3807 msgid ":gh:`140301`: Fix memory leak of ``PyConfig`` in subinterpreters." msgstr "" -#: ../NEWS:3719 +#: ../NEWS:3809 msgid "" ":gh:`140257`: Fix data race between interpreter_clear() and take_gil() on " "eval_breaker during finalization with daemon threads." msgstr "" -#: ../NEWS:3722 +#: ../NEWS:3812 msgid "" ":gh:`139951`: Fixes a regression in GC performance for a growing heap " "composed mostly of small tuples." msgstr "" -#: ../NEWS:3725 +#: ../NEWS:3815 msgid "" "Counts number of actually tracked objects, instead of trackable objects. " "This ensures that untracking tuples has the desired effect of reducing GC " "overhead." msgstr "" -#: ../NEWS:3727 +#: ../NEWS:3817 msgid "" "Does not track most untrackable tuples during creation. This prevents large " "numbers of small tuples causing excessive GCs." msgstr "" -#: ../NEWS:3730 +#: ../NEWS:3820 msgid "" ":gh:`140104`: Fix a bug with exception handling in the JIT. Patch by Ken " "Jin. Bug reported by Daniel Diniz." msgstr "" -#: ../NEWS:3733 +#: ../NEWS:3823 msgid "" ":gh:`140061`: Fixing the checking of whether an object is uniquely " "referenced to ensure free-threaded compatibility. Patch by Sergey Miryanov." msgstr "" -#: ../NEWS:3736 +#: ../NEWS:3826 msgid ":gh:`140067`: Fix memory leak in sub-interpreter creation." msgstr "" -#: ../NEWS:3738 +#: ../NEWS:3828 msgid "" ":gh:`140000`: Fix potential memory leak when a reference cycle exists " "between an instance of :class:`typing.TypeAliasType`, :class:`typing." @@ -6378,46 +6536,46 @@ msgid "" "``__name__`` attribute. Patch by Mikhail Efimov." msgstr "" -#: ../NEWS:3743 +#: ../NEWS:3833 msgid "" ":gh:`139914`: Restore support for HP PA-RISC, which has an upwards-growing " "stack." msgstr "" -#: ../NEWS:3746 +#: ../NEWS:3836 msgid "" ":gh:`139988`: Fix a memory leak when failing to create a :class:`~typing." "Union` type. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:3749 +#: ../NEWS:3839 msgid "" ":gh:`139748`: Fix reference leaks in error branches of functions accepting " "path strings or bytes such as :func:`compile` and :func:`os.system`. Patch " "by Bénédikt Tran." msgstr "" -#: ../NEWS:3753 +#: ../NEWS:3843 msgid "" ":gh:`139516`: Fix lambda colon erroneously start format spec in f-string in " "tokenizer." msgstr "" -#: ../NEWS:3756 +#: ../NEWS:3846 msgid "" ":gh:`139640`: :func:`ast.parse` no longer emits syntax warnings for " "``return``/``break``/``continue`` in ``finally`` (see :pep:`765`) -- they " "are only emitted during compilation." msgstr "" -#: ../NEWS:3760 +#: ../NEWS:3850 msgid "" ":gh:`139640`: Fix swallowing some syntax warnings in different modules if " "they accidentally have the same message and are emitted from the same line. " "Fix duplicated warnings in the ``finally`` block." msgstr "" -#: ../NEWS:3764 +#: ../NEWS:3854 msgid "" ":gh:`63161`: Support non-UTF-8 shebang and comments in Python source files " "if non-UTF-8 encoding is specified. Detect decoding error in comments for " @@ -6426,65 +6584,65 @@ msgid "" "when it conflicts with the BOM in a traceback." msgstr "" -#: ../NEWS:3773 +#: ../NEWS:3863 msgid "" ":gh:`116738`: Make :mod:`mmap` thread-safe on the :term:`free threaded ` build." msgstr "" -#: ../NEWS:3779 +#: ../NEWS:3869 msgid "" ":gh:`138558`: Fix handling of unusual t-string annotations in annotationlib. " "Patch by Dave Peck." msgstr "" -#: ../NEWS:3782 +#: ../NEWS:3872 msgid "" ":gh:`134466`: Don't run PyREPL in a degraded environment where setting " "termios attributes is not allowed." msgstr "" -#: ../NEWS:3785 +#: ../NEWS:3875 msgid "" ":gh:`138944`: Fix :exc:`SyntaxError` message when invalid syntax appears on " "the same line as a valid ``import ... as ...`` or ``from ... import ... " "as ...`` statement. Patch by Brian Schubert." msgstr "" -#: ../NEWS:3789 +#: ../NEWS:3879 msgid "" ":gh:`105487`: Remove non-existent :meth:`~object.__copy__`, :meth:`~object." "__deepcopy__`, and :attr:`~type.__bases__` from the :meth:`~object.__dir__` " "entries of :class:`types.GenericAlias`." msgstr "" -#: ../NEWS:3793 +#: ../NEWS:3883 msgid "" ":gh:`69605`: Fix some standard library submodules missing from the :term:" "`REPL` auto-completion of imports." msgstr "" -#: ../NEWS:3799 +#: ../NEWS:3889 msgid "" ":gh:`116738`: Make :mod:`cProfile` thread-safe on the :term:`free threaded " "` build." msgstr "" -#: ../NEWS:3802 +#: ../NEWS:3892 msgid "" ":gh:`138004`: On Solaris/Illumos platforms, thread names are now encoded as " "ASCII to avoid errors on systems (e.g. OpenIndiana) that don't support non-" "ASCII names." msgstr "" -#: ../NEWS:3809 +#: ../NEWS:3899 msgid "" ":gh:`137433`: Fix a potential deadlock in the :term:`free threading` build " "when daemon threads enable or disable profiling or tracing while the main " "thread is shutting down the interpreter." msgstr "" -#: ../NEWS:3813 ../NEWS:4119 +#: ../NEWS:3903 ../NEWS:4209 msgid "" ":gh:`137400`: Fix a crash in the :term:`free threading` build when disabling " "profiling or tracing across all threads with :c:func:" @@ -6493,31 +6651,31 @@ msgid "" "`threading.setprofile_all_threads`." msgstr "" -#: ../NEWS:3820 +#: ../NEWS:3910 msgid "" ":gh:`58124`: Fix name of the Python encoding in Unicode errors of the code " "page codec: use \"cp65000\" and \"cp65001\" instead of \"CP_UTF7\" and " "\"CP_UTF8\" which are not valid Python code names. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3824 +#: ../NEWS:3914 msgid "" ":gh:`132657`: Improve performance of :class:`frozenset` by removing locks in " "the free-threading build." msgstr "" -#: ../NEWS:3827 +#: ../NEWS:3917 msgid "" ":gh:`133400`: Fixed Ctrl+D (^D) behavior in _pyrepl module to match old " "pre-3.13 REPL behavior." msgstr "" -#: ../NEWS:3830 +#: ../NEWS:3920 msgid "" ":gh:`128640`: Fix a crash when using threads inside of a subinterpreter." msgstr "" -#: ../NEWS:3835 +#: ../NEWS:3925 msgid "" ":gh:`137422`: Fix :term:`free threading` race condition in :c:func:" "`PyImport_AddModuleRef`. It was previously possible for two calls to the " @@ -6525,13 +6683,13 @@ msgid "" "`sys.modules`." msgstr "" -#: ../NEWS:3840 +#: ../NEWS:3930 msgid "" ":gh:`140042`: Removed the sqlite3_shutdown call that could cause closing " "connections for sqlite when used with multiple sub interpreters." msgstr "" -#: ../NEWS:3843 +#: ../NEWS:3933 msgid "" ":gh:`141042`: Make qNaN in :c:func:`PyFloat_Pack2` and :c:func:" "`PyFloat_Pack4`, if while conversion to a narrower precision floating-point " @@ -6539,20 +6697,20 @@ msgid "" "Sergey B Kirpichev." msgstr "" -#: ../NEWS:3848 +#: ../NEWS:3938 msgid "" ":gh:`140487`: Fix :c:macro:`Py_RETURN_NOTIMPLEMENTED` in limited C API 3.11 " "and older: don't treat ``Py_NotImplemented`` as immortal. Patch by Victor " "Stinner." msgstr "" -#: ../NEWS:3852 +#: ../NEWS:3942 msgid "" ":gh:`140153`: Fix :c:func:`Py_REFCNT` definition on limited C API 3.11-3.13. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:3855 +#: ../NEWS:3945 msgid "" ":gh:`139653`: Add :c:func:`PyUnstable_ThreadState_SetStackProtection` and :c:" "func:`PyUnstable_ThreadState_ResetStackProtection` functions to set the " @@ -6560,13 +6718,13 @@ msgid "" "state. Patch by Victor Stinner." msgstr "" -#: ../NEWS:3863 +#: ../NEWS:3953 msgid "" ":gh:`141808`: Do not generate the jit stencils twice in case of PGO builds " "on Windows." msgstr "" -#: ../NEWS:3866 +#: ../NEWS:3956 msgid "" ":gh:`141784`: Fix ``_remote_debugging_module.c`` compilation on 32-bit " "Linux. Include Python.h before system headers to make sure that " @@ -6574,85 +6732,85 @@ msgid "" "by Victor Stinner." msgstr "" -#: ../NEWS:3871 +#: ../NEWS:3961 msgid "" ":gh:`140768`: Warn when the WASI SDK version doesn't match what's supported." msgstr "" -#: ../NEWS:3873 +#: ../NEWS:3963 msgid "" ":gh:`140513`: Generate a clear compilation error when " "``_Py_TAIL_CALL_INTERP`` is enabled but either ``preserve_none`` or " "``musttail`` is not supported." msgstr "" -#: ../NEWS:3877 +#: ../NEWS:3967 msgid ":gh:`140189`: iOS builds were added to CI." msgstr "" -#: ../NEWS:3879 +#: ../NEWS:3969 msgid "" ":gh:`138489`: When cross-compiling for WASI by ``build_wasm`` or " "``build_emscripten``, the ``build-details.json`` step is now included in the " "build process, just like with native builds." msgstr "" -#: ../NEWS:3883 +#: ../NEWS:3973 msgid "" "This fixes the ``libinstall`` task which requires the ``build-details.json`` " "file during the process." msgstr "" -#: ../NEWS:3886 +#: ../NEWS:3976 msgid "" ":gh:`137618`: ``PYTHON_FOR_REGEN`` now requires Python 3.10 to Python 3.15. " "Patch by Adam Turner." msgstr "" -#: ../NEWS:3889 +#: ../NEWS:3979 msgid "" ":gh:`123681`: Check the ``strftime()`` behavior at runtime instead of at the " "compile time to support cross-compiling. Remove the internal macro " "``_Py_NORMALIZE_CENTURY``." msgstr "" -#: ../NEWS:3895 +#: ../NEWS:3985 msgid "Python 3.14.0 final" msgstr "" -#: ../NEWS:3897 +#: ../NEWS:3987 msgid "*Release date: 2025-10-07*" msgstr "" -#: ../NEWS:3902 +#: ../NEWS:3992 msgid ":gh:`124111`: Update macOS installer to use Tcl/Tk 8.6.17." msgstr "" -#: ../NEWS:3904 ../NEWS:3909 +#: ../NEWS:3994 ../NEWS:3999 msgid ":gh:`139573`: Updated bundled version of OpenSSL to 3.0.18." msgstr "" -#: ../NEWS:3914 +#: ../NEWS:4004 msgid "" ":gh:`139330`: SBOM generation tool didn't cross-check the version and " "checksum values against the ``Modules/expat/refresh.sh`` script, leading to " "the values becoming out-of-date during routine updates." msgstr "" -#: ../NEWS:3918 +#: ../NEWS:4008 msgid "" ":gh:`132006`: XCframeworks now include privacy manifests to satisfy Apple " "App Store submission requirements." msgstr "" -#: ../NEWS:3921 +#: ../NEWS:4011 msgid "" ":gh:`138171`: A script for building an iOS XCframework was added. As part of " "this change, the top level ``iOS`` folder has been moved to be a " "subdirectory of the ``Apple`` folder." msgstr "" -#: ../NEWS:3928 +#: ../NEWS:4018 msgid "" ":gh:`139400`: :mod:`xml.parsers.expat`: Make sure that parent Expat parsers " "are only garbage-collected once they are no longer referenced by subparsers " @@ -6660,31 +6818,31 @@ msgid "" "Patch by Sebastian Pipping." msgstr "" -#: ../NEWS:3937 +#: ../NEWS:4027 msgid ":gh:`139312`: Upgrade bundled libexpat to 2.7.3" msgstr "" -#: ../NEWS:3941 +#: ../NEWS:4031 msgid "Python 3.14.0 release candidate 3" msgstr "" -#: ../NEWS:3943 +#: ../NEWS:4033 msgid "*Release date: 2025-09-18*" msgstr "" -#: ../NEWS:3948 +#: ../NEWS:4038 msgid "" ":gh:`138896`: Fix error installing C runtime on non-updated Windows machines" msgstr "" -#: ../NEWS:3953 +#: ../NEWS:4043 msgid "" ":gh:`137873`: The iOS test runner has been simplified, resolving some issues " "that have been observed using the runner in GitHub Actions and Azure " "Pipelines test environments." msgstr "" -#: ../NEWS:3960 +#: ../NEWS:4050 msgid "" ":gh:`135661`: Fix CDATA section parsing in :class:`html.parser.HTMLParser` " "according to the HTML5 standard: ``] ]>`` and ``]] >`` no longer end the " @@ -6693,11 +6851,11 @@ msgid "" "content (SVG or MathML) or as a bogus comment in the HTML namespace." msgstr "" -#: ../NEWS:3970 +#: ../NEWS:4060 msgid ":gh:`138998`: Update bundled libexpat to 2.7.2" msgstr "" -#: ../NEWS:3972 +#: ../NEWS:4062 msgid "" ":gh:`118803`: Add back :class:`collections.abc.ByteString` and :class:" "`typing.ByteString`. Both had been removed in prior alpha, beta and release " @@ -6705,67 +6863,67 @@ msgid "" "Python 3.17." msgstr "" -#: ../NEWS:3977 +#: ../NEWS:4067 msgid "" ":gh:`137226`: Fix :func:`typing.get_type_hints` calls on generic :class:" "`typing.TypedDict` classes defined with string annotations." msgstr "" -#: ../NEWS:3980 +#: ../NEWS:4070 msgid "" ":gh:`138804`: Raise :exc:`TypeError` instead of :exc:`AttributeError` when " "an argument of incorrect type is passed to :func:`shlex.quote`. This " "restores the behavior of the function prior to 3.14." msgstr "" -#: ../NEWS:3984 +#: ../NEWS:4074 msgid "" ":gh:`128636`: Fix crash in PyREPL when os.environ is overwritten with an " "invalid value for mac" msgstr "" -#: ../NEWS:3987 +#: ../NEWS:4077 msgid "" ":gh:`138514`: Raise :exc:`ValueError` when a multi-character string is " "passed to the *echo_char* parameter of :func:`getpass.getpass`. Patch by " "Benjamin Johnson." msgstr "" -#: ../NEWS:3991 +#: ../NEWS:4081 msgid ":gh:`138515`: :mod:`email` is added to Emscripten build." msgstr "" -#: ../NEWS:3993 +#: ../NEWS:4083 msgid "" ":gh:`99948`: :func:`ctypes.util.find_library` now works in Emscripten build." msgstr "" -#: ../NEWS:3995 +#: ../NEWS:4085 msgid "" ":gh:`138253`: Add the *block* parameter in the :meth:`!put` and :meth:`!get` " "methods of the :mod:`concurrent.interpreters` queues for compatibility with " "the :class:`queue.Queue` interface." msgstr "" -#: ../NEWS:3999 +#: ../NEWS:4089 msgid "" ":gh:`138133`: Prevent infinite traceback loop when sending CTRL^C to Python " "through ``strace``." msgstr "" -#: ../NEWS:4002 +#: ../NEWS:4092 msgid "" ":gh:`134869`: Fix an issue where pressing Ctrl+C during tab completion in " "the REPL would leave the autocompletion menu in a corrupted state." msgstr "" -#: ../NEWS:4005 +#: ../NEWS:4095 msgid "" ":gh:`90548`: Fix ``musl`` detection for :func:`platform.libc_ver` on Alpine " "Linux if compiled with --strip-all." msgstr "" -#: ../NEWS:4008 +#: ../NEWS:4098 msgid "" ":gh:`136134`: :meth:`!SMTP.auth_cram_md5` now raises an :exc:`~smtplib." "SMTPException` instead of a :exc:`ValueError` if Python has been built " @@ -6774,157 +6932,157 @@ msgid "" "it. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4014 +#: ../NEWS:4104 msgid "" ":gh:`136134`: :meth:`IMAP4.login_cram_md5 ` " "now raises an :exc:`IMAP4.error ` if CRAM-MD5 " "authentication is not supported. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4018 +#: ../NEWS:4108 msgid "" ":gh:`134953`: Expand ``_colorize`` theme with ``keyword_constant`` and " "implement in :term:`repl`." msgstr "" -#: ../NEWS:4024 +#: ../NEWS:4114 msgid "" ":gh:`71810`: Raise :exc:`OverflowError` for ``(-1).to_bytes()`` for signed " "conversions when bytes count is zero. Patch by Sergey B Kirpichev." msgstr "" -#: ../NEWS:4027 +#: ../NEWS:4117 msgid "" ":gh:`138192`: Fix :mod:`contextvars` initialization so that all " "subinterpreters are assigned the :attr:`~contextvars.Token.MISSING` value." msgstr "" -#: ../NEWS:4030 +#: ../NEWS:4120 msgid "" ":gh:`138479`: Fix a crash when a generic object's ``__typing_subst__`` " "returns an object that isn't a :class:`tuple`." msgstr "" -#: ../NEWS:4033 +#: ../NEWS:4123 msgid "" ":gh:`138372`: Fix :exc:`SyntaxWarning` emitted for erroneous subscript " "expressions involving :ref:`template string literals `. Patch by " "Brian Schubert." msgstr "" -#: ../NEWS:4037 +#: ../NEWS:4127 msgid "" ":gh:`138318`: The default REPL now avoids highlighting built-in names (for " "instance :class:`set` or :func:`format`) when they are used as attribute " "names (for instance in ``value.set`` or ``text.format``)." msgstr "" -#: ../NEWS:4041 +#: ../NEWS:4131 msgid "" ":gh:`138349`: Fix crash in certain cases where a module contains both a " "module-level annotation and a comprehension." msgstr "" -#: ../NEWS:4044 +#: ../NEWS:4134 msgid "" ":gh:`137384`: Fix a crash when using the :mod:`warnings` module in a " "finalizer at shutdown. Patch by Kumar Aditya." msgstr "" -#: ../NEWS:4047 +#: ../NEWS:4137 msgid "" ":gh:`137883`: Fix runaway recursion when calling a function with keyword " "arguments." msgstr "" -#: ../NEWS:4050 +#: ../NEWS:4140 msgid "" ":gh:`137079`: Fix keyword typo recognition when parsing files. Patch by " "Pablo Galindo." msgstr "" -#: ../NEWS:4053 +#: ../NEWS:4143 msgid "" ":gh:`137728`: Fix the JIT's handling of many local variables. This " "previously caused a segfault." msgstr "" -#: ../NEWS:4056 +#: ../NEWS:4146 msgid "" ":gh:`137576`: Fix for incorrect source code being shown in tracebacks from " "the Basic REPL when :envvar:`PYTHONSTARTUP` is given. Patch by Adam Hartz." msgstr "" -#: ../NEWS:4061 +#: ../NEWS:4151 msgid "Python 3.14.0 release candidate 2" msgstr "" -#: ../NEWS:4063 +#: ../NEWS:4153 msgid "*Release date: 2025-08-14*" msgstr "" -#: ../NEWS:4068 +#: ../NEWS:4158 msgid "" ":gh:`137450`: macOS installer shell path management improvements: separate " "the installer ``Shell profile updater`` postinstall script from the ``Update " "Shell Profile.command`` to enable more robust error handling." msgstr "" -#: ../NEWS:4072 +#: ../NEWS:4162 msgid "" ":gh:`137134`: Update macOS installer to ship with SQLite version 3.50.4." msgstr "" -#: ../NEWS:4077 +#: ../NEWS:4167 msgid ":gh:`137134`: Update Windows installer to ship with SQLite 3.50.4." msgstr "" -#: ../NEWS:4082 +#: ../NEWS:4172 msgid "" ":gh:`137426`: Remove the code deprecation of ``importlib.abc." "ResourceLoader``. It is documented as deprecated, but left for backwards " "compatibility with other classes in ``importlib.abc``." msgstr "" -#: ../NEWS:4086 +#: ../NEWS:4176 msgid "" ":gh:`137282`: Fix tab completion and :func:`dir` on :mod:`concurrent." "futures`." msgstr "" -#: ../NEWS:4089 +#: ../NEWS:4179 msgid "" ":gh:`137257`: Bump the version of pip bundled in ensurepip to version 25.2" msgstr "" -#: ../NEWS:4091 +#: ../NEWS:4181 msgid "" ":gh:`137226`: Fix behavior of :meth:`annotationlib.ForwardRef.evaluate` when " "the *type_params* parameter is passed and the name of a type param is also " "present in an enclosing scope." msgstr "" -#: ../NEWS:4095 +#: ../NEWS:4185 msgid "" ":gh:`130522`: Fix unraisable :exc:`TypeError` raised during :term:" "`interpreter shutdown` in the :mod:`threading` module." msgstr "" -#: ../NEWS:4098 +#: ../NEWS:4188 msgid "" ":gh:`137059`: Fix handling of file URLs with a Windows drive letter in the " "URL authority by :func:`urllib.request.url2pathname`. This fixes a " "regression in earlier pre-releases of Python 3.14." msgstr "" -#: ../NEWS:4102 +#: ../NEWS:4192 msgid "" ":gh:`130577`: :mod:`tarfile` now validates archives to ensure member offsets " "are non-negative. (Contributed by Alexander Enrique Urieles Nieto in :gh:" "`130577`.)" msgstr "" -#: ../NEWS:4106 +#: ../NEWS:4196 msgid "" ":gh:`135228`: When :mod:`dataclasses` replaces a class with a slotted " "dataclass, the original class can now be garbage collected again. Earlier " @@ -6932,12 +7090,12 @@ msgid "" "together with the replacement class synthesized by :mod:`dataclasses`." msgstr "" -#: ../NEWS:4114 +#: ../NEWS:4204 msgid "" ":gh:`136155`: We are now checking for fatal errors in EPUB builds in CI." msgstr "" -#: ../NEWS:4126 +#: ../NEWS:4216 msgid "" ":gh:`137314`: Fixed a regression where raw f-strings incorrectly interpreted " "escape sequences in format specifications. Raw f-strings now properly " @@ -6946,74 +7104,74 @@ msgid "" "\\xFF'`` instead of ``'ÿ'``. Patch by Pablo Galindo." msgstr "" -#: ../NEWS:4132 +#: ../NEWS:4222 msgid "" ":gh:`137308`: A standalone docstring in a node body is optimized as a :" "keyword:`pass` statement to ensure that the node's body is never empty. " "There was a :exc:`ValueError` in :func:`compile` otherwise." msgstr "" -#: ../NEWS:4136 +#: ../NEWS:4226 msgid "" ":gh:`137288`: Fix bug where some bytecode instructions of a boolean " "expression are not associated with the correct exception handler." msgstr "" -#: ../NEWS:4139 +#: ../NEWS:4229 msgid "" ":gh:`134291`: Remove some newer macOS API usage from the JIT compiler in " "order to restore compatibility with older OSX 10.15 deployment targets." msgstr "" -#: ../NEWS:4142 +#: ../NEWS:4232 msgid "" ":gh:`131338`: Disable computed stack limit checks on non-glibc linux " "platforms to fix crashes on deep recursion." msgstr "" -#: ../NEWS:4145 +#: ../NEWS:4235 msgid "" ":gh:`136870`: Fix data races while de-instrumenting bytecode of code objects " "running concurrently in threads." msgstr "" -#: ../NEWS:4151 +#: ../NEWS:4241 msgid "" ":gh:`137573`: Mark ``_PyOptimizer_Optimize`` as :c:macro:`Py_NO_INLINE` to " "prevent stack overflow crashes on macOS." msgstr "" -#: ../NEWS:4157 +#: ../NEWS:4247 msgid ":gh:`132339`: Add support for OpenSSL 3.5." msgstr "" -#: ../NEWS:4161 +#: ../NEWS:4251 msgid "Python 3.14.0 release candidate 1" msgstr "" -#: ../NEWS:4163 +#: ../NEWS:4253 msgid "*Release date: 2025-07-22*" msgstr "" -#: ../NEWS:4168 +#: ../NEWS:4258 msgid "" ":gh:`136251`: Fixes and usability improvements for ``Tools/wasm/emscripten/" "web_example``" msgstr "" -#: ../NEWS:4174 +#: ../NEWS:4264 msgid "" ":gh:`135661`: Fix parsing attributes with whitespaces around the ``=`` " "separator in :class:`html.parser.HTMLParser` according to the HTML5 standard." msgstr "" -#: ../NEWS:4178 +#: ../NEWS:4268 msgid "" ":gh:`118350`: Fix support of escapable raw text mode (elements \"textarea\" " "and \"title\") in :class:`html.parser.HTMLParser`." msgstr "" -#: ../NEWS:4184 +#: ../NEWS:4274 msgid "" ":gh:`136170`: Removed the unreleased ``zipfile.ZipFile.data_offset`` " "property added in 3.14.0a7 as it wasn't fully clear which behavior it should " @@ -7021,85 +7179,85 @@ msgid "" "expect." msgstr "" -#: ../NEWS:4188 +#: ../NEWS:4278 msgid ":gh:`124621`: pyrepl now works in Emscripten." msgstr "" -#: ../NEWS:4190 +#: ../NEWS:4280 msgid "" ":gh:`136874`: Discard URL query and fragment in :func:`urllib.request." "url2pathname`." msgstr "" -#: ../NEWS:4193 +#: ../NEWS:4283 msgid ":gh:`130645`: Enable color help by default in :mod:`argparse`." msgstr "" -#: ../NEWS:4195 +#: ../NEWS:4285 msgid ":gh:`136549`: Fix signature of :func:`threading.excepthook`." msgstr "" -#: ../NEWS:4197 +#: ../NEWS:4287 msgid "" ":gh:`136523`: Fix :class:`wave.Wave_write` emitting an unraisable when open " "raises." msgstr "" -#: ../NEWS:4200 +#: ../NEWS:4290 msgid "" ":gh:`52876`: Add missing ``keepends`` (default ``True``) parameter to :meth:" "`!codecs.StreamReaderWriter.readline` and :meth:`!codecs.StreamReaderWriter." "readlines`." msgstr "" -#: ../NEWS:4204 +#: ../NEWS:4294 msgid "" ":gh:`136470`: Correct :class:`concurrent.futures.InterpreterPoolExecutor`'s " "default thread name." msgstr "" -#: ../NEWS:4207 +#: ../NEWS:4297 msgid "" ":gh:`136476`: Fix a bug that was causing the ``get_async_stack_trace`` " "function to miss some frames in the stack trace." msgstr "" -#: ../NEWS:4210 +#: ../NEWS:4300 msgid "" ":gh:`136434`: Fix docs generation of ``UnboundItem`` in :mod:`concurrent." "interpreters` when running with :option:`-OO`." msgstr "" -#: ../NEWS:4213 +#: ../NEWS:4303 msgid "" ":gh:`136380`: Raises :exc:`AttributeError` when accessing :class:`concurrent." "futures.InterpreterPoolExecutor` and subinterpreters are not available." msgstr "" -#: ../NEWS:4217 +#: ../NEWS:4307 msgid "" ":gh:`134759`: Fix :exc:`UnboundLocalError` in :func:`email.message.Message." "get_payload` when the payload to decode is a :class:`bytes` object. Patch by " "Kliment Lamonov." msgstr "" -#: ../NEWS:4221 +#: ../NEWS:4311 msgid "" ":gh:`134657`: :mod:`asyncio`: Remove some private names from ``asyncio." "__all__``." msgstr "" -#: ../NEWS:4227 +#: ../NEWS:4317 msgid "" ":gh:`136801`: Fix PyREPL syntax highlighting on match cases after multi-line " "case. Contributed by Olga Matoula." msgstr "" -#: ../NEWS:4233 +#: ../NEWS:4323 msgid ":gh:`136421`: Fix crash when initializing :mod:`datetime` concurrently." msgstr "" -#: ../NEWS:4238 +#: ../NEWS:4328 msgid "" ":gh:`136541`: Fix some issues with the perf trampolines on x86-64 and " "aarch64. The trampolines were not being generated correctly for some cases, " @@ -7107,172 +7265,172 @@ msgid "" "Pablo Galindo." msgstr "" -#: ../NEWS:4243 +#: ../NEWS:4333 msgid "" ":gh:`136517`: Fixed a typo that prevented printing of uncollectable objects " "when the :const:`gc.DEBUG_UNCOLLECTABLE` mode was set." msgstr "" -#: ../NEWS:4246 +#: ../NEWS:4336 msgid "" ":gh:`136525`: Fix issue where per-thread bytecode was not instrumented for " "newly created threads." msgstr "" -#: ../NEWS:4249 +#: ../NEWS:4339 msgid "" ":gh:`132661`: ``Interpolation.expression`` now has a default, the empty " "string." msgstr "" -#: ../NEWS:4252 +#: ../NEWS:4342 msgid ":gh:`132661`: Reflect recent :pep:`750` change." msgstr "" -#: ../NEWS:4254 +#: ../NEWS:4344 msgid "" "Disallow concatenation of ``string.templatelib.Template`` and :class:`str`. " "Also, disallow implicit concatenation of t-string literals with string or f-" "string literals." msgstr "" -#: ../NEWS:4261 +#: ../NEWS:4351 msgid "" ":gh:`116738`: Make functions in :mod:`grp` thread-safe on the :term:`free " "threaded ` build." msgstr "" -#: ../NEWS:4267 +#: ../NEWS:4357 msgid "" ":gh:`135148`: Fixed a bug where f-string debug expressions (using =) would " "incorrectly strip out parts of strings containing escaped quotes and # " "characters. Patch by Pablo Galindo." msgstr "" -#: ../NEWS:4271 +#: ../NEWS:4361 msgid "" ":gh:`133136`: Limit excess memory usage in the :term:`free threading` build " "when a large dictionary or list is resized and accessed by multiple threads." msgstr "" -#: ../NEWS:4275 +#: ../NEWS:4365 msgid "" ":gh:`91153`: Fix a crash when a :class:`bytearray` is concurrently mutated " "during item assignment." msgstr "" -#: ../NEWS:4278 +#: ../NEWS:4368 msgid "" ":gh:`127971`: Fix off-by-one read beyond the end of a string in string " "search." msgstr "" -#: ../NEWS:4284 +#: ../NEWS:4374 msgid "" ":gh:`112068`: Revert support of nullable arguments in :c:func:`PyArg_Parse`." msgstr "" -#: ../NEWS:4286 +#: ../NEWS:4376 msgid "" ":gh:`133296`: New variants for the critical section API that accept one or " "two :c:type:`PyMutex` pointers rather than :c:type:`PyObject` instances are " "now public in the non-limited C API." msgstr "" -#: ../NEWS:4290 +#: ../NEWS:4380 msgid "" ":gh:`134009`: Expose :c:func:`PyMutex_IsLocked` as part of the public C API." msgstr "" -#: ../NEWS:4295 +#: ../NEWS:4385 msgid "" ":gh:`135621`: PyREPL no longer depends on the :mod:`curses` standard " "library. Contributed by Łukasz Langa." msgstr "" -#: ../NEWS:4300 +#: ../NEWS:4390 msgid "Python 3.14.0 beta 4" msgstr "" -#: ../NEWS:4302 +#: ../NEWS:4392 msgid "*Release date: 2025-07-08*" msgstr "" -#: ../NEWS:4307 +#: ../NEWS:4397 msgid "" ":gh:`135968`: Stubs for ``strip`` are now provided as part of an iOS install." msgstr "" -#: ../NEWS:4309 +#: ../NEWS:4399 msgid ":gh:`133600`: Backport file reorganization for Tools/wasm/wasi." msgstr "" -#: ../NEWS:4311 +#: ../NEWS:4401 msgid "" "This should make backporting future code changes easier. It also simplifies " "instructions around how to do WASI builds in the devguide." msgstr "" -#: ../NEWS:4317 +#: ../NEWS:4407 msgid "" ":gh:`135966`: The iOS testbed now handles the ``app_packages`` folder as a " "site directory." msgstr "" -#: ../NEWS:4320 +#: ../NEWS:4410 msgid "" ":gh:`135494`: Fix regrtest to support excluding tests from ``--pgo`` tests. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:4326 +#: ../NEWS:4416 msgid "" ":gh:`136053`: :mod:`marshal`: fix a possible crash when deserializing :class:" "`slice` objects." msgstr "" -#: ../NEWS:4329 +#: ../NEWS:4419 msgid "" ":gh:`135661`: Fix parsing start and end tags in :class:`html.parser." "HTMLParser` according to the HTML5 standard." msgstr "" -#: ../NEWS:4332 +#: ../NEWS:4422 msgid "" "Whitespaces no longer accepted between ```` does not end the script section." msgstr "" -#: ../NEWS:4335 +#: ../NEWS:4425 msgid "" "Vertical tabulation (``\\v``) and non-ASCII whitespaces no longer recognized " "as whitespaces. The only whitespaces are ``\\t\\n\\r\\f`` and space." msgstr "" -#: ../NEWS:4338 +#: ../NEWS:4428 msgid "Null character (U+0000) no longer ends the tag name." msgstr "" -#: ../NEWS:4340 +#: ../NEWS:4430 msgid "" "Attributes and slashes after the tag name in end tags are now ignored, " "instead of terminating after the first ``>`` in quoted attribute value. E.g. " "``\"/>``." msgstr "" -#: ../NEWS:4344 +#: ../NEWS:4434 msgid "" "Multiple slashes and whitespaces between the last attribute and closing " "``>`` are now ignored in both start and end tags. E.g. ````." msgstr "" -#: ../NEWS:4347 +#: ../NEWS:4437 msgid "" "Multiple ``=`` between attribute name and value are no longer collapsed. E." "g. ```` produces attribute \"foo\" with value \"=bar\"." msgstr "" -#: ../NEWS:4350 +#: ../NEWS:4440 msgid "" "[Reverted in :gh:`136927`] Whitespaces between the ``=`` separator and " "attribute name or value are no longer ignored. E.g. ```` " @@ -7281,7 +7439,7 @@ msgid "" "with value None." msgstr "" -#: ../NEWS:4355 +#: ../NEWS:4445 msgid "" ":gh:`102555`: Fix comment parsing in :class:`html.parser.HTMLParser` " "according to the HTML5 standard. ``--!>`` now ends the comment. ``-- >`` no " @@ -7289,46 +7447,46 @@ msgid "" "and ``<--->``." msgstr "" -#: ../NEWS:4363 +#: ../NEWS:4453 msgid "" ":gh:`136286`: Fix pickling failures for protocols 0 and 1 for many objects " "realted to subinterpreters." msgstr "" -#: ../NEWS:4366 +#: ../NEWS:4456 msgid "" ":gh:`136316`: Improve support for evaluating nested forward references in :" "func:`typing.evaluate_forward_ref`." msgstr "" -#: ../NEWS:4369 +#: ../NEWS:4459 msgid "" ":gh:`85702`: If ``zoneinfo._common.load_tzdata`` is given a package without " "a resource a :exc:`zoneinfo.ZoneInfoNotFoundError` is raised rather than a :" "exc:`PermissionError`. Patch by Victor Stinner." msgstr "" -#: ../NEWS:4373 +#: ../NEWS:4463 msgid "" ":gh:`136028`: Fix parsing month names containing \"İ\" (U+0130, LATIN " "CAPITAL LETTER I WITH DOT ABOVE) in :func:`time.strptime`. This affects " "locales az_AZ, ber_DZ, ber_MA and crh_UA." msgstr "" -#: ../NEWS:4377 +#: ../NEWS:4467 msgid "" ":gh:`135995`: In the palmos encoding, make byte ``0x9b`` decode to ``›`` " "(U+203A - SINGLE RIGHT-POINTING ANGLE QUOTATION MARK)." msgstr "" -#: ../NEWS:4380 +#: ../NEWS:4470 msgid "" ":gh:`53203`: Fix :func:`time.strptime` for ``%c`` and ``%x`` formats on " "locales byn_ER, wal_ET and lzh_TW, and for ``%X`` format on locales ar_SA, " "bg_BG and lzh_TW." msgstr "" -#: ../NEWS:4384 +#: ../NEWS:4474 msgid "" ":gh:`91555`: An earlier change, which was introduced in 3.14.0b2, has been " "reverted. It disabled logging for a logger during handling of log messages " @@ -7336,41 +7494,41 @@ msgid "" "before 3.14.0b2." msgstr "" -#: ../NEWS:4389 +#: ../NEWS:4479 msgid "" ":gh:`135878`: Fixes a crash of :class:`types.SimpleNamespace` on :term:`free " "threading` builds, when several threads were calling its :meth:`~object." "__repr__` method at the same time." msgstr "" -#: ../NEWS:4393 +#: ../NEWS:4483 msgid "" ":gh:`135836`: Fix :exc:`IndexError` in :meth:`asyncio.loop." "create_connection` that could occur when non-\\ :exc:`OSError` exception is " "raised during connection and socket's ``close()`` raises :exc:`!OSError`." msgstr "" -#: ../NEWS:4397 +#: ../NEWS:4487 msgid "" ":gh:`135836`: Fix :exc:`IndexError` in :meth:`asyncio.loop." "create_connection` that could occur when the Happy Eyeballs algorithm " "resulted in an empty exceptions list during connection attempts." msgstr "" -#: ../NEWS:4401 +#: ../NEWS:4491 msgid "" ":gh:`135855`: Raise :exc:`TypeError` instead of :exc:`SystemError` when :" "func:`!_interpreters.set___main___attrs` is passed a non-dict object. Patch " "by Brian Schubert." msgstr "" -#: ../NEWS:4405 +#: ../NEWS:4495 msgid "" ":gh:`135815`: :mod:`netrc`: skip security checks if :func:`os.getuid` is " "missing. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4408 +#: ../NEWS:4498 msgid "" ":gh:`135640`: Address bug where it was possible to call :func:`xml.etree." "ElementTree.ElementTree.write` on an ElementTree object with an invalid root " @@ -7378,84 +7536,84 @@ msgid "" "existed." msgstr "" -#: ../NEWS:4413 +#: ../NEWS:4503 msgid "" ":gh:`135645`: Added ``supports_isolated_interpreters`` field to :data:`sys." "implementation`." msgstr "" -#: ../NEWS:4416 +#: ../NEWS:4506 msgid "" ":gh:`135646`: Raise consistent :exc:`NameError` exceptions in :func:" "`annotationlib.ForwardRef.evaluate`" msgstr "" -#: ../NEWS:4419 +#: ../NEWS:4509 msgid "" ":gh:`135557`: Fix races on :mod:`heapq` updates and :class:`list` reads on " "the :term:`free threaded ` build." msgstr "" -#: ../NEWS:4422 +#: ../NEWS:4512 msgid "" ":gh:`119180`: Only fetch globals and locals if necessary in :func:" "`annotationlib.get_annotations`" msgstr "" -#: ../NEWS:4425 +#: ../NEWS:4515 msgid "" ":gh:`135561`: Fix a crash on DEBUG builds when an HACL* HMAC routine fails. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4428 +#: ../NEWS:4518 msgid "" ":gh:`135487`: Fix :meth:`!reprlib.Repr.repr_int` when given integers with " "more than :func:`sys.get_int_max_str_digits` digits. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4432 +#: ../NEWS:4522 msgid "" ":gh:`135335`: :mod:`multiprocessing`: Flush ``stdout`` and ``stderr`` after " "preloading modules in the ``forkserver``." msgstr "" -#: ../NEWS:4435 +#: ../NEWS:4525 msgid "" ":gh:`135069`: Fix the \"Invalid error handling\" exception in :class:`!" "encodings.idna.IncrementalDecoder` to correctly replace the 'errors' " "parameter." msgstr "" -#: ../NEWS:4439 +#: ../NEWS:4529 msgid "" ":gh:`130662`: +Accept leading zeros in precision and width fields for +:" "class:`~decimal.Decimal` formatting, for example ``format(Decimal(1.25), " "'.016f')``." msgstr "" -#: ../NEWS:4443 +#: ../NEWS:4533 msgid "" ":gh:`130662`: Accept leading zeros in precision and width fields for :class:" "`~fractions.Fraction` formatting, for example ``format(Fraction(1, 3), " "'.016f')``." msgstr "" -#: ../NEWS:4447 +#: ../NEWS:4537 msgid "" ":gh:`87790`: Support underscore and comma as thousands separators in the " "fractional part for :class:`~fractions.Fraction`'s formatting. Patch by " "Sergey B Kirpichev." msgstr "" -#: ../NEWS:4451 +#: ../NEWS:4541 msgid "" ":gh:`87790`: Support underscore and comma as thousands separators in the " "fractional part for :class:`~decimal.Decimal`'s formatting. Patch by Sergey " "B Kirpichev." msgstr "" -#: ../NEWS:4455 +#: ../NEWS:4545 msgid "" ":gh:`130664`: Handle corner-case for :class:`~fractions.Fraction`'s " "formatting: treat zero-padding (preceding the width field by a zero " @@ -7463,109 +7621,109 @@ msgid "" "alignment type of ``'='``, just as in case of :class:`float`'s." msgstr "" -#: ../NEWS:4463 +#: ../NEWS:4553 msgid "" ":gh:`136155`: EPUB builds are fixed by excluding non-XHTML-compatible tags." msgstr "" -#: ../NEWS:4468 +#: ../NEWS:4558 msgid ":gh:`109700`: Fix memory error handling in :c:func:`PyDict_SetDefault`." msgstr "" -#: ../NEWS:4470 +#: ../NEWS:4560 msgid "" ":gh:`78465`: Fix error message for ``cls.__new__(cls, ...)`` where ``cls`` " "is not instantiable builtin or extension type (with ``tp_new`` set to " "``NULL``)." msgstr "" -#: ../NEWS:4474 +#: ../NEWS:4564 msgid "" ":gh:`129958`: Differentiate between t-strings and f-strings in syntax error " "for newlines in format specifiers of single-quoted interpolated strings." msgstr "" -#: ../NEWS:4477 +#: ../NEWS:4567 msgid "" ":gh:`135871`: Non-blocking mutex lock attempts now return immediately when " "the lock is busy instead of briefly spinning in the :term:`free threading` " "build." msgstr "" -#: ../NEWS:4481 +#: ../NEWS:4571 msgid "" ":gh:`135106`: Restrict the trashcan mechanism to GC'ed objects and untrack " "them while in the trashcan to prevent the GC and trashcan mechanisms " "conflicting." msgstr "" -#: ../NEWS:4485 +#: ../NEWS:4575 msgid "" ":gh:`135607`: Fix potential :mod:`weakref` races in an object's destructor " "on the :term:`free threaded ` build." msgstr "" -#: ../NEWS:4488 +#: ../NEWS:4578 msgid ":gh:`135608`: Fix a crash in the JIT involving attributes of modules." msgstr "" -#: ../NEWS:4490 +#: ../NEWS:4580 msgid "" ":gh:`135543`: Emit ``sys.remote_exec`` audit event when :func:`sys." "remote_exec` is called and migrate ``remote_debugger_script`` to ``cpython." "remote_debugger_script``." msgstr "" -#: ../NEWS:4494 +#: ../NEWS:4584 msgid "" ":gh:`134280`: Disable constant folding for ``~`` with a boolean argument. " "This moves the deprecation warning from compile time to runtime." msgstr "" -#: ../NEWS:4500 +#: ../NEWS:4590 msgid "" ":gh:`135906`: Fix compilation errors when compiling the internal headers " "with a C++ compiler." msgstr "" -#: ../NEWS:4506 +#: ../NEWS:4596 msgid "" ":gh:`134273`: Add support for configuring compiler flags for the JIT with " "``CFLAGS_JIT``" msgstr "" -#: ../NEWS:4511 +#: ../NEWS:4601 msgid "Python 3.14.0 beta 3" msgstr "" -#: ../NEWS:4513 +#: ../NEWS:4603 msgid "*Release date: 2025-06-17*" msgstr "" -#: ../NEWS:4518 +#: ../NEWS:4608 msgid "" ":gh:`135099`: Fix a crash that could occur on Windows when a background " "thread waits on a :c:type:`PyMutex` while the main thread is shutting down " "the interpreter." msgstr "" -#: ../NEWS:4525 +#: ../NEWS:4615 msgid "" ":gh:`132815`: Fix test__opcode: add ``JUMP_BACKWARD`` to specialization " "stats." msgstr "" -#: ../NEWS:4528 +#: ../NEWS:4618 msgid "" ":gh:`135489`: Show verbose output for failing tests during PGO profiling " "step with --enable-optimizations." msgstr "" -#: ../NEWS:4531 +#: ../NEWS:4621 msgid ":gh:`135120`: Add :func:`!test.support.subTests`." msgstr "" -#: ../NEWS:4536 +#: ../NEWS:4626 msgid "" ":gh:`135462`: Fix quadratic complexity in processing specially crafted input " "in :class:`html.parser.HTMLParser`. End-of-file errors are now handled " @@ -7573,63 +7731,63 @@ msgid "" "closed, tags are ignored." msgstr "" -#: ../NEWS:4541 +#: ../NEWS:4631 msgid "" ":gh:`135034`: Fixes multiple issues that allowed ``tarfile`` extraction " "filters (``filter=\"data\"`` and ``filter=\"tar\"``) to be bypassed using " "crafted symlinks and hard links." msgstr "" -#: ../NEWS:4545 +#: ../NEWS:4635 msgid "" "Addresses :cve:`2024-12718`, :cve:`2025-4138`, :cve:`2025-4330`, and :cve:" "`2025-4517`." msgstr "" -#: ../NEWS:4551 +#: ../NEWS:4641 msgid "" ":gh:`65697`: :class:`configparser`'s error message when attempting to write " "an invalid key is now more helpful." msgstr "" -#: ../NEWS:4554 +#: ../NEWS:4644 msgid "" ":gh:`135497`: Fix :func:`os.getlogin` failing for longer usernames on BSD-" "based platforms." msgstr "" -#: ../NEWS:4557 +#: ../NEWS:4647 msgid "" ":gh:`135429`: Fix the argument mismatch in ``_lsprof`` for ``PY_THROW`` " "event." msgstr "" -#: ../NEWS:4560 +#: ../NEWS:4650 msgid "" ":gh:`135368`: Fix :class:`unittest.mock.Mock` generation on :func:" "`dataclasses.dataclass` objects. Now all special attributes are set as it " "was before :gh:`124429`." msgstr "" -#: ../NEWS:4564 +#: ../NEWS:4654 msgid "" ":gh:`133967`: Do not normalize :mod:`locale` name 'C.UTF-8' to 'en_US.UTF-8'." msgstr "" -#: ../NEWS:4566 +#: ../NEWS:4656 msgid "" ":gh:`135321`: Raise a correct exception for values greater than 0x7fffffff " "for the ``BINSTRING`` opcode in the C implementation of :mod:`pickle`." msgstr "" -#: ../NEWS:4569 +#: ../NEWS:4659 msgid "" ":gh:`135276`: Backported bugfixes in zipfile.Path from zipp 3.23. Fixed ``." "name``, ``.stem`` and other basename-based properties on Windows when " "working with a zipfile on disk." msgstr "" -#: ../NEWS:4573 +#: ../NEWS:4663 msgid "" ":gh:`135244`: :mod:`uuid`: when the MAC address cannot be determined, the 48-" "bit node ID is now generated with a cryptographically-secure pseudo-random " @@ -7638,48 +7796,48 @@ msgid "" "uuid6`." msgstr "" -#: ../NEWS:4579 +#: ../NEWS:4669 msgid "" ":gh:`134970`: Fix the \"unknown action\" exception in :meth:`argparse." "ArgumentParser.add_argument_group` to correctly replace the action class." msgstr "" -#: ../NEWS:4583 +#: ../NEWS:4673 msgid "" ":gh:`134718`: :func:`ast.dump` now only omits ``None`` and ``[]`` values if " "they are default values." msgstr "" -#: ../NEWS:4586 +#: ../NEWS:4676 msgid "" ":gh:`134939`: Add the :mod:`concurrent.interpreters` module. See :pep:`734`." msgstr "" -#: ../NEWS:4588 +#: ../NEWS:4678 msgid "" ":gh:`134885`: Fix possible crash in the :mod:`compression.zstd` module " "related to setting parameter types. Patch by Jelle Zijlstra." msgstr "" -#: ../NEWS:4591 +#: ../NEWS:4681 msgid "" ":gh:`134857`: Improve error report for :mod:`doctest`\\ s run with :mod:" "`unittest`. Remove :mod:`!doctest` module frames from tracebacks and " "redundant newline character from a failure message." msgstr "" -#: ../NEWS:4595 +#: ../NEWS:4685 msgid "" ":gh:`128840`: Fix parsing long IPv6 addresses with embedded IPv4 address." msgstr "" -#: ../NEWS:4597 +#: ../NEWS:4687 msgid "" ":gh:`134637`: Fix performance regression in calling a :mod:`ctypes` function " "pointer in :term:`free threading`." msgstr "" -#: ../NEWS:4600 +#: ../NEWS:4690 msgid "" ":gh:`134696`: Built-in HACL* and OpenSSL implementations of hash function " "constructors now correctly accept the same *documented* named arguments. For " @@ -7688,38 +7846,38 @@ msgid "" "implementation but these calls were not compatible. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4607 +#: ../NEWS:4697 msgid "" ":gh:`134151`: :mod:`email`: Fix :exc:`TypeError` in :func:`email.utils." "decode_params` when sorting :rfc:`2231` continuations that contain an " "unnumbered section." msgstr "" -#: ../NEWS:4611 +#: ../NEWS:4701 msgid "" ":gh:`134210`: :func:`curses.window.getch` now correctly handles signals. " "Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4614 +#: ../NEWS:4704 msgid "" ":gh:`134152`: :mod:`email`: Fix parsing of email message ID with invalid " "domain." msgstr "" -#: ../NEWS:4617 +#: ../NEWS:4707 msgid "" ":gh:`133489`: :func:`random.getrandbits` can now generate more that 2 :sup:" "`31` bits. :func:`random.randbytes` can now generate more that 256 MiB." msgstr "" -#: ../NEWS:4621 +#: ../NEWS:4711 msgid "" ":gh:`132813`: Improve error messages for incorrect types and values of :" "class:`csv.Dialect` attributes." msgstr "" -#: ../NEWS:4624 +#: ../NEWS:4714 msgid "" ":gh:`132969`: Prevent the :class:`~concurrent.futures.ProcessPoolExecutor` " "executor thread, which remains running when :meth:`shutdown(wait=False) " @@ -7731,43 +7889,43 @@ msgid "" "pool." msgstr "" -#: ../NEWS:4633 +#: ../NEWS:4723 msgid "" ":gh:`127081`: Fix libc thread safety issues with :mod:`os` by replacing " "``getlogin`` with ``getlogin_r`` re-entrant version." msgstr "" -#: ../NEWS:4636 +#: ../NEWS:4726 msgid "" ":gh:`131884`: Fix formatting issues in :func:`json.dump` when both *indent* " "and *skipkeys* are used." msgstr "" -#: ../NEWS:4639 +#: ../NEWS:4729 msgid "" ":gh:`130999`: Avoid exiting the new REPL and offer suggestions even if there " "are non-string candidates when errors occur." msgstr "" -#: ../NEWS:4645 +#: ../NEWS:4735 msgid "" ":gh:`135171`: Document that the :term:`iterator` for the leftmost :keyword:`!" "for` clause in the generator expression is created immediately." msgstr "" -#: ../NEWS:4648 +#: ../NEWS:4738 msgid "" ":issue:`45210`: Document that error indicator may be set in tp_dealloc, and " "how to avoid clobbering it." msgstr "" -#: ../NEWS:4654 +#: ../NEWS:4744 msgid "" ":gh:`135496`: Fix typo in the f-string conversion type error " "(\"exclamanation\" -> \"exclamation\")." msgstr "" -#: ../NEWS:4657 +#: ../NEWS:4747 msgid "" ":gh:`135371`: Fixed :mod:`asyncio` debugging tools to properly display " "internal coroutine call stacks alongside external task dependencies. The " @@ -7775,28 +7933,28 @@ msgid "" "complete execution context. Patch by Pablo Galindo." msgstr "" -#: ../NEWS:4665 +#: ../NEWS:4755 msgid "" ":gh:`127319`: Set the ``allow_reuse_port`` class variable to ``False`` on " "the XMLRPC, logging, and HTTP servers. This matches the behavior in prior " "Python releases, which is to not allow port reuse." msgstr "" -#: ../NEWS:4672 +#: ../NEWS:4762 msgid "" ":gh:`135171`: Reverts the behavior of async generator expressions when " "created with object w/o __aiter__ method to the pre-3.13 behavior of raising " "a TypeError." msgstr "" -#: ../NEWS:4676 +#: ../NEWS:4766 msgid "" ":gh:`130077`: Properly raise custom syntax errors when incorrect syntax " "containing names that are prefixes of soft keywords is encountered. Patch " "by Pablo Galindo." msgstr "" -#: ../NEWS:4680 +#: ../NEWS:4770 msgid "" ":gh:`135171`: Reverts the behavior of generator expressions when created " "with a non-iterable to the pre-3.13 behavior of raising a TypeError. It is " @@ -7806,31 +7964,31 @@ msgid "" "and adding an additional check to ``FOR_ITER``." msgstr "" -#: ../NEWS:4690 +#: ../NEWS:4780 msgid "" ":gh:`116738`: Make methods in :mod:`heapq` thread-safe on the :term:`free " "threaded ` build." msgstr "" -#: ../NEWS:4696 +#: ../NEWS:4786 msgid "" ":gh:`134876`: Add support to :pep:`768` remote debugging for Linux kernels " "which don't have CONFIG_CROSS_MEMORY_ATTACH configured." msgstr "" -#: ../NEWS:4699 +#: ../NEWS:4789 msgid "" ":gh:`134889`: Fix handling of a few opcodes that leave operands on the stack " "when optimizing ``LOAD_FAST``." msgstr "" -#: ../NEWS:4705 +#: ../NEWS:4795 msgid "" ":gh:`134908`: Fix crash when iterating over lines in a text file on the :" "term:`free threaded ` build." msgstr "" -#: ../NEWS:4711 +#: ../NEWS:4801 msgid "" ":gh:`132617`: Fix :meth:`dict.update` modification check that could " "incorrectly raise a \"dict mutated during update\" error when a different " @@ -7838,26 +7996,26 @@ msgid "" "object." msgstr "" -#: ../NEWS:4716 +#: ../NEWS:4806 msgid "" ":gh:`134679`: Fix crash in the :term:`free threading` build's QSBR code that " "could occur when changing an object's ``__dict__`` attribute." msgstr "" -#: ../NEWS:4719 +#: ../NEWS:4809 msgid "" ":gh:`127682`: No longer call ``__iter__`` twice in list comprehensions. This " "brings the behavior of list comprehensions in line with other forms of " "iteration" msgstr "" -#: ../NEWS:4723 +#: ../NEWS:4813 msgid "" ":gh:`133912`: Fix the C API function ``PyObject_GenericSetDict`` to handle " "extension classes with inline values." msgstr "" -#: ../NEWS:4729 +#: ../NEWS:4819 msgid "" ":gh:`134989`: Fix ``Py_RETURN_NONE``, ``Py_RETURN_TRUE`` and " "``Py_RETURN_FALSE`` macros in the limited C API 3.11 and older: don't treat " @@ -7865,14 +8023,14 @@ msgid "" "Stinner." msgstr "" -#: ../NEWS:4734 +#: ../NEWS:4824 msgid "" ":gh:`134989`: Implement :c:func:`PyObject_DelAttr` and :c:func:" "`PyObject_DelAttrString` as macros in the limited C API 3.12 and older. " "Patch by Victor Stinner." msgstr "" -#: ../NEWS:4738 +#: ../NEWS:4828 msgid "" ":gh:`133968`: Add :c:func:`PyUnicodeWriter_WriteASCII` function to write an " "ASCII string into a :c:type:`PyUnicodeWriter`. The function is faster than :" @@ -7880,32 +8038,32 @@ msgid "" "input string contains non-ASCII characters. Patch by Victor Stinner." msgstr "" -#: ../NEWS:4746 +#: ../NEWS:4836 msgid "" ":gh:`119132`: Remove \"experimental\" tag from the CPython free-threading " "build." msgstr "" -#: ../NEWS:4749 +#: ../NEWS:4839 msgid "" ":gh:`135497`: Fix the detection of ``MAXLOGNAME`` in the ``configure.ac`` " "script." msgstr "" -#: ../NEWS:4752 +#: ../NEWS:4842 msgid "" ":gh:`134923`: Windows builds with profile-guided optimization enabled now " "use ``/GENPROFILE`` and ``/USEPROFILE`` instead of deprecated ``/LTCG:`` " "options." msgstr "" -#: ../NEWS:4756 +#: ../NEWS:4846 msgid "" ":gh:`134774`: Fix :c:macro:`Py_DEBUG` macro redefinition warnings on Windows " "debug builds. Patch by Chris Eibl." msgstr "" -#: ../NEWS:4759 +#: ../NEWS:4849 msgid "" ":gh:`134632`: Fixed ``build-details.json`` generation to use ``INCLUDEPY``, " "in order to reference the ``pythonX.Y`` subdirectory of the include " @@ -7913,27 +8071,27 @@ msgid "" "directory." msgstr "" -#: ../NEWS:4766 +#: ../NEWS:4856 msgid "Python 3.14.0 beta 2" msgstr "" -#: ../NEWS:4768 +#: ../NEWS:4858 msgid "*Release date: 2025-05-26*" msgstr "" -#: ../NEWS:4773 +#: ../NEWS:4863 msgid "" ":gh:`130727`: Fix a race in internal calls into WMI that can result in an " "\"invalid handle\" exception under high load. Patch by Chris Eibl." msgstr "" -#: ../NEWS:4776 +#: ../NEWS:4866 msgid "" ":gh:`76023`: Make :func:`os.path.realpath` ignore Windows error 1005 when in " "non-strict mode." msgstr "" -#: ../NEWS:4779 +#: ../NEWS:4869 msgid "" ":gh:`133779`: Reverts the change to generate different :file:`pyconfig.h` " "files based on compiler settings, as it was frequently causing extension " @@ -7944,106 +8102,106 @@ msgid "" "with that flag or not." msgstr "" -#: ../NEWS:4787 +#: ../NEWS:4877 msgid "" ":gh:`133626`: Ensures packages are not accidentally bundled into the " "traditional installer." msgstr "" -#: ../NEWS:4793 +#: ../NEWS:4883 msgid "" ":gh:`134215`: :term:`REPL` import autocomplete only suggests private modules " "when explicitly specified." msgstr "" -#: ../NEWS:4799 +#: ../NEWS:4889 msgid "" ":gh:`133744`: Fix multiprocessing interrupt test. Add an event to " "synchronize the parent process with the child process: wait until the child " "process starts sleeping. Patch by Victor Stinner." msgstr "" -#: ../NEWS:4803 +#: ../NEWS:4893 msgid "" ":gh:`133682`: Fixed test case ``test.test_annotationlib.TestStringFormat." "test_displays`` which ensures proper handling of complex data structures " "(lists, sets, dictionaries, and tuples) in string annotations." msgstr "" -#: ../NEWS:4808 +#: ../NEWS:4898 msgid "" ":gh:`133639`: Fix ``TestPyReplAutoindent.test_auto_indent_default()`` " "doesn't run ``input_code``." msgstr "" -#: ../NEWS:4814 +#: ../NEWS:4904 msgid "" ":gh:`133767`: Fix use-after-free in the \"unicode-escape\" decoder with a " "non-\"strict\" error handler." msgstr "" -#: ../NEWS:4817 +#: ../NEWS:4907 msgid "" ":gh:`128840`: Short-circuit the processing of long IPv6 addresses early in :" "mod:`ipaddress` to prevent excessive memory consumption and a minor denial-" "of-service." msgstr "" -#: ../NEWS:4824 +#: ../NEWS:4914 msgid "" ":gh:`132710`: If possible, ensure that :func:`uuid.getnode` returns the same " "result even across different processes. Previously, the result was constant " "only within the same process. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4828 +#: ../NEWS:4918 msgid "" ":gh:`80334`: :func:`multiprocessing.freeze_support` now checks for work on " "any \"spawn\" start method platform rather than only on Windows." msgstr "" -#: ../NEWS:4831 +#: ../NEWS:4921 msgid "" ":gh:`134582`: Fix tokenize.untokenize() round-trip errors related to t-" "strings braces escaping" msgstr "" -#: ../NEWS:4834 +#: ../NEWS:4924 msgid "" ":gh:`134546`: Ensure :mod:`pdb` remote debugging script is readable by " "remote Python process." msgstr "" -#: ../NEWS:4837 +#: ../NEWS:4927 msgid "" ":gh:`134451`: Converted ``asyncio.tools.CycleFoundException`` from dataclass " "to a regular exception type." msgstr "" -#: ../NEWS:4840 +#: ../NEWS:4930 msgid "" ":gh:`114177`: Fix :mod:`asyncio` to not close subprocess pipes which would " "otherwise error out when the event loop is already closed." msgstr "" -#: ../NEWS:4843 +#: ../NEWS:4933 msgid "" ":gh:`90871`: Fixed an off by one error concerning the backlog parameter in :" "meth:`~asyncio.loop.create_unix_server`. Contributed by Christian Harries." msgstr "" -#: ../NEWS:4847 +#: ../NEWS:4937 msgid ":gh:`134323`: Fix the :meth:`threading.RLock.locked` method." msgstr "" -#: ../NEWS:4849 +#: ../NEWS:4939 msgid "" ":gh:`86802`: Fixed asyncio memory leak in cancelled shield tasks. For " "shielded tasks where the shield was cancelled, log potential exceptions " "through the exception handler. Contributed by Christian Harries." msgstr "" -#: ../NEWS:4853 +#: ../NEWS:4943 msgid "" ":gh:`134209`: :mod:`curses`: The :meth:`curses.window.instr` and :meth:" "`curses.window.getstr` methods now allocate their internal buffer on the " @@ -8051,65 +8209,65 @@ msgid "" "from 1023 to 2047." msgstr "" -#: ../NEWS:4858 +#: ../NEWS:4948 msgid "" ":gh:`134235`: Updated tab completion on REPL to include builtin modules. " "Contributed by Tom Wang, Hunter Young" msgstr "" -#: ../NEWS:4861 +#: ../NEWS:4951 msgid "" ":gh:`134152`: Fixed :exc:`UnboundLocalError` that could occur during :mod:" "`email` header parsing if an expected trailing delimiter is missing in some " "contexts." msgstr "" -#: ../NEWS:4865 +#: ../NEWS:4955 msgid "" ":gh:`134168`: :mod:`http.server`: Fix IPv6 address binding and :option:`--" "directory ` handling when using HTTPS." msgstr "" -#: ../NEWS:4868 +#: ../NEWS:4958 msgid "" ":gh:`62184`: Remove import of C implementation of :class:`io.FileIO` from " "Python implementation which has its own implementation" msgstr "" -#: ../NEWS:4871 +#: ../NEWS:4961 msgid "" ":gh:`133982`: Emit :exc:`RuntimeWarning` in the Python implementation of :" "mod:`io` when the :term:`file-like object ` is not closed " "explicitly in the presence of multiple I/O layers." msgstr "" -#: ../NEWS:4875 +#: ../NEWS:4965 msgid "" ":gh:`133890`: The :mod:`tarfile` module now handles :exc:" "`UnicodeEncodeError` in the same way as :exc:`OSError` when cannot extract a " "member." msgstr "" -#: ../NEWS:4878 +#: ../NEWS:4968 msgid "" ":gh:`134097`: Fix interaction of the new :term:`REPL` and :option:`-X " "showrefcount <-X>` command line option." msgstr "" -#: ../NEWS:4881 +#: ../NEWS:4971 msgid "" ":gh:`133889`: The generated directory listing page in :class:`http.server." "SimpleHTTPRequestHandler` now only shows the decoded path component of the " "requested URL, and not the query and fragment." msgstr "" -#: ../NEWS:4885 +#: ../NEWS:4975 msgid "" ":gh:`134098`: Fix handling paths that end with a percent-encoded slash " "(``%2f`` or ``%2F``) in :class:`http.server.SimpleHTTPRequestHandler`." msgstr "" -#: ../NEWS:4888 +#: ../NEWS:4978 msgid "" ":gh:`132124`: On POSIX-compliant systems, :func:`!multiprocessing.util." "get_temp_dir` now ignores :envvar:`TMPDIR` (and similar environment " @@ -8119,27 +8277,27 @@ msgid "" "Tran." msgstr "" -#: ../NEWS:4895 +#: ../NEWS:4985 msgid "" ":gh:`134062`: :mod:`ipaddress`: fix collisions in :meth:`~object.__hash__` " "for :class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` " "objects." msgstr "" -#: ../NEWS:4899 +#: ../NEWS:4989 msgid "" ":gh:`133970`: Make :class:`!string.templatelib.Template` and :class:`!string." "templatelib.Interpolation` generic." msgstr "" -#: ../NEWS:4902 +#: ../NEWS:4992 msgid "" ":gh:`71253`: Raise :exc:`ValueError` in :func:`open` if *opener* returns a " "negative file-descriptor in the Python implementation of :mod:`io` to match " "the C implementation." msgstr "" -#: ../NEWS:4906 +#: ../NEWS:4996 msgid "" ":gh:`133960`: Simplify and improve :func:`typing.evaluate_forward_ref`. It " "now no longer raises errors on certain invalid types. In several situations, " @@ -8147,12 +8305,12 @@ msgid "" "unsupported." msgstr "" -#: ../NEWS:4911 +#: ../NEWS:5001 msgid "" ":gh:`133925`: Make the private class ``typing._UnionGenericAlias`` hashable." msgstr "" -#: ../NEWS:4913 +#: ../NEWS:5003 msgid "" ":gh:`133653`: Fix :class:`argparse.ArgumentParser` with the " "*formatter_class* argument. Fix TypeError when *formatter_class* is a custom " @@ -8162,46 +8320,46 @@ msgid "" "class:`!HelpFormatter`." msgstr "" -#: ../NEWS:4920 +#: ../NEWS:5010 msgid "" ":gh:`132641`: Fixed a race in :func:`functools.lru_cache` under free-" "threading." msgstr "" -#: ../NEWS:4923 +#: ../NEWS:5013 msgid "" ":gh:`133783`: Fix bug with applying :func:`copy.replace` to :mod:`ast` " "objects. Attributes that default to ``None`` were incorrectly treated as " "required for manually created AST nodes." msgstr "" -#: ../NEWS:4927 +#: ../NEWS:5017 msgid "" ":gh:`133684`: Fix bug where :func:`annotationlib.get_annotations` would " "return the wrong result for certain classes that are part of a class " "hierarchy where ``from __future__ import annotations`` is used." msgstr "" -#: ../NEWS:4931 +#: ../NEWS:5021 msgid "" ":gh:`77057`: Fix handling of invalid markup declarations in :class:`html." "parser.HTMLParser`." msgstr "" -#: ../NEWS:4934 +#: ../NEWS:5024 msgid "" ":gh:`130328`: Speedup pasting in ``PyREPL`` on Windows in a legacy console. " "Patch by Chris Eibl." msgstr "" -#: ../NEWS:4937 +#: ../NEWS:5027 msgid "" ":gh:`133701`: Fix bug where :class:`typing.TypedDict` classes defined under " "``from __future__ import annotations`` and inheriting from another " "``TypedDict`` had an incorrect ``__annotations__`` attribute." msgstr "" -#: ../NEWS:4941 +#: ../NEWS:5031 msgid "" ":gh:`133581`: Improve unparsing of t-strings in :func:`ast.unparse` and " "``from __future__ import annotations``. Empty t-strings now round-trip " @@ -8209,25 +8367,25 @@ msgid "" "Zijlstra." msgstr "" -#: ../NEWS:4946 +#: ../NEWS:5036 msgid "" ":gh:`133551`: Support t-strings (:pep:`750`) in :mod:`annotationlib`. Patch " "by Jelle Zijlstra." msgstr "" -#: ../NEWS:4949 +#: ../NEWS:5039 msgid "" ":gh:`133439`: Fix dot commands with trailing spaces are mistaken for multi-" "line SQL statements in the sqlite3 command-line interface." msgstr "" -#: ../NEWS:4952 +#: ../NEWS:5042 msgid "" ":gh:`132493`: Avoid accessing ``__annotations__`` unnecessarily in :func:" "`inspect.signature`." msgstr "" -#: ../NEWS:4955 +#: ../NEWS:5045 msgid "" ":gh:`132876`: ``ldexp()`` on Windows doesn't round subnormal results before " "Windows 11, but should. Python's :func:`math.ldexp` wrapper now does round " @@ -8235,227 +8393,227 @@ msgid "" "on Windows versions before 11." msgstr "" -#: ../NEWS:4960 +#: ../NEWS:5050 msgid "" ":gh:`133009`: :mod:`xml.etree.ElementTree`: Fix a crash in :meth:`Element." "__deepcopy__ ` when the element is concurrently " "mutated. Patch by Bénédikt Tran." msgstr "" -#: ../NEWS:4964 +#: ../NEWS:5054 msgid "" ":gh:`91555`: Ignore log messages generated during handling of log messages, " "to avoid deadlock or infinite recursion. [NOTE: This change has since been " "reverted.]" msgstr "" -#: ../NEWS:4968 +#: ../NEWS:5058 msgid "" ":gh:`125028`: :data:`functools.Placeholder` cannot be passed to :func:" "`functools.partial` as a keyword argument." msgstr "" -#: ../NEWS:4971 +#: ../NEWS:5061 msgid "" ":gh:`62824`: Fix aliases for ``iso8859_8`` encoding. Patch by Dave Goncalves." msgstr "" -#: ../NEWS:4973 +#: ../NEWS:5063 msgid "" ":gh:`86155`: :meth:`html.parser.HTMLParser.close` no longer loses data when " "the ``