# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001 Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR , YEAR.
#
# Translators:
# python-doc bot, 2025
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.14\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 09:12+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"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../../reference/executionmodel.rst:6
msgid "Execution model"
msgstr "Ausfhrungsmodell"
#: ../../reference/executionmodel.rst:15
msgid "Structure of a program"
msgstr "Aufbau eines Programms"
#: ../../reference/executionmodel.rst:19
msgid ""
"A Python program is constructed from code blocks. A :dfn:`block` is a piece "
"of Python program text that is executed as a unit. The following are blocks: "
"a module, a function body, and a class definition. Each command typed "
"interactively is a block. A script file (a file given as standard input to "
"the interpreter or specified as a command line argument to the interpreter) "
"is a code block. A script command (a command specified on the interpreter "
"command line with the :option:`-c` option) is a code block. A module run as "
"a top level script (as module ``__main__``) from the command line using a :"
"option:`-m` argument is also a code block. The string argument passed to the "
"built-in functions :func:`eval` and :func:`exec` is a code block."
msgstr ""
"Ein Python-Programm setzt sich aus Codeblcken zusammen. Ein :dfn:`Block` "
"ist ein Teil des Python-Programmtextes, der als Einheit ausgefhrt wird. Zu "
"den Blcken gehren: ein Modul, ein Funktionskrper und eine "
"Klassendefinition. Jeder interaktiv eingegebene Befehl ist ein Block. Eine "
"Skriptdatei (eine Datei, die dem Interpreter als Standardeingabe bergeben "
"oder als Befehlszeilenargument fr den Interpreter angegeben wird) ist ein "
"Codeblock. Ein Skriptbefehl (ein Befehl, der in der Befehlszeile des "
"Interpreters mit der Option :option:`-c` angegeben wird) ist ein Codeblock. "
"Ein Modul, das als Skript der obersten Ebene (als Modul ``__main__`` ) ber "
"die Befehlszeile mit dem Argument :option:`-m` ausgefhrt wird, ist "
"ebenfalls ein Codeblock. Das an die integrierten Funktionen :func:`eval` "
"und :func:`exec` bergebene Zeichenfolgenargument ist ein Codeblock."
#: ../../reference/executionmodel.rst:33
msgid ""
"A code block is executed in an :dfn:`execution frame`. A frame contains "
"some administrative information (used for debugging) and determines where "
"and how execution continues after the code block's execution has completed."
msgstr ""
"Ein Codeblock wird in einem :dfn:`Ausfhrungsrahmen` ausgefhrt. Ein Rahmen "
"enthlt einige Verwaltungsinformationen (die zur Fehlersuche dienen) und "
"legt fest, wo und wie die Ausfhrung fortgesetzt wird, nachdem die "
"Ausfhrung des Codeblocks abgeschlossen ist."
#: ../../reference/executionmodel.rst:40
msgid "Naming and binding"
msgstr "Benennung und Zuordnung"
#: ../../reference/executionmodel.rst:49
msgid "Binding of names"
msgstr "Namensbindung"
#: ../../reference/executionmodel.rst:55
msgid ""
":dfn:`Names` refer to objects. Names are introduced by name binding "
"operations."
msgstr ""
":dfn:`Namen` beziehen sich auf Objekte. Namen werden durch "
"Namensbindungsoperationen eingefhrt."
#: ../../reference/executionmodel.rst:59
msgid "The following constructs bind names:"
msgstr "Die folgenden Konstrukte binden Namen:"
#: ../../reference/executionmodel.rst:61
msgid "formal parameters to functions,"
msgstr "Formale Parameter von Funktionen,"
#: ../../reference/executionmodel.rst:62
msgid "class definitions,"
msgstr "Klassendefinitionen,"
#: ../../reference/executionmodel.rst:63
msgid "function definitions,"
msgstr "Funktionsdefinitionen,"
#: ../../reference/executionmodel.rst:64
msgid "assignment expressions,"
msgstr "Zuweisungsausdrcke,"
#: ../../reference/executionmodel.rst:65
msgid ""
":ref:`targets ` that are identifiers if occurring in an "
"assignment:"
msgstr ""
":ref:`Ziele `, die als Bezeichner gelten, wenn sie in einer "
"Zuweisung vorkommen:"
#: ../../reference/executionmodel.rst:68
msgid ":keyword:`for` loop header,"
msgstr ":keyword:`for` Schleifenkopf,"
#: ../../reference/executionmodel.rst:69
msgid ""
"after :keyword:`!as` in a :keyword:`with` statement, :keyword:`except` "
"clause, :keyword:`except* ` clause, or in the as-pattern in "
"structural pattern matching,"
msgstr ""
"nach :keyword:`!as` in einer :keyword:`with`-Anweisung, einer :keyword:"
"`except`-Klausel, einer :keyword:`except* `-Klausel oder im "
"\"as\"-Muster beim strukturellen Musterabgleich,"
#: ../../reference/executionmodel.rst:71
msgid "in a capture pattern in structural pattern matching"
msgstr "in einem Erfassungsmuster beim strukturellen Musterabgleich"
#: ../../reference/executionmodel.rst:73
msgid ":keyword:`import` statements."
msgstr ":keyword:`import` Aussagen."
#: ../../reference/executionmodel.rst:74
msgid ":keyword:`type` statements."
msgstr ":keyword:`type` Aussagen."
#: ../../reference/executionmodel.rst:75
msgid ":ref:`type parameter lists `."
msgstr ":ref:`Typ-Parameterlisten `."
#: ../../reference/executionmodel.rst:77
msgid ""
"The :keyword:`!import` statement of the form ``from ... import *`` binds all "
"names defined in the imported module, except those beginning with an "
"underscore. This form may only be used at the module level."
msgstr ""
"Die Anweisung :keyword:`!import` in der Form ``from ... import *`` bindet "
"alle im importierten Modul definierten Namen, mit Ausnahme derjenigen, die "
"mit einem Unterstrich beginnen. Diese Form darf nur auf Modulebene verwendet "
"werden."
#: ../../reference/executionmodel.rst:81
msgid ""
"A target occurring in a :keyword:`del` statement is also considered bound "
"for this purpose (though the actual semantics are to unbind the name)."
msgstr ""
"Ein Ziel, das in einer Anweisung vom Typ :keyword:`del` vorkommt, gilt fr "
"diesen Zweck ebenfalls als gebunden (auch wenn die eigentliche Semantik "
"darin besteht, die Bindung des Namens aufzuheben)."
#: ../../reference/executionmodel.rst:84
msgid ""
"Each assignment or import statement occurs within a block defined by a class "
"or function definition or at the module level (the top-level code block)."
msgstr ""
"Jede Zuweisungs- oder Importanweisung erfolgt innerhalb eines Blocks, der "
"durch eine Klassen- oder Funktionsdefinition definiert ist, oder auf "
"Modulebene (dem Code-Block der obersten Ebene)."
#: ../../reference/executionmodel.rst:89
msgid ""
"If a name is bound in a block, it is a local variable of that block, unless "
"declared as :keyword:`nonlocal` or :keyword:`global`. If a name is bound at "
"the module level, it is a global variable. (The variables of the module "
"code block are local and global.) If a variable is used in a code block but "
"not defined there, it is a :term:`free variable`."
msgstr ""
"Wird ein Name in einem Block gebunden, handelt es sich um eine lokale "
"Variable dieses Blocks, sofern er nicht als :keyword:`nonlocal` oder :"
"keyword:`global` deklariert wurde. Wird ein Name auf Modulebene gebunden, "
"handelt es sich um eine globale Variable. (Die Variablen des Modul-"
"Codeblocks sind sowohl lokal als auch global.) Wird eine Variable in einem "
"Codeblock verwendet, dort aber nicht definiert, handelt es sich um eine :"
"term:`freie Variable `."
#: ../../reference/executionmodel.rst:95
msgid ""
"Each occurrence of a name in the program text refers to the :dfn:`binding` "
"of that name established by the following name resolution rules."
msgstr ""
"Jedes Vorkommen eines Namens im Programmtext bezieht sich auf die :dfn:"
"`Bindung` dieses Namens, die durch die folgenden Namensauflsungsregeln "
"festgelegt wird."
#: ../../reference/executionmodel.rst:101
msgid "Resolution of names"
msgstr "Namensauflsung"
#: ../../reference/executionmodel.rst:105
msgid ""
"A :dfn:`scope` defines the visibility of a name within a block. If a local "
"variable is defined in a block, its scope includes that block. If the "
"definition occurs in a function block, the scope extends to any blocks "
"contained within the defining one, unless a contained block introduces a "
"different binding for the name."
msgstr ""
"Ein :dfn:`Gltigkeitsbereich` legt fest, in welchem Umfang ein Name "
"innerhalb eines Blocks sichtbar ist. Wird eine lokale Variable in einem "
"Block definiert, erstreckt sich ihr Gltigkeitsbereich auf diesen Block. "
"Erfolgt die Definition in einem Funktionsblock, erstreckt sich der "
"Gltigkeitsbereich auf alle Blcke, die in dem definierenden Block enthalten "
"sind, es sei denn, ein darin enthaltener Block fhrt eine andere Bindung fr "
"den Namen ein."
#: ../../reference/executionmodel.rst:113
msgid ""
"When a name is used in a code block, it is resolved using the nearest "
"enclosing scope. The set of all such scopes visible to a code block is "
"called the block's :dfn:`environment`."
msgstr ""
"Wenn ein Name in einem Codeblock verwendet wird, wird er anhand des "
"nchstgelegenen bergeordneten Gltigkeitsbereichs aufgelst. Die Menge "
"aller solcher Gltigkeitsbereiche, die fr einen Codeblock sichtbar sind, "
"wird als :dfn:`Umgebung` des Blocks bezeichnet."
#: ../../reference/executionmodel.rst:121
msgid ""
"When a name is not found at all, a :exc:`NameError` exception is raised. If "
"the current scope is a function scope, and the name refers to a local "
"variable that has not yet been bound to a value at the point where the name "
"is used, an :exc:`UnboundLocalError` exception is raised. :exc:"
"`UnboundLocalError` is a subclass of :exc:`NameError`."
msgstr ""
"Wenn ein Name berhaupt nicht gefunden wird, wird eine Ausnahme vom Typ :exc:"
"`NameError` ausgelst. Handelt es sich beim aktuellen Gltigkeitsbereich um "
"einen Funktionsbereich und bezieht sich der Name auf eine lokale Variable, "
"die an der Stelle, an der der Name verwendet wird, noch nicht mit einem Wert "
"belegt wurde, wird eine Ausnahme vom Typ :exc:`UnboundLocalError` "
"ausgelst. :exc:`UnboundLocalError` ist eine Unterklasse von :exc:"
"`NameError` ."
#: ../../reference/executionmodel.rst:127
msgid ""
"If a name binding operation occurs anywhere within a code block, all uses of "
"the name within the block are treated as references to the current block. "
"This can lead to errors when a name is used within a block before it is "
"bound. This rule is subtle. Python lacks declarations and allows name "
"binding operations to occur anywhere within a code block. The local "
"variables of a code block can be determined by scanning the entire text of "
"the block for name binding operations. See :ref:`the FAQ entry on "
"UnboundLocalError ` for examples."
msgstr ""
"Wenn irgendwo innerhalb eines Codeblocks eine Namensbindung stattfindet, "
"werden alle Verwendungen des Namens innerhalb des Blocks als Verweise auf "
"den aktuellen Block behandelt. Dies kann zu Fehlern fhren, wenn ein Name "
"innerhalb eines Blocks verwendet wird, bevor er gebunden wurde. Diese Regel "
"ist nicht ganz einfach zu verstehen. Python kennt keine Deklarationen und "
"erlaubt es, dass Namensbindungsoperationen an beliebiger Stelle innerhalb "
"eines Codeblocks stattfinden. Die lokalen Variablen eines Codeblocks lassen "
"sich ermitteln, indem der gesamte Text des Blocks auf "
"Namensbindungsoperationen durchsucht wird. Beispiele finden Sie im :ref:`FAQ-"
"Eintrag zu UnboundLocalError `."
#: ../../reference/executionmodel.rst:136
msgid ""
"If the :keyword:`global` statement occurs within a block, all uses of the "
"names specified in the statement refer to the bindings of those names in the "
"top-level namespace. Names are resolved in the top-level namespace by "
"searching the global namespace, i.e. the namespace of the module containing "
"the code block, and the builtins namespace, the namespace of the module :mod:"
"`builtins`. The global namespace is searched first. If the names are not "
"found there, the builtins namespace is searched next. If the names are also "
"not found in the builtins namespace, new variables are created in the global "
"namespace. The global statement must precede all uses of the listed names."
msgstr ""
"Wenn die Anweisung :keyword:`global` innerhalb eines Blocks auftritt, "
"beziehen sich alle Verwendungen der in der Anweisung angegebenen Namen auf "
"die Zuordnungen dieser Namen im obersten Namensraum. Namen werden im "
"obersten Namensraum aufgelst, indem der globale Namensraum, d.h. der "
"Namensraum des Moduls, das den Codeblock enthlt, sowie der \"builtins\"-"
"Namensraum, der Namensraum des Moduls :mod:`builtins`, durchsucht werden. "
"Der globale Namensraum wird zuerst durchsucht. Werden die Namen dort nicht "
"gefunden, wird als Nchstes der \"builtins\"-Namensraum durchsucht. Werden "
"die Namen auch im \"builtins\"-Namensraum nicht gefunden, werden neue "
"Variablen im globalen Namensraum angelegt. Die Anweisung \"global\" muss "
"allen Verwendungen der aufgefhrten Namen vorangestellt werden."
#: ../../reference/executionmodel.rst:146
msgid ""
"The :keyword:`global` statement has the same scope as a name binding "
"operation in the same block. If the nearest enclosing scope for a free "
"variable contains a global statement, the free variable is treated as a "
"global."
msgstr ""
"Die Anweisung :keyword:`global` hat denselben Geltungsbereich wie eine "
"Namensbindung im selben Block. Wenn der nchstbergeordnete Geltungsbereich "
"einer freien Variablen eine globale Anweisung enthlt, wird die freie "
"Variable als globale Variable behandelt."
#: ../../reference/executionmodel.rst:152
msgid ""
"The :keyword:`nonlocal` statement causes corresponding names to refer to "
"previously bound variables in the nearest enclosing function scope. :exc:"
"`SyntaxError` is raised at compile time if the given name does not exist in "
"any enclosing function scope. :ref:`Type parameters ` cannot be "
"rebound with the :keyword:`!nonlocal` statement."
msgstr ""
"Die Anweisung :keyword:`nonlocal` bewirkt, dass die entsprechenden Namen auf "
"zuvor gebundene Variablen im nchstbergeordneten "
"Funktionsgltigkeitsbereich verweisen. Wenn der angegebene Name in keinem "
"bergeordneten Funktionsgltigkeitsbereich existiert, wird zur "
"Kompilierungszeit ein :exc:`SyntaxError` ausgelst. :ref:`Typ-Parameter "
"` knnen mit der Anweisung :keyword:`!nonlocal` nicht neu "
"gebunden werden."
#: ../../reference/executionmodel.rst:160
msgid ""
"The namespace for a module is automatically created the first time a module "
"is imported. The main module for a script is always called :mod:`__main__`."
msgstr ""
"Der Namensraum fr ein Modul wird automatisch angelegt, sobald das Modul zum "
"ersten Mal importiert wird. Das Hauptmodul eines Skripts heit immer :mod:"
"`__main__` ."
#: ../../reference/executionmodel.rst:163
msgid ""
"Class definition blocks and arguments to :func:`exec` and :func:`eval` are "
"special in the context of name resolution. A class definition is an "
"executable statement that may use and define names. These references follow "
"the normal rules for name resolution with an exception that unbound local "
"variables are looked up in the global namespace. The namespace of the class "
"definition becomes the attribute dictionary of the class. The scope of names "
"defined in a class block is limited to the class block; it does not extend "
"to the code blocks of methods. This includes comprehensions and generator "
"expressions, but it does not include :ref:`annotation scopes `, which have access to their enclosing class scopes. This means that "
"the following will fail::"
msgstr ""
"Klassendefinitionsblcke und Argumente fr :func:`exec` und :func:`eval` "
"stellen im Zusammenhang mit der Namensauflsung einen Sonderfall dar. Eine "
"Klassendefinition ist eine ausfhrbare Anweisung, die Namen verwenden und "
"definieren kann. Diese Verweise folgen den blichen Regeln fr die "
"Namensauflsung, mit der Ausnahme, dass ungebundene lokale Variablen im "
"globalen Namensraum gesucht werden. Der Namensraum der Klassendefinition "
"wird zum Attributwrterbuch der Klasse. Der Geltungsbereich von Namen, die "
"in einem Klassenblock definiert werden, ist auf den Klassenblock beschrnkt; "
"er erstreckt sich nicht auf die Codeblcke von Methoden. Dies umfasst "
"Comprehensions und Generatorausdrcke, jedoch nicht :ref:`Annotations-"
"Geltungsbereiche `, die Zugriff auf die Geltungsbereiche "
"ihrer umschlieenden Klassen haben. Das bedeutet, dass Folgendes "
"fehlschlagen wird::"
#: ../../reference/executionmodel.rst:176
msgid ""
"class A:\n"
" a = 42\n"
" b = list(a + i for i in range(10))"
msgstr ""
"class A:\n"
" a = 42\n"
" b = list(a + i for i in range(10))"
#: ../../reference/executionmodel.rst:180
msgid "However, the following will succeed::"
msgstr "Folgendes wird jedoch funktionieren:"
#: ../../reference/executionmodel.rst:182
msgid ""
"class A:\n"
" type Alias = Nested\n"
" class Nested: pass\n"
"\n"
"print(A.Alias.__value__) # "
msgstr ""
"class A:\n"
" type Alias = Nested\n"
" class Nested: pass\n"
"\n"
"print(A.Alias.__value__) # "
#: ../../reference/executionmodel.rst:191
msgid "Annotation scopes"
msgstr "Gltigkeitsbereiche von Annotationen"
#: ../../reference/executionmodel.rst:193
msgid ""
":term:`Annotations `, :ref:`type parameter lists ` "
"and :keyword:`type` statements introduce *annotation scopes*, which behave "
"mostly like function scopes, but with some exceptions discussed below."
msgstr ""
":term:`Annotationen `, :ref:`Typ-Parameterlisten ` "
"und :keyword:`type`-Anweisungen fhren *Annotationsgltigkeitsbereiche* ein, "
"die sich grtenteils wie Funktionsgltigkeitsbereiche verhalten, jedoch mit "
"einigen Ausnahmen, die im Folgenden erlutert werden."
#: ../../reference/executionmodel.rst:198
msgid "Annotation scopes are used in the following contexts:"
msgstr "Annotationsbereiche werden in den folgenden Kontexten verwendet:"
#: ../../reference/executionmodel.rst:200
msgid ":term:`Function annotations `."
msgstr ":term:`Funktionsannotationen `."
#: ../../reference/executionmodel.rst:201
msgid ":term:`Variable annotations `."
msgstr ":term:`Variablen-Annotationen `."
#: ../../reference/executionmodel.rst:202
msgid ""
"Type parameter lists for :ref:`generic type aliases `."
msgstr ""
"Typ-Parameterlisten fr :ref:`generische Typ-Aliase `."
#: ../../reference/executionmodel.rst:203
msgid ""
"Type parameter lists for :ref:`generic functions `. A "
"generic function's annotations are executed within the annotation scope, but "
"its defaults and decorators are not."
msgstr ""
"Typ-Parameterlisten fr :ref:`generische Funktionen `. "
"Die Annotationen einer generischen Funktion werden innerhalb des "
"Annotationsbereichs ausgefhrt, ihre Standardwerte und Dekoratoren hingegen "
"nicht."
#: ../../reference/executionmodel.rst:206
msgid ""
"Type parameter lists for :ref:`generic classes `. A generic "
"class's base classes and keyword arguments are executed within the "
"annotation scope, but its decorators are not."
msgstr ""
"Typ-Parameterlisten fr :ref:`generische Klassen `. Die "
"Basisklassen und Schlsselwortargumente einer generischen Klasse werden "
"innerhalb des Annotationsbereichs ausgefhrt, ihre Dekoratoren jedoch nicht."
#: ../../reference/executionmodel.rst:209
msgid ""
"The bounds, constraints, and default values for type parameters (:ref:"
"`lazily evaluated `)."
msgstr ""
"Die Grenzen, Einschrnkungen und Standardwerte fr Typparameter (:ref:"
"`verzgert ausgewertete `)."
#: ../../reference/executionmodel.rst:211
msgid "The value of type aliases (:ref:`lazily evaluated `)."
msgstr ""
"Der Wert von Typaliasen (:ref:`verzgert ausgewertet `)."
#: ../../reference/executionmodel.rst:213
msgid "Annotation scopes differ from function scopes in the following ways:"
msgstr ""
"Annotations-Gltigkeitsbereiche unterscheiden sich in folgenden Punkten von "
"Funktions-Gltigkeitsbereichen:"
#: ../../reference/executionmodel.rst:215
msgid ""
"Annotation scopes have access to their enclosing class namespace. If an "
"annotation scope is immediately within a class scope, or within another "
"annotation scope that is immediately within a class scope, the code in the "
"annotation scope can use names defined in the class scope as if it were "
"executed directly within the class body. This contrasts with regular "
"functions defined within classes, which cannot access names defined in the "
"class scope."
msgstr ""
"Annotationsbereiche haben Zugriff auf den Namensraum ihrer bergeordneten "
"Klasse. Befindet sich ein Annotationsbereich unmittelbar innerhalb eines "
"Klassenbereichs oder innerhalb eines anderen Annotationsbereichs, der sich "
"wiederum unmittelbar innerhalb eines Klassenbereichs befindet, kann der Code "
"im Annotationsbereich auf im Klassenbereich definierte Namen zugreifen, als "
"wrde er direkt innerhalb des Klassenkrpers ausgefhrt. Dies steht im "
"Gegensatz zu regulren, innerhalb von Klassen definierten Funktionen, die "
"keinen Zugriff auf im Klassenbereich definierte Namen haben."
#: ../../reference/executionmodel.rst:221
msgid ""
"Expressions in annotation scopes cannot contain :keyword:`yield`, ``yield "
"from``, :keyword:`await`, or :token:`:= ` expressions. (These expressions are allowed in other "
"scopes contained within the annotation scope.)"
msgstr ""
"Ausdrcke in Annotationsbereichen drfen keine Ausdrcke vom Typ :keyword:"
"`yield`, ``yield from``, :keyword:`await` oder :token:`:= ` enthalten. (Diese Ausdrcke sind in anderen "
"Bereichen zulssig, die innerhalb des Annotationsbereichs enthalten sind.)"
#: ../../reference/executionmodel.rst:225
msgid ""
"Names defined in annotation scopes cannot be rebound with :keyword:"
"`nonlocal` statements in inner scopes. This includes only type parameters, "
"as no other syntactic elements that can appear within annotation scopes can "
"introduce new names."
msgstr ""
"Namen, die in Annotationsbereichen definiert wurden, knnen nicht mit :"
"keyword:`nonlocal`-Anweisungen in inneren Bereichen neu definiert werden. "
"Dies betrifft ausschlielich Typparameter, da keine anderen syntaktischen "
"Elemente, die innerhalb von Annotationsbereichen vorkommen knnen, neue "
"Namen einfhren knnen."
#: ../../reference/executionmodel.rst:228
msgid ""
"While annotation scopes have an internal name, that name is not reflected in "
"the :term:`qualified name` of objects defined within the scope. Instead, "
"the :attr:`~definition.__qualname__` of such objects is as if the object "
"were defined in the enclosing scope."
msgstr ""
"Annotationsbereiche verfgen zwar ber einen internen Namen, dieser Name "
"spiegelt sich jedoch nicht im :term:`qualifizierten Namen ` "
"der innerhalb des Bereichs definierten Objekte wider. Stattdessen entspricht "
"der :attr:`~definition.__qualname__` solcher Objekte dem, als wre das "
"Objekt im bergeordneten Bereich definiert."
#: ../../reference/executionmodel.rst:233
msgid "Annotation scopes were introduced in Python 3.12 as part of :pep:`695`."
msgstr ""
"Annotationsbereiche wurden in Python 3.12 als Teil von :pep:`695` eingefhrt."
#: ../../reference/executionmodel.rst:236
msgid ""
"Annotation scopes are also used for type parameter defaults, as introduced "
"by :pep:`696`."
msgstr ""
"Annotationsbereiche werden auch fr Standardwerte von Typparametern "
"verwendet, wie unter :pep:`696` beschrieben."
#: ../../reference/executionmodel.rst:240
msgid ""
"Annotation scopes are now also used for annotations, as specified in :pep:"
"`649` and :pep:`749`."
msgstr ""
"Annotationsbereiche werden nun auch fr Annotationen verwendet, wie unter :"
"pep:`649` und :pep:`749` beschrieben."
#: ../../reference/executionmodel.rst:247
msgid "Lazy evaluation"
msgstr "Verzgerte Auswertung"
#: ../../reference/executionmodel.rst:249
msgid ""
"Most annotation scopes are *lazily evaluated*. This includes annotations, "
"the values of type aliases created through the :keyword:`type` statement, "
"and the bounds, constraints, and default values of type variables created "
"through the :ref:`type parameter syntax `. This means that they "
"are not evaluated when the type alias or type variable is created, or when "
"the object carrying annotations is created. Instead, they are only evaluated "
"when necessary, for example when the ``__value__`` attribute on a type alias "
"is accessed."
msgstr ""
"Die meisten Annotationsbereiche werden *verzgert ausgewertet*. Dazu gehren "
"Annotationen, die Werte von Typaliasen, die ber die Anweisung :keyword:"
"`type` erstellt wurden, sowie die Grenzen, Einschrnkungen und Standardwerte "
"von Typvariablen, die ber die :ref:`Typ-Parametersyntax ` "
"erstellt wurden. Das bedeutet, dass sie nicht ausgewertet werden, wenn der "
"Typalias oder die Typvariable erstellt wird oder wenn das Objekt, das die "
"Annotationen trgt, erstellt wird. Stattdessen werden sie erst bei Bedarf "
"ausgewertet, beispielsweise wenn auf das Attribut ``__value__`` eines "
"Typalias zugegriffen wird."
#: ../../reference/executionmodel.rst:258
msgid "Example:"
msgstr "Beispiel:"
#: ../../reference/executionmodel.rst:260
msgid ""
">>> type Alias = 1/0\n"
">>> Alias.__value__\n"
"Traceback (most recent call last):\n"
" ...\n"
"ZeroDivisionError: division by zero\n"
">>> def func[T: 1/0](): pass\n"
">>> T = func.__type_params__[0]\n"
">>> T.__bound__\n"
"Traceback (most recent call last):\n"
" ...\n"
"ZeroDivisionError: division by zero"
msgstr ""
">>> type Alias = 1/0\n"
">>> Alias.__value__\n"
"Traceback (most recent call last):\n"
" ...\n"
"ZeroDivisionError: division by zero\n"
">>> def func[T: 1/0](): pass\n"
">>> T = func.__type_params__[0]\n"
">>> T.__bound__\n"
"Traceback (most recent call last):\n"
" ...\n"
"ZeroDivisionError: division by zero"
#: ../../reference/executionmodel.rst:274
msgid ""
"Here the exception is raised only when the ``__value__`` attribute of the "
"type alias or the ``__bound__`` attribute of the type variable is accessed."
msgstr ""
"Hier wird die Ausnahme nur ausgelst, wenn auf das Attribut ``__value__`` "
"des Typalias oder auf das Attribut ``__bound__`` der Typvariablen "
"zugegriffen wird."
#: ../../reference/executionmodel.rst:278
msgid ""
"This behavior is primarily useful for references to types that have not yet "
"been defined when the type alias or type variable is created. For example, "
"lazy evaluation enables creation of mutually recursive type aliases::"
msgstr ""
"Dieses Verhalten ist vor allem bei Verweisen auf Typen ntzlich, die zum "
"Zeitpunkt der Erstellung des Typalias oder der Typvariablen noch nicht "
"definiert waren. So ermglicht die verzgerte Auswertung beispielsweise die "
"Erstellung von gegenseitig rekursiven Typalias:"
#: ../../reference/executionmodel.rst:282
msgid ""
"from typing import Literal\n"
"\n"
"type SimpleExpr = int | Parenthesized\n"
"type Parenthesized = tuple[Literal[\"(\"], Expr, Literal[\")\"]]\n"
"type Expr = SimpleExpr | tuple[SimpleExpr, Literal[\"+\", \"-\"], Expr]"
msgstr ""
"from typing import Literal\n"
"\n"
"type SimpleExpr = int | Parenthesized\n"
"type Parenthesized = tuple[Literal[\"(\"], Expr, Literal[\")\"]]\n"
"type Expr = SimpleExpr | tuple[SimpleExpr, Literal[\"+\", \"-\"], Expr]"
#: ../../reference/executionmodel.rst:288
msgid ""
"Lazily evaluated values are evaluated in :ref:`annotation scope `, which means that names that appear inside the lazily evaluated "
"value are looked up as if they were used in the immediately enclosing scope."
msgstr ""
"Verzgerte ausgewertete Werte werden im :ref:`Annotationsbereich ` ausgewertet, was bedeutet, dass Namen, die innerhalb des "
"verzgertausgewerteten Werts vorkommen, so nachgeschlagen werden, als wrden "
"sie im unmittelbar umgebenden Bereich verwendet."
#: ../../reference/executionmodel.rst:297
msgid "Builtins and restricted execution"
msgstr "Eingebaute Funktionen und eingeschrnkte Ausfhrung"
#: ../../reference/executionmodel.rst:303
msgid ""
"Users should not touch ``__builtins__``; it is strictly an implementation "
"detail. Users wanting to override values in the builtins namespace should :"
"keyword:`import` the :mod:`builtins` module and modify its attributes "
"appropriately."
msgstr ""
"Benutzer sollten ``__builtins__`` nicht ndern; es handelt sich dabei "
"ausschlielich um ein Implementierungsdetail. Benutzer, die Werte im "
"Namespace \"builtins\" berschreiben mchten, sollten das Modul :mod:"
"`builtins` ber :keyword:`import` laden und dessen Attribute entsprechend "
"anpassen."
#: ../../reference/executionmodel.rst:308
msgid ""
"The builtins namespace associated with the execution of a code block is "
"actually found by looking up the name ``__builtins__`` in its global "
"namespace; this should be a dictionary or a module (in the latter case the "
"module's dictionary is used). By default, when in the :mod:`__main__` "
"module, ``__builtins__`` is the built-in module :mod:`builtins`; when in any "
"other module, ``__builtins__`` is an alias for the dictionary of the :mod:"
"`builtins` module itself."
msgstr ""
"Der mit der Ausfhrung eines Codeblocks verbundene \"builtins\"-Namensraum "
"wird tatschlich durch Abfrage des Namens ``__builtins__`` in dessen "
"globalem Namensraum ermittelt; dabei sollte es sich um ein Wrterbuch oder "
"ein Modul handeln (im letzteren Fall wird das Wrterbuch des Moduls "
"verwendet). Standardmig ist ``__builtins__`` im Modul :mod:`__main__` das "
"eingebaute Modul :mod:`builtins` ; in jedem anderen Modul ist "
"``__builtins__`` ein Alias fr das Wrterbuch des Moduls :mod:`builtins` "
"selbst."
#: ../../reference/executionmodel.rst:320
msgid "Interaction with dynamic features"
msgstr "Interaktion mit dynamischen Funktionen"
#: ../../reference/executionmodel.rst:322
msgid ""
"Name resolution of free variables occurs at runtime, not at compile time. "
"This means that the following code will print 42::"
msgstr ""
"Die Auflsung freier Variablen erfolgt zur Laufzeit und nicht zur "
"Kompilierungszeit. Das bedeutet, dass der folgende Code 42 ausgibt::"
#: ../../reference/executionmodel.rst:325
msgid ""
"i = 10\n"
"def f():\n"
" print(i)\n"
"i = 42\n"
"f()"
msgstr ""
"i = 10\n"
"def f():\n"
" print(i)\n"
"i = 42\n"
"f()"
#: ../../reference/executionmodel.rst:333
msgid ""
"The :func:`eval` and :func:`exec` functions do not have access to the full "
"environment for resolving names. Names may be resolved in the local and "
"global namespaces of the caller. Free variables are not resolved in the "
"nearest enclosing namespace, but in the global namespace. [#]_ The :func:"
"`exec` and :func:`eval` functions have optional arguments to override the "
"global and local namespace. If only one namespace is specified, it is used "
"for both."
msgstr ""
"Die Funktionen :func:`eval` und :func:`exec` haben keinen Zugriff auf die "
"vollstndige Umgebung zur Namensauflsung. Namen knnen im lokalen und "
"globalen Namensraum des Aufrufers aufgelst werden. Freie Variablen werden "
"nicht im nchstbergeordneten Namensraum, sondern im globalen Namensraum "
"aufgelst. [#]_ Die Funktionen :func:`exec` und :func:`eval` verfgen ber "
"optionale Argumente, um den globalen und lokalen Namensraum zu "
"berschreiben. Wird nur ein Namensraum angegeben, wird dieser fr beide "
"verwendet."
#: ../../reference/executionmodel.rst:347
msgid "Exceptions"
msgstr "Ausnahmen"
#: ../../reference/executionmodel.rst:358
msgid ""
"Exceptions are a means of breaking out of the normal flow of control of a "
"code block in order to handle errors or other exceptional conditions. An "
"exception is *raised* at the point where the error is detected; it may be "
"*handled* by the surrounding code block or by any code block that directly "
"or indirectly invoked the code block where the error occurred."
msgstr ""
"Ausnahmen dienen dazu, den normalen Kontrollfluss eines Codeblocks zu "
"unterbrechen, um Fehler oder andere Ausnahmebedingungen zu behandeln. Eine "
"Ausnahme wird an der Stelle *ausgelst*, an der der Fehler erkannt wird; sie "
"kann vom umgebenden Codeblock oder von jedem Codeblock *behandelt* werden, "
"der den Codeblock, in dem der Fehler aufgetreten ist, direkt oder indirekt "
"aufgerufen hat."
#: ../../reference/executionmodel.rst:364
msgid ""
"The Python interpreter raises an exception when it detects a run-time error "
"(such as division by zero). A Python program can also explicitly raise an "
"exception with the :keyword:`raise` statement. Exception handlers are "
"specified with the :keyword:`try` ... :keyword:`except` statement. The :"
"keyword:`finally` clause of such a statement can be used to specify cleanup "
"code which does not handle the exception, but is executed whether an "
"exception occurred or not in the preceding code."
msgstr ""
"Der Python-Interpreter lst eine Ausnahme aus, wenn er einen Laufzeitfehler "
"(wie beispielsweise eine Division durch Null) feststellt. Ein Python-"
"Programm kann zudem mit der Anweisung :keyword:`raise` explizit eine "
"Ausnahme auslsen. Ausnahmebehandler werden mit der Anweisung :keyword:"
"`try`... :keyword:`except` festgelegt. Die Klausel :keyword:`finally` einer "
"solchen Anweisung kann verwendet werden, um Aufrumcode anzugeben, der die "
"Ausnahme nicht behandelt, sondern unabhngig davon ausgefhrt wird, ob im "
"vorangehenden Code eine Ausnahme aufgetreten ist oder nicht."
#: ../../reference/executionmodel.rst:374
msgid ""
"Python uses the \"termination\" model of error handling: an exception "
"handler can find out what happened and continue execution at an outer level, "
"but it cannot repair the cause of the error and retry the failing operation "
"(except by re-entering the offending piece of code from the top)."
msgstr ""
"Python verwendet das \"Termination\"-Modell der Fehlerbehandlung: Ein "
"Ausnahmebehandler kann zwar feststellen, was passiert ist, und die "
"Ausfhrung auf einer bergeordneten Ebene fortsetzen, aber er kann die "
"Fehlerursache nicht beheben und den fehlgeschlagenen Vorgang nicht "
"wiederholen (auer durch erneutes Ausfhren des fehlerhaften Codeabschnitts "
"von Anfang an)."
#: ../../reference/executionmodel.rst:381
msgid ""
"When an exception is not handled at all, the interpreter terminates "
"execution of the program, or returns to its interactive main loop. In "
"either case, it prints a stack traceback, except when the exception is :exc:"
"`SystemExit`."
msgstr ""
"Wird eine Ausnahme berhaupt nicht abgefangen, bricht der Interpreter die "
"Ausfhrung des Programms ab oder kehrt zu seiner interaktiven Hauptschleife "
"zurck. In beiden Fllen gibt er einen Stack-Traceback aus, es sei denn, es "
"handelt sich um die Ausnahme :exc:`SystemExit` ."
#: ../../reference/executionmodel.rst:385
msgid ""
"Exceptions are identified by class instances. The :keyword:`except` clause "
"is selected depending on the class of the instance: it must reference the "
"class of the instance or a :term:`non-virtual base class ` thereof. The instance can be received by the handler and can carry "
"additional information about the exceptional condition."
msgstr ""
"Ausnahmen werden anhand von Klasseninstanzen identifiziert. Die Klausel :"
"keyword:`except` wird je nach Klasse der Instanz ausgewhlt: Sie muss auf "
"die Klasse der Instanz oder auf eine :term:`nicht-virtuelle Basisklasse "
"` derselben verweisen. Die Instanz kann vom Handler "
"empfangen werden und zustzliche Informationen ber die Ausnahmebedingung "
"enthalten."
#: ../../reference/executionmodel.rst:393
msgid ""
"Exception messages are not part of the Python API. Their contents may "
"change from one version of Python to the next without warning and should not "
"be relied on by code which will run under multiple versions of the "
"interpreter."
msgstr ""
"Ausnahmemeldungen sind nicht Teil der Python-API. Ihr Inhalt kann sich von "
"einer Python-Version zur nchsten ohne Vorwarnung ndern, weshalb sich Code, "
"der unter mehreren Versionen des Interpreters ausgefhrt wird, nicht darauf "
"verlassen sollte."
#: ../../reference/executionmodel.rst:397
msgid ""
"See also the description of the :keyword:`try` statement in section :ref:"
"`try` and :keyword:`raise` statement in section :ref:`raise`."
msgstr ""
"Siehe auch die Beschreibung der Anweisung :keyword:`try` im Abschnitt :ref:"
"`try` und der Anweisung :keyword:`raise` im Abschnitt :ref:`raise`."
#: ../../reference/executionmodel.rst:404
msgid "Runtime Components"
msgstr "Laufzeitkomponenten"
#: ../../reference/executionmodel.rst:407
msgid "General Computing Model"
msgstr "Allgemeines Rechenmodell"
#: ../../reference/executionmodel.rst:409
msgid ""
"Python's execution model does not operate in a vacuum. It runs on a host "
"machine and through that host's runtime environment, including its operating "
"system (OS), if there is one. When a program runs, the conceptual layers of "
"how it runs on the host look something like this:"
msgstr ""
"Das Ausfhrungsmodell von Python funktioniert nicht in einem Vakuum. Es "
"luft auf einem Host-Rechner und nutzt dessen Laufzeitumgebung, "
"einschlielich des Betriebssystems (OS), sofern vorhanden. Wenn ein Programm "
"ausgefhrt wird, sehen die konzeptionellen Ebenen seiner Ausfhrung auf dem "
"Host in etwa wie folgt aus:"
#: ../../reference/executionmodel.rst:415
#: ../../reference/executionmodel.rst:474
msgid "**host machine**"
msgstr "**Host-Rechner**"
#: ../../reference/executionmodel.rst:416
#: ../../reference/executionmodel.rst:475
msgid "**process** (global resources)"
msgstr "**Prozess** (globale Ressourcen)"
#: ../../reference/executionmodel.rst:417
msgid "**thread** (runs machine code)"
msgstr "**Thread** (fhrt Maschinencode aus)"
#: ../../reference/executionmodel.rst:419
msgid ""
"Each process represents a program running on the host. Think of each "
"process itself as the data part of its program. Think of the process' "
"threads as the execution part of the program. This distinction will be "
"important to understand the conceptual Python runtime."
msgstr ""
"Jeder Prozess entspricht einem Programm, das auf dem Host luft. Stellen Sie "
"sich jeden Prozess selbst als den Datenteil seines Programms vor. Stellen "
"Sie sich die Threads des Prozesses als den Ausfhrungsteil des Programms "
"vor. Diese Unterscheidung ist wichtig, um die konzeptionelle Python-"
"Laufzeitumgebung zu verstehen."
#: ../../reference/executionmodel.rst:424
msgid ""
"The process, as the data part, is the execution context in which the program "
"runs. It mostly consists of the set of resources assigned to the program by "
"the host, including memory, signals, file handles, sockets, and environment "
"variables."
msgstr ""
"Der Prozess ist, ebenso wie der Datenteil, der Ausfhrungskontext, in dem "
"das Programm luft. Er besteht im Wesentlichen aus der Gesamtheit der "
"Ressourcen, die dem Programm vom Host zugewiesen wurden, darunter Speicher, "
"Signale, Dateihandles, Sockets und Umgebungsvariablen."
#: ../../reference/executionmodel.rst:429
msgid ""
"Processes are isolated and independent from one another. (The same is true "
"for hosts.) The host manages the process' access to its assigned resources, "
"in addition to coordinating between processes."
msgstr ""
"Prozesse sind voneinander isoliert und unabhngig. (Das Gleiche gilt fr "
"Hosts.) Der Host verwaltet den Zugriff des Prozesses auf die ihm "
"zugewiesenen Ressourcen und sorgt zudem fr die Koordination zwischen den "
"Prozessen."
#: ../../reference/executionmodel.rst:433
msgid ""
"Each thread represents the actual execution of the program's machine code, "
"running relative to the resources assigned to the program's process. It's "
"strictly up to the host how and when that execution takes place."
msgstr ""
"Jeder Thread steht fr die tatschliche Ausfhrung des Maschinencodes des "
"Programms, die relativ zu den Ressourcen erfolgt, die dem Prozess des "
"Programms zugewiesen sind. Es liegt ausschlielich im Ermessen des Hosts, "
"wie und wann diese Ausfhrung stattfindet."
#: ../../reference/executionmodel.rst:438
msgid ""
"From the point of view of Python, a program always starts with exactly one "
"thread. However, the program may grow to run in multiple simultaneous "
"threads. Not all hosts support multiple threads per process, but most do. "
"Unlike processes, threads in a process are not isolated and independent from "
"one another. Specifically, all threads in a process share all of the "
"process' resources."
msgstr ""
"Aus Sicht von Python beginnt ein Programm immer mit genau einem Thread. Das "
"Programm kann jedoch so wachsen, dass es in mehreren gleichzeitigen Threads "
"ausgefhrt wird. Nicht alle Hosts untersttzen mehrere Threads pro Prozess, "
"die meisten jedoch schon. Im Gegensatz zu Prozessen sind Threads innerhalb "
"eines Prozesses nicht voneinander isoliert und unabhngig. Konkret bedeutet "
"dies, dass sich alle Threads eines Prozesses die gesamten Ressourcen des "
"Prozesses teilen."
#: ../../reference/executionmodel.rst:445
msgid ""
"The fundamental point of threads is that each one does *run* independently, "
"at the same time as the others. That may be only conceptually at the same "
"time (\"concurrently\") or physically (\"in parallel\"). Either way, the "
"threads effectively run at a non-synchronized rate."
msgstr ""
"Das Wesentliche an Threads ist, dass jeder einzelne unabhngig von den "
"anderen *luft*, und zwar gleichzeitig mit ihnen. Das kann entweder nur "
"konzeptionell gleichzeitig (\"konkurrent\") oder physisch (\"parallel\") der "
"Fall sein. So oder so laufen die Threads effektiv mit einer nicht "
"synchronisierten Geschwindigkeit."
#: ../../reference/executionmodel.rst:453
msgid ""
"That non-synchronized rate means none of the process' memory is guaranteed "
"to stay consistent for the code running in any given thread. Thus multi-"
"threaded programs must take care to coordinate access to intentionally "
"shared resources. Likewise, they must take care to be absolutely diligent "
"about not accessing any *other* resources in multiple threads; otherwise two "
"threads running at the same time might accidentally interfere with each "
"other's use of some shared data. All this is true for both Python programs "
"and the Python runtime."
msgstr ""
"Diese nicht synchronisierte Rate bedeutet, dass fr den in einem bestimmten "
"Thread ausgefhrten Code nicht garantiert werden kann, dass der Speicher des "
"Prozesses konsistent bleibt. Daher mssen Multithread-Programme darauf "
"achten, den Zugriff auf bewusst gemeinsam genutzte Ressourcen zu "
"koordinieren. Ebenso mssen sie unbedingt darauf achten, in mehreren "
"Threads nicht auf *andere* Ressourcen zuzugreifen; andernfalls knnten sich "
"zwei gleichzeitig laufende Threads versehentlich bei der Nutzung gemeinsamer "
"Daten gegenseitig stren. All dies gilt sowohl fr Python-Programme als "
"auch fr die Python-Laufzeitumgebung."
#: ../../reference/executionmodel.rst:463
msgid ""
"The cost of this broad, unstructured requirement is the tradeoff for the "
"kind of raw concurrency that threads provide. The alternative to the "
"required discipline generally means dealing with non-deterministic bugs and "
"data corruption."
msgstr ""
"Der Preis fr diese weit gefasste, unstrukturierte Anforderung ist der "
"Kompromiss, den man fr die Art von roher Parallelitt eingehen muss, die "
"Threads bieten. Die Alternative zu der erforderlichen Disziplin bedeutet in "
"der Regel, sich mit nichtdeterministischen Fehlern und Datenbeschdigungen "
"auseinandersetzen zu mssen."
#: ../../reference/executionmodel.rst:469
msgid "Python Runtime Model"
msgstr "Python-Laufzeitmodell"
#: ../../reference/executionmodel.rst:471
msgid ""
"The same conceptual layers apply to each Python program, with some extra "
"data layers specific to Python:"
msgstr ""
"Fr jedes Python-Programm gelten dieselben konzeptionellen Ebenen, ergnzt "
"durch einige zustzliche, fr Python spezifische Datenschichten:"
#: ../../reference/executionmodel.rst:476
msgid "Python global runtime (*state*)"
msgstr "Globale Laufzeitumgebung von Python (*state*)"
#: ../../reference/executionmodel.rst:477
msgid "Python interpreter (*state*)"
msgstr "Python-Interpreter (*Zustand*)"
#: ../../reference/executionmodel.rst:478
msgid "**thread** (runs Python bytecode and \"C-API\")"
msgstr "**Thread** (fhrt Python-Bytecode und \"C-API\" aus)"
#: ../../reference/executionmodel.rst:479
msgid "Python thread *state*"
msgstr "Python-Thread-*Zustand*"
#: ../../reference/executionmodel.rst:481
msgid ""
"At the conceptual level: when a Python program starts, it looks exactly like "
"that diagram, with one of each. The runtime may grow to include multiple "
"interpreters, and each interpreter may grow to include multiple thread "
"states."
msgstr ""
"Auf konzeptioneller Ebene: Wenn ein Python-Programm startet, sieht es genau "
"wie in diesem Diagramm aus, wobei jeweils nur ein Element vorhanden ist. Die "
"Laufzeitumgebung kann sich so weit ausdehnen, dass sie mehrere Interpreter "
"umfasst, und jeder Interpreter kann sich so weit ausdehnen, dass er mehrere "
"Thread-Zustnde umfasst."
#: ../../reference/executionmodel.rst:488
msgid ""
"A Python implementation won't necessarily implement the runtime layers "
"distinctly or even concretely. The only exception is places where distinct "
"layers are directly specified or exposed to users, like through the :mod:"
"`threading` module."
msgstr ""
"Eine Python-Implementierung muss die Laufzeitschichten nicht unbedingt klar "
"voneinander abgegrenzt oder gar konkret implementieren. Die einzige Ausnahme "
"bilden Stellen, an denen bestimmte Schichten direkt festgelegt oder den "
"Benutzern zugnglich gemacht werden, beispielsweise ber das Modul :mod:"
"`threading` ."
#: ../../reference/executionmodel.rst:495
msgid ""
"The initial interpreter is typically called the \"main\" interpreter. Some "
"Python implementations, like CPython, assign special roles to the main "
"interpreter."
msgstr ""
"Der ursprngliche Interpreter wird in der Regel als \"Haupt\"-Interpreter "
"bezeichnet. Einige Python-Implementierungen, wie beispielsweise CPython, "
"weisen dem Hauptinterpreter besondere Rollen zu."
#: ../../reference/executionmodel.rst:499
msgid ""
"Likewise, the host thread where the runtime was initialized is known as the "
"\"main\" thread. It may be different from the process' initial thread, "
"though they are often the same. In some cases \"main thread\" may be even "
"more specific and refer to the initial thread state. A Python runtime might "
"assign specific responsibilities to the main thread, such as handling "
"signals."
msgstr ""
"Ebenso wird der Host-Thread, in dem die Laufzeitumgebung initialisiert "
"wurde, als \"Hauptthread\" bezeichnet. Er kann sich vom Start-Thread des "
"Prozesses unterscheiden, obwohl beide oft identisch sind. In manchen Fllen "
"kann der Begriff Hauptthread sogar noch spezifischer sein und sich auf den "
"Zustand des Start-Threads beziehen. Eine Python-Laufzeitumgebung kann dem "
"Hauptthread bestimmte Aufgaben zuweisen, wie beispielsweise die Verarbeitung "
"von Signalen."
#: ../../reference/executionmodel.rst:506
msgid ""
"As a whole, the Python runtime consists of the global runtime state, "
"interpreters, and thread states. The runtime ensures all that state stays "
"consistent over its lifetime, particularly when used with multiple host "
"threads."
msgstr ""
"Insgesamt besteht die Python-Laufzeitumgebung aus dem globalen "
"Laufzeitzustand, den Interpretern und den Thread-Zustnden. Die "
"Laufzeitumgebung stellt sicher, dass all diese Zustnde whrend ihrer "
"gesamten Lebensdauer konsistent bleiben, insbesondere bei der Verwendung mit "
"mehreren Host-Threads."
#: ../../reference/executionmodel.rst:511
msgid ""
"The global runtime, at the conceptual level, is just a set of interpreters. "
"While those interpreters are otherwise isolated and independent from one "
"another, they may share some data or other resources. The runtime is "
"responsible for managing these global resources safely. The actual nature "
"and management of these resources is implementation-specific. Ultimately, "
"the external utility of the global runtime is limited to managing "
"interpreters."
msgstr ""
"Die globale Laufzeitumgebung ist auf konzeptioneller Ebene lediglich eine "
"Sammlung von Interpretern. Obwohl diese Interpreter ansonsten voneinander "
"isoliert und unabhngig sind, knnen sie bestimmte Daten oder andere "
"Ressourcen gemeinsam nutzen. Die Laufzeitumgebung ist dafr verantwortlich, "
"diese globalen Ressourcen sicher zu verwalten. Die konkrete Ausgestaltung "
"und Verwaltung dieser Ressourcen ist implementierungsspezifisch. "
"Letztendlich beschrnkt sich der externe Nutzen der globalen "
"Laufzeitumgebung auf die Verwaltung von Interpretern."
#: ../../reference/executionmodel.rst:519
msgid ""
"In contrast, an \"interpreter\" is conceptually what we would normally think "
"of as the (full-featured) \"Python runtime\". When machine code executing "
"in a host thread interacts with the Python runtime, it calls into Python in "
"the context of a specific interpreter."
msgstr ""
"Im Gegensatz dazu entspricht ein \"Interpreter\" konzeptionell dem, was wir "
"normalerweise unter der (voll funktionsfhigen) \"Python-Laufzeitumgebung\" "
"verstehen. Wenn Maschinencode, der in einem Host-Thread ausgefhrt wird, mit "
"der Python-Laufzeitumgebung interagiert, ruft er Python im Kontext eines "
"bestimmten Interpreters auf."
#: ../../reference/executionmodel.rst:526
msgid ""
"The term \"interpreter\" here is not the same as the \"bytecode "
"interpreter\", which is what regularly runs in threads, executing compiled "
"Python code."
msgstr ""
"Der Begriff \"Interpreter\" ist hier nicht mit dem \"Bytecode-Interpreter\" "
"gleichzusetzen, der blicherweise in Threads luft und kompilierten Python-"
"Code ausfhrt."
#: ../../reference/executionmodel.rst:530
msgid ""
"In an ideal world, \"Python runtime\" would refer to what we currently call "
"\"interpreter\". However, it's been called \"interpreter\" at least since "
"introduced in 1997 (`CPython:a027efa5b`_)."
msgstr ""
"In einer idealen Welt wrde sich der Begriff \"Python-Laufzeitumgebung\" auf "
"das beziehen, was wir derzeit als \"Interpreter\" bezeichnen. Allerdings "
"wird er bereits seit seiner Einfhrung im Jahr 1997 als \"Interpreter\" "
"bezeichnet (`CPython:a027efa5b`_)."
#: ../../reference/executionmodel.rst:536
msgid ""
"Each interpreter completely encapsulates all of the non-process-global, non-"
"thread-specific state needed for the Python runtime to work. Notably, the "
"interpreter's state persists between uses. It includes fundamental data "
"like :data:`sys.modules`. The runtime ensures multiple threads using the "
"same interpreter will safely share it between them."
msgstr ""
"Jeder Interpreter kapselt den gesamten nicht prozessglobalen und nicht "
"threadspezifischen Zustand vollstndig ein, der fr den Betrieb der Python-"
"Laufzeitumgebung erforderlich ist. Insbesondere bleibt der Zustand des "
"Interpreters zwischen den einzelnen Verwendungen erhalten. Er umfasst "
"grundlegende Daten wie :data:`sys.modules`. Die Laufzeitumgebung stellt "
"sicher, dass mehrere Threads, die denselben Interpreter verwenden, diesen "
"sicher untereinander gemeinsam nutzen knnen."
#: ../../reference/executionmodel.rst:543
msgid ""
"A Python implementation may support using multiple interpreters at the same "
"time in the same process. They are independent and isolated from one "
"another. For example, each interpreter has its own :data:`sys.modules`."
msgstr ""
"Eine Python-Implementierung kann die gleichzeitige Nutzung mehrerer "
"Interpreter innerhalb desselben Prozesses untersttzen. Diese sind "
"voneinander unabhngig und isoliert. So verfgt beispielsweise jeder "
"Interpreter ber eine eigene Instanz von :data:`sys.modules`."
#: ../../reference/executionmodel.rst:548
msgid ""
"For thread-specific runtime state, each interpreter has a set of thread "
"states, which it manages, in the same way the global runtime contains a set "
"of interpreters. It can have thread states for as many host threads as it "
"needs. It may even have multiple thread states for the same host thread, "
"though that isn't as common."
msgstr ""
"Fr den threadspezifischen Laufzeitstatus verfgt jeder Interpreter ber "
"eine Reihe von Thread-Zustnden, die er verwaltet genauso wie die globale "
"Laufzeitumgebung eine Reihe von Interpretern enthlt. Er kann Thread-"
"Zustnde fr so viele Host-Threads haben, wie er bentigt. Es kann sogar "
"vorkommen, dass er mehrere Thread-Zustnde fr denselben Host-Thread hat, "
"auch wenn dies nicht allzu hufig vorkommt."
#: ../../reference/executionmodel.rst:554
msgid ""
"Each thread state, conceptually, has all the thread-specific runtime data an "
"interpreter needs to operate in one host thread. The thread state includes "
"the current raised exception and the thread's Python call stack. It may "
"include other thread-specific resources."
msgstr ""
"Konzeptionell enthlt jeder Thread-Zustand alle threadspezifischen "
"Laufzeitdaten, die ein Interpreter bentigt, um in einem Host-Thread zu "
"arbeiten. Der Thread-Zustand umfasst die aktuell ausgelste Ausnahme und den "
"Python-Aufrufstapel des Threads. Er kann auch weitere threadspezifische "
"Ressourcen enthalten."
#: ../../reference/executionmodel.rst:561
msgid ""
"The term \"Python thread\" can sometimes refer to a thread state, but "
"normally it means a thread created using the :mod:`threading` module."
msgstr ""
"Der Begriff \"Python-Thread\" kann sich manchmal auf einen Thread-Zustand "
"beziehen, bezeichnet jedoch in der Regel einen Thread, der mithilfe des "
"Moduls :mod:`threading` erstellt wurde."
#: ../../reference/executionmodel.rst:564
msgid ""
"Each thread state, over its lifetime, is always tied to exactly one "
"interpreter and exactly one host thread. It will only ever be used in that "
"thread and with that interpreter."
msgstr ""
"Jeder Thread-Zustand ist whrend seiner gesamten Lebensdauer stets an genau "
"einen Interpreter und genau einen Host-Thread gebunden. Er wird "
"ausschlielich in diesem Thread und mit diesem Interpreter verwendet."
#: ../../reference/executionmodel.rst:568
msgid ""
"Multiple thread states may be tied to the same host thread, whether for "
"different interpreters or even the same interpreter. However, for any given "
"host thread, only one of the thread states tied to it can be used by the "
"thread at a time."
msgstr ""
"Einem Host-Thread knnen mehrere Thread-Zustnde zugeordnet sein, sei es fr "
"verschiedene Interpreter oder sogar fr denselben Interpreter. Fr einen "
"bestimmten Host-Thread kann jedoch jeweils nur einer der ihm zugeordneten "
"Thread-Zustnde von diesem Thread verwendet werden."
#: ../../reference/executionmodel.rst:573
msgid ""
"Thread states are isolated and independent from one another and don't share "
"any data, except for possibly sharing an interpreter and objects or other "
"resources belonging to that interpreter."
msgstr ""
"Die Zustnde der Threads sind voneinander isoliert und unabhngig und "
"tauschen keine Daten aus, abgesehen von der mglichen gemeinsamen Nutzung "
"eines Interpreters sowie von Objekten oder anderen Ressourcen, die zu diesem "
"Interpreter gehren."
#: ../../reference/executionmodel.rst:577
msgid ""
"Once a program is running, new Python threads can be created using the :mod:"
"`threading` module (on platforms and Python implementations that support "
"threads). Additional processes can be created using the :mod:`os`, :mod:"
"`subprocess`, and :mod:`multiprocessing` modules. Interpreters can be "
"created and used with the :mod:`~concurrent.interpreters` module. "
"Coroutines (async) can be run using :mod:`asyncio` in each interpreter, "
"typically only in a single thread (often the main thread)."
msgstr ""
"Sobald ein Programm luft, knnen mithilfe des Moduls :mod:`threading` neue "
"Python-Threads erstellt werden (auf Plattformen und in Python-"
"Implementierungen, die Threads untersttzen). Zustzliche Prozesse knnen "
"mithilfe der Module :mod:`os`, :mod:`subprocess` und :mod:`multiprocessing` "
"erstellt werden. Interpreter knnen mit dem Modul :mod:`~concurrent."
"interpreters` erstellt und verwendet werden. Coroutinen (async) knnen "
"mithilfe von :mod:`asyncio` in jedem Interpreter ausgefhrt werden, in der "
"Regel nur in einem einzigen Thread (hufig dem Hauptthread)."
#: ../../reference/executionmodel.rst:588
msgid "Footnotes"
msgstr "Funoten"
#: ../../reference/executionmodel.rst:589
msgid ""
"This limitation occurs because the code that is executed by these operations "
"is not available at the time the module is compiled."
msgstr ""
"Diese Einschrnkung ergibt sich daraus, dass der Code, der durch diese "
"Operationen ausgefhrt wird, zum Zeitpunkt der Kompilierung des Moduls noch "
"nicht verfgbar ist."
#: ../../reference/executionmodel.rst:8
msgid "execution model"
msgstr "execution model"
#: ../../reference/executionmodel.rst:8
msgid "code"
msgstr "code"
#: ../../reference/executionmodel.rst:8 ../../reference/executionmodel.rst:17
msgid "block"
msgstr "block"
#: ../../reference/executionmodel.rst:31 ../../reference/executionmodel.rst:299
msgid "execution"
msgstr "execution"
#: ../../reference/executionmodel.rst:31
msgid "frame"
msgstr "frame"
#: ../../reference/executionmodel.rst:42
msgid "namespace"
msgstr "namespace"
#: ../../reference/executionmodel.rst:42 ../../reference/executionmodel.rst:103
msgid "scope"
msgstr "scope"
#: ../../reference/executionmodel.rst:51
msgid "name"
msgstr "name"
#: ../../reference/executionmodel.rst:51
msgid "binding"
msgstr "binding"
#: ../../reference/executionmodel.rst:57
msgid "from"
msgstr "from"
#: ../../reference/executionmodel.rst:57
msgid "import statement"
msgstr "import statement"
#: ../../reference/executionmodel.rst:87
msgid "free"
msgstr "free"
#: ../../reference/executionmodel.rst:87
msgid "variable"
msgstr "variable"
#: ../../reference/executionmodel.rst:111
msgid "environment"
msgstr "environment"
#: ../../reference/executionmodel.rst:117
msgid "NameError (built-in exception)"
msgstr "NameError (built-in exception)"
#: ../../reference/executionmodel.rst:117
msgid "UnboundLocalError"
msgstr "UnboundLocalError"
#: ../../reference/executionmodel.rst:158
msgid "module"
msgstr "module"
#: ../../reference/executionmodel.rst:158
msgid "__main__"
msgstr "__main__"
#: ../../reference/executionmodel.rst:299
msgid "restricted"
msgstr "restricted"
#: ../../reference/executionmodel.rst:349
msgid "exception"
msgstr "exception"
#: ../../reference/executionmodel.rst:351
msgid "raise an exception"
msgstr "raise an exception"
#: ../../reference/executionmodel.rst:351
msgid "handle an exception"
msgstr "handle an exception"
#: ../../reference/executionmodel.rst:351
msgid "exception handler"
msgstr "exception handler"
#: ../../reference/executionmodel.rst:351
msgid "errors"
msgstr "errors"
#: ../../reference/executionmodel.rst:351
msgid "error handling"
msgstr "error handling"
#: ../../reference/executionmodel.rst:372
msgid "termination model"
msgstr "termination model"
#: ../../reference/executionmodel.rst:379
msgid "SystemExit (built-in exception)"
msgstr "SystemExit (built-in exception)"