forked from AFPy/python-docs-fr
1054 lines
43 KiB
Plaintext
1054 lines
43 KiB
Plaintext
|
# SOME DESCRIPTIVE TITLE.
|
||
|
# Copyright (C) 1990-2016, Python Software Foundation
|
||
|
# This file is distributed under the same license as the Python package.
|
||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||
|
#
|
||
|
#, fuzzy
|
||
|
msgid ""
|
||
|
msgstr ""
|
||
|
"Project-Id-Version: Python 2.7\n"
|
||
|
"Report-Msgid-Bugs-To: \n"
|
||
|
"POT-Creation-Date: 2016-10-30 10:44+0100\n"
|
||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||
|
"MIME-Version: 1.0\n"
|
||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||
|
"Content-Transfer-Encoding: 8bit\n"
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:6
|
||
|
msgid "Simple statements"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:10
|
||
|
msgid ""
|
||
|
"Simple statements are comprised within a single logical line. Several simple "
|
||
|
"statements may occur on a single line separated by semicolons. The syntax "
|
||
|
"for simple statements is:"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:35
|
||
|
msgid "Expression statements"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:41
|
||
|
msgid ""
|
||
|
"Expression statements are used (mostly interactively) to compute and write a "
|
||
|
"value, or (usually) to call a procedure (a function that returns no "
|
||
|
"meaningful result; in Python, procedures return the value ``None``). Other "
|
||
|
"uses of expression statements are allowed and occasionally useful. The "
|
||
|
"syntax for an expression statement is:"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:50
|
||
|
msgid ""
|
||
|
"An expression statement evaluates the expression list (which may be a single "
|
||
|
"expression)."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:62
|
||
|
msgid ""
|
||
|
"In interactive mode, if the value is not ``None``, it is converted to a "
|
||
|
"string using the built-in :func:`repr` function and the resulting string is "
|
||
|
"written to standard output (see section :ref:`print`) on a line by itself. "
|
||
|
"(Expression statements yielding ``None`` are not written, so that procedure "
|
||
|
"calls do not cause any output.)"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:72
|
||
|
msgid "Assignment statements"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:82
|
||
|
msgid ""
|
||
|
"Assignment statements are used to (re)bind names to values and to modify "
|
||
|
"attributes or items of mutable objects:"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:95 ../Doc/reference/simple_stmts.rst:267
|
||
|
msgid ""
|
||
|
"(See section :ref:`primaries` for the syntax definitions for the last three "
|
||
|
"symbols.)"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:100
|
||
|
msgid ""
|
||
|
"An assignment statement evaluates the expression list (remember that this "
|
||
|
"can be a single expression or a comma-separated list, the latter yielding a "
|
||
|
"tuple) and assigns the single resulting object to each of the target lists, "
|
||
|
"from left to right."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:109
|
||
|
msgid ""
|
||
|
"Assignment is defined recursively depending on the form of the target "
|
||
|
"(list). When a target is part of a mutable object (an attribute reference, "
|
||
|
"subscription or slicing), the mutable object must ultimately perform the "
|
||
|
"assignment and decide about its validity, and may raise an exception if the "
|
||
|
"assignment is unacceptable. The rules observed by various types and the "
|
||
|
"exceptions raised are given with the definition of the object types (see "
|
||
|
"section :ref:`types`)."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:118
|
||
|
msgid ""
|
||
|
"Assignment of an object to a target list is recursively defined as follows."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:120
|
||
|
msgid ""
|
||
|
"If the target list is a single target: The object is assigned to that target."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:122
|
||
|
msgid ""
|
||
|
"If the target list is a comma-separated list of targets: The object must be "
|
||
|
"an iterable with the same number of items as there are targets in the target "
|
||
|
"list, and the items are assigned, from left to right, to the corresponding "
|
||
|
"targets."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:126
|
||
|
msgid ""
|
||
|
"Assignment of an object to a single target is recursively defined as follows."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:128
|
||
|
msgid "If the target is an identifier (name):"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:132
|
||
|
msgid ""
|
||
|
"If the name does not occur in a :keyword:`global` statement in the current "
|
||
|
"code block: the name is bound to the object in the current local namespace."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:135
|
||
|
msgid ""
|
||
|
"Otherwise: the name is bound to the object in the current global namespace."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:139
|
||
|
msgid ""
|
||
|
"The name is rebound if it was already bound. This may cause the reference "
|
||
|
"count for the object previously bound to the name to reach zero, causing the "
|
||
|
"object to be deallocated and its destructor (if it has one) to be called."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:143
|
||
|
msgid ""
|
||
|
"If the target is a target list enclosed in parentheses or in square "
|
||
|
"brackets: The object must be an iterable with the same number of items as "
|
||
|
"there are targets in the target list, and its items are assigned, from left "
|
||
|
"to right, to the corresponding targets."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:150
|
||
|
msgid ""
|
||
|
"If the target is an attribute reference: The primary expression in the "
|
||
|
"reference is evaluated. It should yield an object with assignable "
|
||
|
"attributes; if this is not the case, :exc:`TypeError` is raised. That "
|
||
|
"object is then asked to assign the assigned object to the given attribute; "
|
||
|
"if it cannot perform the assignment, it raises an exception (usually but not "
|
||
|
"necessarily :exc:`AttributeError`)."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:159
|
||
|
msgid ""
|
||
|
"Note: If the object is a class instance and the attribute reference occurs "
|
||
|
"on both sides of the assignment operator, the RHS expression, ``a.x`` can "
|
||
|
"access either an instance attribute or (if no instance attribute exists) a "
|
||
|
"class attribute. The LHS target ``a.x`` is always set as an instance "
|
||
|
"attribute, creating it if necessary. Thus, the two occurrences of ``a.x`` "
|
||
|
"do not necessarily refer to the same attribute: if the RHS expression refers "
|
||
|
"to a class attribute, the LHS creates a new instance attribute as the target "
|
||
|
"of the assignment::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:173
|
||
|
msgid ""
|
||
|
"This description does not necessarily apply to descriptor attributes, such "
|
||
|
"as properties created with :func:`property`."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:180
|
||
|
msgid ""
|
||
|
"If the target is a subscription: The primary expression in the reference is "
|
||
|
"evaluated. It should yield either a mutable sequence object (such as a "
|
||
|
"list) or a mapping object (such as a dictionary). Next, the subscript "
|
||
|
"expression is evaluated."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:189
|
||
|
msgid ""
|
||
|
"If the primary is a mutable sequence object (such as a list), the subscript "
|
||
|
"must yield a plain integer. If it is negative, the sequence's length is "
|
||
|
"added to it. The resulting value must be a nonnegative integer less than the "
|
||
|
"sequence's length, and the sequence is asked to assign the assigned object "
|
||
|
"to its item with that index. If the index is out of range, :exc:"
|
||
|
"`IndexError` is raised (assignment to a subscripted sequence cannot add new "
|
||
|
"items to a list)."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:200
|
||
|
msgid ""
|
||
|
"If the primary is a mapping object (such as a dictionary), the subscript "
|
||
|
"must have a type compatible with the mapping's key type, and the mapping is "
|
||
|
"then asked to create a key/datum pair which maps the subscript to the "
|
||
|
"assigned object. This can either replace an existing key/value pair with "
|
||
|
"the same key value, or insert a new key/value pair (if no key with the same "
|
||
|
"value existed)."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:208
|
||
|
msgid ""
|
||
|
"If the target is a slicing: The primary expression in the reference is "
|
||
|
"evaluated. It should yield a mutable sequence object (such as a list). The "
|
||
|
"assigned object should be a sequence object of the same type. Next, the "
|
||
|
"lower and upper bound expressions are evaluated, insofar they are present; "
|
||
|
"defaults are zero and the sequence's length. The bounds should evaluate to "
|
||
|
"(small) integers. If either bound is negative, the sequence's length is "
|
||
|
"added to it. The resulting bounds are clipped to lie between zero and the "
|
||
|
"sequence's length, inclusive. Finally, the sequence object is asked to "
|
||
|
"replace the slice with the items of the assigned sequence. The length of "
|
||
|
"the slice may be different from the length of the assigned sequence, thus "
|
||
|
"changing the length of the target sequence, if the object allows it."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:222
|
||
|
msgid ""
|
||
|
"In the current implementation, the syntax for targets is taken to be the "
|
||
|
"same as for expressions, and invalid syntax is rejected during the code "
|
||
|
"generation phase, causing less detailed error messages."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:226
|
||
|
msgid ""
|
||
|
"WARNING: Although the definition of assignment implies that overlaps between "
|
||
|
"the left-hand side and the right-hand side are 'safe' (for example ``a, b = "
|
||
|
"b, a`` swaps two variables), overlaps *within* the collection of assigned-to "
|
||
|
"variables are not safe! For instance, the following program prints ``[0, "
|
||
|
"2]``::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:240
|
||
|
msgid "Augmented assignment statements"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:258
|
||
|
msgid ""
|
||
|
"Augmented assignment is the combination, in a single statement, of a binary "
|
||
|
"operation and an assignment statement:"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:270
|
||
|
msgid ""
|
||
|
"An augmented assignment evaluates the target (which, unlike normal "
|
||
|
"assignment statements, cannot be an unpacking) and the expression list, "
|
||
|
"performs the binary operation specific to the type of assignment on the two "
|
||
|
"operands, and assigns the result to the original target. The target is only "
|
||
|
"evaluated once."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:275
|
||
|
msgid ""
|
||
|
"An augmented assignment expression like ``x += 1`` can be rewritten as ``x = "
|
||
|
"x + 1`` to achieve a similar, but not exactly equal effect. In the augmented "
|
||
|
"version, ``x`` is only evaluated once. Also, when possible, the actual "
|
||
|
"operation is performed *in-place*, meaning that rather than creating a new "
|
||
|
"object and assigning that to the target, the old object is modified instead."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:281
|
||
|
msgid ""
|
||
|
"With the exception of assigning to tuples and multiple targets in a single "
|
||
|
"statement, the assignment done by augmented assignment statements is handled "
|
||
|
"the same way as normal assignments. Similarly, with the exception of the "
|
||
|
"possible *in-place* behavior, the binary operation performed by augmented "
|
||
|
"assignment is the same as the normal binary operations."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:287
|
||
|
msgid ""
|
||
|
"For targets which are attribute references, the same :ref:`caveat about "
|
||
|
"class and instance attributes <attr-target-note>` applies as for regular "
|
||
|
"assignments."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:294
|
||
|
msgid "The :keyword:`assert` statement"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:300
|
||
|
msgid ""
|
||
|
"Assert statements are a convenient way to insert debugging assertions into a "
|
||
|
"program:"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:306
|
||
|
msgid "The simple form, ``assert expression``, is equivalent to ::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:311
|
||
|
msgid ""
|
||
|
"The extended form, ``assert expression1, expression2``, is equivalent to ::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:320
|
||
|
msgid ""
|
||
|
"These equivalences assume that :const:`__debug__` and :exc:`AssertionError` "
|
||
|
"refer to the built-in variables with those names. In the current "
|
||
|
"implementation, the built-in variable :const:`__debug__` is ``True`` under "
|
||
|
"normal circumstances, ``False`` when optimization is requested (command line "
|
||
|
"option -O). The current code generator emits no code for an assert "
|
||
|
"statement when optimization is requested at compile time. Note that it is "
|
||
|
"unnecessary to include the source code for the expression that failed in the "
|
||
|
"error message; it will be displayed as part of the stack trace."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:329
|
||
|
msgid ""
|
||
|
"Assignments to :const:`__debug__` are illegal. The value for the built-in "
|
||
|
"variable is determined when the interpreter starts."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:336
|
||
|
msgid "The :keyword:`pass` statement"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:345
|
||
|
msgid ""
|
||
|
":keyword:`pass` is a null operation --- when it is executed, nothing "
|
||
|
"happens. It is useful as a placeholder when a statement is required "
|
||
|
"syntactically, but no code needs to be executed, for example::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:357
|
||
|
msgid "The :keyword:`del` statement"
|
||
|
msgstr "L'instruction :keyword:`del`"
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:367
|
||
|
msgid ""
|
||
|
"Deletion is recursively defined very similar to the way assignment is "
|
||
|
"defined. Rather than spelling it out in full details, here are some hints."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:370
|
||
|
msgid ""
|
||
|
"Deletion of a target list recursively deletes each target, from left to "
|
||
|
"right."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:376
|
||
|
msgid ""
|
||
|
"Deletion of a name removes the binding of that name from the local or "
|
||
|
"global namespace, depending on whether the name occurs in a :keyword:"
|
||
|
"`global` statement in the same code block. If the name is unbound, a :exc:"
|
||
|
"`NameError` exception will be raised."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:383
|
||
|
msgid ""
|
||
|
"It is illegal to delete a name from the local namespace if it occurs as a "
|
||
|
"free variable in a nested block."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:388
|
||
|
msgid ""
|
||
|
"Deletion of attribute references, subscriptions and slicings is passed to "
|
||
|
"the primary object involved; deletion of a slicing is in general equivalent "
|
||
|
"to assignment of an empty slice of the right type (but even this is "
|
||
|
"determined by the sliced object)."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:397
|
||
|
msgid "The :keyword:`print` statement"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:405
|
||
|
msgid ""
|
||
|
":keyword:`print` evaluates each expression in turn and writes the resulting "
|
||
|
"object to standard output (see below). If an object is not a string, it is "
|
||
|
"first converted to a string using the rules for string conversions. The "
|
||
|
"(resulting or original) string is then written. A space is written before "
|
||
|
"each object is (converted and) written, unless the output system believes it "
|
||
|
"is positioned at the beginning of a line. This is the case (1) when no "
|
||
|
"characters have yet been written to standard output, (2) when the last "
|
||
|
"character written to standard output is a whitespace character except ``' "
|
||
|
"'``, or (3) when the last write operation on standard output was not a :"
|
||
|
"keyword:`print` statement. (In some cases it may be functional to write an "
|
||
|
"empty string to standard output for this reason.)"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:419
|
||
|
msgid ""
|
||
|
"Objects which act like file objects but which are not the built-in file "
|
||
|
"objects often do not properly emulate this aspect of the file object's "
|
||
|
"behavior, so it is best not to rely on this."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:429
|
||
|
msgid ""
|
||
|
"A ``'\\n'`` character is written at the end, unless the :keyword:`print` "
|
||
|
"statement ends with a comma. This is the only action if the statement "
|
||
|
"contains just the keyword :keyword:`print`."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:439
|
||
|
msgid ""
|
||
|
"Standard output is defined as the file object named ``stdout`` in the built-"
|
||
|
"in module :mod:`sys`. If no such object exists, or if it does not have a :"
|
||
|
"meth:`write` method, a :exc:`RuntimeError` exception is raised."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:445
|
||
|
msgid ""
|
||
|
":keyword:`print` also has an extended form, defined by the second portion of "
|
||
|
"the syntax described above. This form is sometimes referred to as \":keyword:"
|
||
|
"`print` chevron.\" In this form, the first expression after the ``>>`` must "
|
||
|
"evaluate to a \"file-like\" object, specifically an object that has a :meth:"
|
||
|
"`write` method as described above. With this extended form, the subsequent "
|
||
|
"expressions are printed to this file object. If the first expression "
|
||
|
"evaluates to ``None``, then ``sys.stdout`` is used as the file for output."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:457
|
||
|
msgid "The :keyword:`return` statement"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:467
|
||
|
msgid ""
|
||
|
":keyword:`return` may only occur syntactically nested in a function "
|
||
|
"definition, not within a nested class definition."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:470
|
||
|
msgid ""
|
||
|
"If an expression list is present, it is evaluated, else ``None`` is "
|
||
|
"substituted."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:472
|
||
|
msgid ""
|
||
|
":keyword:`return` leaves the current function call with the expression list "
|
||
|
"(or ``None``) as return value."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:477
|
||
|
msgid ""
|
||
|
"When :keyword:`return` passes control out of a :keyword:`try` statement with "
|
||
|
"a :keyword:`finally` clause, that :keyword:`finally` clause is executed "
|
||
|
"before really leaving the function."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:481
|
||
|
msgid ""
|
||
|
"In a generator function, the :keyword:`return` statement is not allowed to "
|
||
|
"include an :token:`expression_list`. In that context, a bare :keyword:"
|
||
|
"`return` indicates that the generator is done and will cause :exc:"
|
||
|
"`StopIteration` to be raised."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:490
|
||
|
msgid "The :keyword:`yield` statement"
|
||
|
msgstr "L'instruction :keyword:`yield`"
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:502
|
||
|
msgid ""
|
||
|
"The :keyword:`yield` statement is only used when defining a generator "
|
||
|
"function, and is only used in the body of the generator function. Using a :"
|
||
|
"keyword:`yield` statement in a function definition is sufficient to cause "
|
||
|
"that definition to create a generator function instead of a normal function."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:507
|
||
|
msgid ""
|
||
|
"When a generator function is called, it returns an iterator known as a "
|
||
|
"generator iterator, or more commonly, a generator. The body of the "
|
||
|
"generator function is executed by calling the generator's :meth:`~generator."
|
||
|
"next` method repeatedly until it raises an exception."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:512
|
||
|
msgid ""
|
||
|
"When a :keyword:`yield` statement is executed, the state of the generator is "
|
||
|
"frozen and the value of :token:`expression_list` is returned to :meth:"
|
||
|
"`~generator.next`'s caller. By \"frozen\" we mean that all local state is "
|
||
|
"retained, including the current bindings of local variables, the instruction "
|
||
|
"pointer, and the internal evaluation stack: enough information is saved so "
|
||
|
"that the next time :meth:`~generator.next` is invoked, the function can "
|
||
|
"proceed exactly as if the :keyword:`yield` statement were just another "
|
||
|
"external call."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:520
|
||
|
msgid ""
|
||
|
"As of Python version 2.5, the :keyword:`yield` statement is now allowed in "
|
||
|
"the :keyword:`try` clause of a :keyword:`try` ... :keyword:`finally` "
|
||
|
"construct. If the generator is not resumed before it is finalized (by "
|
||
|
"reaching a zero reference count or by being garbage collected), the "
|
||
|
"generator-iterator's :meth:`close` method will be called, allowing any "
|
||
|
"pending :keyword:`finally` clauses to execute."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:527
|
||
|
msgid ""
|
||
|
"For full details of :keyword:`yield` semantics, refer to the :ref:"
|
||
|
"`yieldexpr` section."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:532
|
||
|
msgid ""
|
||
|
"In Python 2.2, the :keyword:`yield` statement was only allowed when the "
|
||
|
"``generators`` feature has been enabled. This ``__future__`` import "
|
||
|
"statement was used to enable the feature::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:542
|
||
|
msgid ":pep:`255` - Simple Generators"
|
||
|
msgstr ":pep:`255`: Générateurs simples"
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:542
|
||
|
msgid ""
|
||
|
"The proposal for adding generators and the :keyword:`yield` statement to "
|
||
|
"Python."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:545
|
||
|
msgid ":pep:`342` - Coroutines via Enhanced Generators"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:545
|
||
|
msgid ""
|
||
|
"The proposal that, among other generator enhancements, proposed allowing :"
|
||
|
"keyword:`yield` to appear inside a :keyword:`try` ... :keyword:`finally` "
|
||
|
"block."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:552
|
||
|
msgid "The :keyword:`raise` statement"
|
||
|
msgstr "L'instruction :keyword:`raise`"
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:562
|
||
|
msgid ""
|
||
|
"If no expressions are present, :keyword:`raise` re-raises the last exception "
|
||
|
"that was active in the current scope. If no exception is active in the "
|
||
|
"current scope, a :exc:`TypeError` exception is raised indicating that this "
|
||
|
"is an error (if running under IDLE, a :exc:`Queue.Empty` exception is raised "
|
||
|
"instead)."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:567
|
||
|
msgid ""
|
||
|
"Otherwise, :keyword:`raise` evaluates the expressions to get three objects, "
|
||
|
"using ``None`` as the value of omitted expressions. The first two objects "
|
||
|
"are used to determine the *type* and *value* of the exception."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:571
|
||
|
msgid ""
|
||
|
"If the first object is an instance, the type of the exception is the class "
|
||
|
"of the instance, the instance itself is the value, and the second object "
|
||
|
"must be ``None``."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:575
|
||
|
msgid ""
|
||
|
"If the first object is a class, it becomes the type of the exception. The "
|
||
|
"second object is used to determine the exception value: If it is an instance "
|
||
|
"of the class, the instance becomes the exception value. If the second object "
|
||
|
"is a tuple, it is used as the argument list for the class constructor; if it "
|
||
|
"is ``None``, an empty argument list is used, and any other object is treated "
|
||
|
"as a single argument to the constructor. The instance so created by calling "
|
||
|
"the constructor is used as the exception value."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:585
|
||
|
msgid ""
|
||
|
"If a third object is present and not ``None``, it must be a traceback object "
|
||
|
"(see section :ref:`types`), and it is substituted instead of the current "
|
||
|
"location as the place where the exception occurred. If the third object is "
|
||
|
"present and not a traceback object or ``None``, a :exc:`TypeError` exception "
|
||
|
"is raised. The three-expression form of :keyword:`raise` is useful to re-"
|
||
|
"raise an exception transparently in an except clause, but :keyword:`raise` "
|
||
|
"with no expressions should be preferred if the exception to be re-raised was "
|
||
|
"the most recently active exception in the current scope."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:594
|
||
|
msgid ""
|
||
|
"Additional information on exceptions can be found in section :ref:"
|
||
|
"`exceptions`, and information about handling exceptions is in section :ref:"
|
||
|
"`try`."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:601
|
||
|
msgid "The :keyword:`break` statement"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:612
|
||
|
msgid ""
|
||
|
":keyword:`break` may only occur syntactically nested in a :keyword:`for` or :"
|
||
|
"keyword:`while` loop, but not nested in a function or class definition "
|
||
|
"within that loop."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:618
|
||
|
msgid ""
|
||
|
"It terminates the nearest enclosing loop, skipping the optional :keyword:"
|
||
|
"`else` clause if the loop has one."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:623
|
||
|
msgid ""
|
||
|
"If a :keyword:`for` loop is terminated by :keyword:`break`, the loop control "
|
||
|
"target keeps its current value."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:628
|
||
|
msgid ""
|
||
|
"When :keyword:`break` passes control out of a :keyword:`try` statement with "
|
||
|
"a :keyword:`finally` clause, that :keyword:`finally` clause is executed "
|
||
|
"before really leaving the loop."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:636
|
||
|
msgid "The :keyword:`continue` statement"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:648
|
||
|
msgid ""
|
||
|
":keyword:`continue` may only occur syntactically nested in a :keyword:`for` "
|
||
|
"or :keyword:`while` loop, but not nested in a function or class definition "
|
||
|
"or :keyword:`finally` clause within that loop. It continues with the next "
|
||
|
"cycle of the nearest enclosing loop."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:653
|
||
|
msgid ""
|
||
|
"When :keyword:`continue` passes control out of a :keyword:`try` statement "
|
||
|
"with a :keyword:`finally` clause, that :keyword:`finally` clause is executed "
|
||
|
"before really starting the next loop cycle."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:662
|
||
|
msgid "The :keyword:`import` statement"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:682
|
||
|
msgid ""
|
||
|
"Import statements are executed in two steps: (1) find a module, and "
|
||
|
"initialize it if necessary; (2) define a name or names in the local "
|
||
|
"namespace (of the scope where the :keyword:`import` statement occurs). The "
|
||
|
"statement comes in two forms differing on whether it uses the :keyword:"
|
||
|
"`from` keyword. The first form (without :keyword:`from`) repeats these steps "
|
||
|
"for each identifier in the list. The form with :keyword:`from` performs step "
|
||
|
"(1) once, and then performs step (2) repeatedly."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:693
|
||
|
msgid ""
|
||
|
"To understand how step (1) occurs, one must first understand how Python "
|
||
|
"handles hierarchical naming of modules. To help organize modules and provide "
|
||
|
"a hierarchy in naming, Python has a concept of packages. A package can "
|
||
|
"contain other packages and modules while modules cannot contain other "
|
||
|
"modules or packages. From a file system perspective, packages are "
|
||
|
"directories and modules are files."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:703
|
||
|
msgid ""
|
||
|
"Once the name of the module is known (unless otherwise specified, the term "
|
||
|
"\"module\" will refer to both packages and modules), searching for the "
|
||
|
"module or package can begin. The first place checked is :data:`sys.modules`, "
|
||
|
"the cache of all modules that have been imported previously. If the module "
|
||
|
"is found there then it is used in step (2) of import."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:715
|
||
|
msgid ""
|
||
|
"If the module is not found in the cache, then :data:`sys.meta_path` is "
|
||
|
"searched (the specification for :data:`sys.meta_path` can be found in :pep:"
|
||
|
"`302`). The object is a list of :term:`finder` objects which are queried in "
|
||
|
"order as to whether they know how to load the module by calling their :meth:"
|
||
|
"`find_module` method with the name of the module. If the module happens to "
|
||
|
"be contained within a package (as denoted by the existence of a dot in the "
|
||
|
"name), then a second argument to :meth:`find_module` is given as the value "
|
||
|
"of the :attr:`__path__` attribute from the parent package (everything up to "
|
||
|
"the last dot in the name of the module being imported). If a finder can find "
|
||
|
"the module it returns a :term:`loader` (discussed later) or returns ``None``."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:731
|
||
|
msgid ""
|
||
|
"If none of the finders on :data:`sys.meta_path` are able to find the module "
|
||
|
"then some implicitly defined finders are queried. Implementations of Python "
|
||
|
"vary in what implicit meta path finders are defined. The one they all do "
|
||
|
"define, though, is one that handles :data:`sys.path_hooks`, :data:`sys."
|
||
|
"path_importer_cache`, and :data:`sys.path`."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:737
|
||
|
msgid ""
|
||
|
"The implicit finder searches for the requested module in the \"paths\" "
|
||
|
"specified in one of two places (\"paths\" do not have to be file system "
|
||
|
"paths). If the module being imported is supposed to be contained within a "
|
||
|
"package then the second argument passed to :meth:`find_module`, :attr:"
|
||
|
"`__path__` on the parent package, is used as the source of paths. If the "
|
||
|
"module is not contained in a package then :data:`sys.path` is used as the "
|
||
|
"source of paths."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:744
|
||
|
msgid ""
|
||
|
"Once the source of paths is chosen it is iterated over to find a finder that "
|
||
|
"can handle that path. The dict at :data:`sys.path_importer_cache` caches "
|
||
|
"finders for paths and is checked for a finder. If the path does not have a "
|
||
|
"finder cached then :data:`sys.path_hooks` is searched by calling each object "
|
||
|
"in the list with a single argument of the path, returning a finder or "
|
||
|
"raises :exc:`ImportError`. If a finder is returned then it is cached in :"
|
||
|
"data:`sys.path_importer_cache` and then used for that path entry. If no "
|
||
|
"finder can be found but the path exists then a value of ``None`` is stored "
|
||
|
"in :data:`sys.path_importer_cache` to signify that an implicit, file-based "
|
||
|
"finder that handles modules stored as individual files should be used for "
|
||
|
"that path. If the path does not exist then a finder which always returns "
|
||
|
"``None`` is placed in the cache for the path."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:762
|
||
|
msgid ""
|
||
|
"If no finder can find the module then :exc:`ImportError` is raised. "
|
||
|
"Otherwise some finder returned a loader whose :meth:`load_module` method is "
|
||
|
"called with the name of the module to load (see :pep:`302` for the original "
|
||
|
"definition of loaders). A loader has several responsibilities to perform on "
|
||
|
"a module it loads. First, if the module already exists in :data:`sys."
|
||
|
"modules` (a possibility if the loader is called outside of the import "
|
||
|
"machinery) then it is to use that module for initialization and not a new "
|
||
|
"module. But if the module does not exist in :data:`sys.modules` then it is "
|
||
|
"to be added to that dict before initialization begins. If an error occurs "
|
||
|
"during loading of the module and it was added to :data:`sys.modules` it is "
|
||
|
"to be removed from the dict. If an error occurs but the module was already "
|
||
|
"in :data:`sys.modules` it is left in the dict."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:782
|
||
|
msgid ""
|
||
|
"The loader must set several attributes on the module. :data:`__name__` is to "
|
||
|
"be set to the name of the module. :data:`__file__` is to be the \"path\" to "
|
||
|
"the file unless the module is built-in (and thus listed in :data:`sys."
|
||
|
"builtin_module_names`) in which case the attribute is not set. If what is "
|
||
|
"being imported is a package then :data:`__path__` is to be set to a list of "
|
||
|
"paths to be searched when looking for modules and packages contained within "
|
||
|
"the package being imported. :data:`__package__` is optional but should be "
|
||
|
"set to the name of package that contains the module or package (the empty "
|
||
|
"string is used for module not contained in a package). :data:`__loader__` is "
|
||
|
"also optional but should be set to the loader object that is loading the "
|
||
|
"module."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:797
|
||
|
msgid ""
|
||
|
"If an error occurs during loading then the loader raises :exc:`ImportError` "
|
||
|
"if some other exception is not already being propagated. Otherwise the "
|
||
|
"loader returns the module that was loaded and initialized."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:801
|
||
|
msgid ""
|
||
|
"When step (1) finishes without raising an exception, step (2) can begin."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:803
|
||
|
msgid ""
|
||
|
"The first form of :keyword:`import` statement binds the module name in the "
|
||
|
"local namespace to the module object, and then goes on to import the next "
|
||
|
"identifier, if any. If the module name is followed by :keyword:`as`, the "
|
||
|
"name following :keyword:`as` is used as the local name for the module."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:812
|
||
|
msgid ""
|
||
|
"The :keyword:`from` form does not bind the module name: it goes through the "
|
||
|
"list of identifiers, looks each one of them up in the module found in step "
|
||
|
"(1), and binds the name in the local namespace to the object thus found. As "
|
||
|
"with the first form of :keyword:`import`, an alternate local name can be "
|
||
|
"supplied by specifying \":keyword:`as` localname\". If a name is not "
|
||
|
"found, :exc:`ImportError` is raised. If the list of identifiers is replaced "
|
||
|
"by a star (``'*'``), all public names defined in the module are bound in the "
|
||
|
"local namespace of the :keyword:`import` statement.."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:823
|
||
|
msgid ""
|
||
|
"The *public names* defined by a module are determined by checking the "
|
||
|
"module's namespace for a variable named ``__all__``; if defined, it must be "
|
||
|
"a sequence of strings which are names defined or imported by that module. "
|
||
|
"The names given in ``__all__`` are all considered public and are required to "
|
||
|
"exist. If ``__all__`` is not defined, the set of public names includes all "
|
||
|
"names found in the module's namespace which do not begin with an underscore "
|
||
|
"character (``'_'``). ``__all__`` should contain the entire public API. It is "
|
||
|
"intended to avoid accidentally exporting items that are not part of the API "
|
||
|
"(such as library modules which were imported and used within the module)."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:833
|
||
|
msgid ""
|
||
|
"The :keyword:`from` form with ``*`` may only occur in a module scope. If "
|
||
|
"the wild card form of import --- ``import *`` --- is used in a function and "
|
||
|
"the function contains or is a nested block with free variables, the compiler "
|
||
|
"will raise a :exc:`SyntaxError`."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:841
|
||
|
msgid ""
|
||
|
"When specifying what module to import you do not have to specify the "
|
||
|
"absolute name of the module. When a module or package is contained within "
|
||
|
"another package it is possible to make a relative import within the same top "
|
||
|
"package without having to mention the package name. By using leading dots in "
|
||
|
"the specified module or package after :keyword:`from` you can specify how "
|
||
|
"high to traverse up the current package hierarchy without specifying exact "
|
||
|
"names. One leading dot means the current package where the module making the "
|
||
|
"import exists. Two dots means up one package level. Three dots is up two "
|
||
|
"levels, etc. So if you execute ``from . import mod`` from a module in the "
|
||
|
"``pkg`` package then you will end up importing ``pkg.mod``. If you execute "
|
||
|
"``from ..subpkg2 import mod`` from within ``pkg.subpkg1`` you will import "
|
||
|
"``pkg.subpkg2.mod``. The specification for relative imports is contained "
|
||
|
"within :pep:`328`."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:854
|
||
|
msgid ""
|
||
|
":func:`importlib.import_module` is provided to support applications that "
|
||
|
"determine which modules need to be loaded dynamically."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:861
|
||
|
msgid "Future statements"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:865
|
||
|
msgid ""
|
||
|
"A :dfn:`future statement` is a directive to the compiler that a particular "
|
||
|
"module should be compiled using syntax or semantics that will be available "
|
||
|
"in a specified future release of Python. The future statement is intended "
|
||
|
"to ease migration to future versions of Python that introduce incompatible "
|
||
|
"changes to the language. It allows use of the new features on a per-module "
|
||
|
"basis before the release in which the feature becomes standard."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:880
|
||
|
msgid ""
|
||
|
"A future statement must appear near the top of the module. The only lines "
|
||
|
"that can appear before a future statement are:"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:883
|
||
|
msgid "the module docstring (if any),"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:884
|
||
|
msgid "comments,"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:885
|
||
|
msgid "blank lines, and"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:886
|
||
|
msgid "other future statements."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:888
|
||
|
msgid ""
|
||
|
"The features recognized by Python 2.6 are ``unicode_literals``, "
|
||
|
"``print_function``, ``absolute_import``, ``division``, ``generators``, "
|
||
|
"``nested_scopes`` and ``with_statement``. ``generators``, "
|
||
|
"``with_statement``, ``nested_scopes`` are redundant in Python version 2.6 "
|
||
|
"and above because they are always enabled."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:894
|
||
|
msgid ""
|
||
|
"A future statement is recognized and treated specially at compile time: "
|
||
|
"Changes to the semantics of core constructs are often implemented by "
|
||
|
"generating different code. It may even be the case that a new feature "
|
||
|
"introduces new incompatible syntax (such as a new reserved word), in which "
|
||
|
"case the compiler may need to parse the module differently. Such decisions "
|
||
|
"cannot be pushed off until runtime."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:901
|
||
|
msgid ""
|
||
|
"For any given release, the compiler knows which feature names have been "
|
||
|
"defined, and raises a compile-time error if a future statement contains a "
|
||
|
"feature not known to it."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:905
|
||
|
msgid ""
|
||
|
"The direct runtime semantics are the same as for any import statement: there "
|
||
|
"is a standard module :mod:`__future__`, described later, and it will be "
|
||
|
"imported in the usual way at the time the future statement is executed."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:909
|
||
|
msgid ""
|
||
|
"The interesting runtime semantics depend on the specific feature enabled by "
|
||
|
"the future statement."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:912
|
||
|
msgid "Note that there is nothing special about the statement::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:916
|
||
|
msgid ""
|
||
|
"That is not a future statement; it's an ordinary import statement with no "
|
||
|
"special semantics or syntax restrictions."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:919
|
||
|
msgid ""
|
||
|
"Code compiled by an :keyword:`exec` statement or calls to the built-in "
|
||
|
"functions :func:`compile` and :func:`execfile` that occur in a module :mod:"
|
||
|
"`M` containing a future statement will, by default, use the new syntax or "
|
||
|
"semantics associated with the future statement. This can, starting with "
|
||
|
"Python 2.2 be controlled by optional arguments to :func:`compile` --- see "
|
||
|
"the documentation of that function for details."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:926
|
||
|
msgid ""
|
||
|
"A future statement typed at an interactive interpreter prompt will take "
|
||
|
"effect for the rest of the interpreter session. If an interpreter is "
|
||
|
"started with the :option:`-i` option, is passed a script name to execute, "
|
||
|
"and the script includes a future statement, it will be in effect in the "
|
||
|
"interactive session started after the script is executed."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:934
|
||
|
msgid ":pep:`236` - Back to the __future__"
|
||
|
msgstr ":pep:`236` - Back to the __future__"
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:935
|
||
|
msgid "The original proposal for the __future__ mechanism."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:941
|
||
|
msgid "The :keyword:`global` statement"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:950
|
||
|
msgid ""
|
||
|
"The :keyword:`global` statement is a declaration which holds for the entire "
|
||
|
"current code block. It means that the listed identifiers are to be "
|
||
|
"interpreted as globals. It would be impossible to assign to a global "
|
||
|
"variable without :keyword:`global`, although free variables may refer to "
|
||
|
"globals without being declared global."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:956
|
||
|
msgid ""
|
||
|
"Names listed in a :keyword:`global` statement must not be used in the same "
|
||
|
"code block textually preceding that :keyword:`global` statement."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:959
|
||
|
msgid ""
|
||
|
"Names listed in a :keyword:`global` statement must not be defined as formal "
|
||
|
"parameters or in a :keyword:`for` loop control target, :keyword:`class` "
|
||
|
"definition, function definition, or :keyword:`import` statement."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:965
|
||
|
msgid ""
|
||
|
"The current implementation does not enforce the latter two restrictions, but "
|
||
|
"programs should not abuse this freedom, as future implementations may "
|
||
|
"enforce them or silently change the meaning of the program."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:975
|
||
|
msgid ""
|
||
|
"**Programmer's note:** the :keyword:`global` is a directive to the parser. "
|
||
|
"It applies only to code parsed at the same time as the :keyword:`global` "
|
||
|
"statement. In particular, a :keyword:`global` statement contained in an :"
|
||
|
"keyword:`exec` statement does not affect the code block *containing* the :"
|
||
|
"keyword:`exec` statement, and code contained in an :keyword:`exec` statement "
|
||
|
"is unaffected by :keyword:`global` statements in the code containing the :"
|
||
|
"keyword:`exec` statement. The same applies to the :func:`eval`, :func:"
|
||
|
"`execfile` and :func:`compile` functions."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:988
|
||
|
msgid "The :keyword:`exec` statement"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:995
|
||
|
msgid ""
|
||
|
"This statement supports dynamic execution of Python code. The first "
|
||
|
"expression should evaluate to either a Unicode string, a *Latin-1* encoded "
|
||
|
"string, an open file object, a code object, or a tuple. If it is a string, "
|
||
|
"the string is parsed as a suite of Python statements which is then executed "
|
||
|
"(unless a syntax error occurs). [#]_ If it is an open file, the file is "
|
||
|
"parsed until EOF and executed. If it is a code object, it is simply "
|
||
|
"executed. For the interpretation of a tuple, see below. In all cases, the "
|
||
|
"code that's executed is expected to be valid as file input (see section :ref:"
|
||
|
"`file-input`). Be aware that the :keyword:`return` and :keyword:`yield` "
|
||
|
"statements may not be used outside of function definitions even within the "
|
||
|
"context of code passed to the :keyword:`exec` statement."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:1007
|
||
|
msgid ""
|
||
|
"In all cases, if the optional parts are omitted, the code is executed in the "
|
||
|
"current scope. If only the first expression after ``in`` is specified, it "
|
||
|
"should be a dictionary, which will be used for both the global and the local "
|
||
|
"variables. If two expressions are given, they are used for the global and "
|
||
|
"local variables, respectively. If provided, *locals* can be any mapping "
|
||
|
"object. Remember that at module level, globals and locals are the same "
|
||
|
"dictionary. If two separate objects are given as *globals* and *locals*, the "
|
||
|
"code will be executed as if it were embedded in a class definition."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:1016
|
||
|
msgid ""
|
||
|
"The first expression may also be a tuple of length 2 or 3. In this case, "
|
||
|
"the optional parts must be omitted. The form ``exec(expr, globals)`` is "
|
||
|
"equivalent to ``exec expr in globals``, while the form ``exec(expr, globals, "
|
||
|
"locals)`` is equivalent to ``exec expr in globals, locals``. The tuple form "
|
||
|
"of ``exec`` provides compatibility with Python 3, where ``exec`` is a "
|
||
|
"function rather than a statement."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:1023
|
||
|
msgid "Formerly, *locals* was required to be a dictionary."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:1030
|
||
|
msgid ""
|
||
|
"As a side effect, an implementation may insert additional keys into the "
|
||
|
"dictionaries given besides those corresponding to variable names set by the "
|
||
|
"executed code. For example, the current implementation may add a reference "
|
||
|
"to the dictionary of the built-in module :mod:`__builtin__` under the key "
|
||
|
"``__builtins__`` (!)."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:1041
|
||
|
msgid ""
|
||
|
"**Programmer's hints:** dynamic evaluation of expressions is supported by "
|
||
|
"the built-in function :func:`eval`. The built-in functions :func:`globals` "
|
||
|
"and :func:`locals` return the current global and local dictionary, "
|
||
|
"respectively, which may be useful to pass around for use by :keyword:`exec`."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:1048
|
||
|
msgid "Footnotes"
|
||
|
msgstr "Notes"
|
||
|
|
||
|
#: ../Doc/reference/simple_stmts.rst:1049
|
||
|
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 :term:`universal "
|
||
|
"newlines` mode to convert Windows or Mac-style newlines."
|
||
|
msgstr ""
|