forked from AFPy/python-docs-fr
585 lines
24 KiB
Plaintext
585 lines
24 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/compound_stmts.rst:5
|
||
|
msgid "Compound statements"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:9
|
||
|
msgid ""
|
||
|
"Compound statements contain (groups of) other statements; they affect or "
|
||
|
"control the execution of those other statements in some way. In general, "
|
||
|
"compound statements span multiple lines, although in simple incarnations a "
|
||
|
"whole compound statement may be contained in one line."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:14
|
||
|
msgid ""
|
||
|
"The :keyword:`if`, :keyword:`while` and :keyword:`for` statements implement "
|
||
|
"traditional control flow constructs. :keyword:`try` specifies exception "
|
||
|
"handlers and/or cleanup code for a group of statements. Function and class "
|
||
|
"definitions are also syntactically compound statements."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:23
|
||
|
msgid ""
|
||
|
"Compound statements consist of one or more 'clauses.' A clause consists of "
|
||
|
"a header and a 'suite.' The clause headers of a particular compound "
|
||
|
"statement are all at the same indentation level. Each clause header begins "
|
||
|
"with a uniquely identifying keyword and ends with a colon. A suite is a "
|
||
|
"group of statements controlled by a clause. A suite can be one or more "
|
||
|
"semicolon-separated simple statements on the same line as the header, "
|
||
|
"following the header's colon, or it can be one or more indented statements "
|
||
|
"on subsequent lines. Only the latter form of suite can contain nested "
|
||
|
"compound statements; the following is illegal, mostly because it wouldn't be "
|
||
|
"clear to which :keyword:`if` clause a following :keyword:`else` clause would "
|
||
|
"belong: ::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:36
|
||
|
msgid ""
|
||
|
"Also note that the semicolon binds tighter than the colon in this context, "
|
||
|
"so that in the following example, either all or none of the :keyword:`print` "
|
||
|
"statements are executed::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:42
|
||
|
msgid "Summarizing:"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:62
|
||
|
msgid ""
|
||
|
"Note that statements always end in a ``NEWLINE`` possibly followed by a "
|
||
|
"``DEDENT``. Also note that optional continuation clauses always begin with a "
|
||
|
"keyword that cannot start a statement, thus there are no ambiguities (the "
|
||
|
"'dangling :keyword:`else`' problem is solved in Python by requiring nested :"
|
||
|
"keyword:`if` statements to be indented)."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:68
|
||
|
msgid ""
|
||
|
"The formatting of the grammar rules in the following sections places each "
|
||
|
"clause on a separate line for clarity."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:77
|
||
|
msgid "The :keyword:`if` statement"
|
||
|
msgstr "L'instruction :keyword:`if`"
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:84
|
||
|
msgid "The :keyword:`if` statement is used for conditional execution:"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:91
|
||
|
msgid ""
|
||
|
"It selects exactly one of the suites by evaluating the expressions one by "
|
||
|
"one until one is found to be true (see section :ref:`booleans` for the "
|
||
|
"definition of true and false); then that suite is executed (and no other "
|
||
|
"part of the :keyword:`if` statement is executed or evaluated). If all "
|
||
|
"expressions are false, the suite of the :keyword:`else` clause, if present, "
|
||
|
"is executed."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:101
|
||
|
msgid "The :keyword:`while` statement"
|
||
|
msgstr "L'instruction :keyword:`while`"
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:108
|
||
|
msgid ""
|
||
|
"The :keyword:`while` statement is used for repeated execution as long as an "
|
||
|
"expression is true:"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:115
|
||
|
msgid ""
|
||
|
"This repeatedly tests the expression and, if it is true, executes the first "
|
||
|
"suite; if the expression is false (which may be the first time it is tested) "
|
||
|
"the suite of the :keyword:`else` clause, if present, is executed and the "
|
||
|
"loop terminates."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:124
|
||
|
msgid ""
|
||
|
"A :keyword:`break` statement executed in the first suite terminates the loop "
|
||
|
"without executing the :keyword:`else` clause's suite. A :keyword:`continue` "
|
||
|
"statement executed in the first suite skips the rest of the suite and goes "
|
||
|
"back to testing the expression."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:133
|
||
|
msgid "The :keyword:`for` statement"
|
||
|
msgstr "L'instruction :keyword:`for`"
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:143
|
||
|
msgid ""
|
||
|
"The :keyword:`for` statement is used to iterate over the elements of a "
|
||
|
"sequence (such as a string, tuple or list) or other iterable object:"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:150
|
||
|
msgid ""
|
||
|
"The expression list is evaluated once; it should yield an iterable object. "
|
||
|
"An iterator is created for the result of the ``expression_list``. The suite "
|
||
|
"is then executed once for each item provided by the iterator, in the order "
|
||
|
"of ascending indices. Each item in turn is assigned to the target list "
|
||
|
"using the standard rules for assignments, and then the suite is executed. "
|
||
|
"When the items are exhausted (which is immediately when the sequence is "
|
||
|
"empty), the suite in the :keyword:`else` clause, if present, is executed, "
|
||
|
"and the loop terminates."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:162
|
||
|
msgid ""
|
||
|
"A :keyword:`break` statement executed in the first suite terminates the loop "
|
||
|
"without executing the :keyword:`else` clause's suite. A :keyword:`continue` "
|
||
|
"statement executed in the first suite skips the rest of the suite and "
|
||
|
"continues with the next item, or with the :keyword:`else` clause if there "
|
||
|
"was no next item."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:168
|
||
|
msgid ""
|
||
|
"The suite may assign to the variable(s) in the target list; this does not "
|
||
|
"affect the next item assigned to it."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:175
|
||
|
msgid ""
|
||
|
"The target list is not deleted when the loop is finished, but if the "
|
||
|
"sequence is empty, it will not have been assigned to at all by the loop. "
|
||
|
"Hint: the built-in function :func:`range` returns a sequence of integers "
|
||
|
"suitable to emulate the effect of Pascal's ``for i := a to b do``; e.g., "
|
||
|
"``range(3)`` returns the list ``[0, 1, 2]``."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:187
|
||
|
msgid ""
|
||
|
"There is a subtlety when the sequence is being modified by the loop (this "
|
||
|
"can only occur for mutable sequences, i.e. lists). An internal counter is "
|
||
|
"used to keep track of which item is used next, and this is incremented on "
|
||
|
"each iteration. When this counter has reached the length of the sequence "
|
||
|
"the loop terminates. This means that if the suite deletes the current (or a "
|
||
|
"previous) item from the sequence, the next item will be skipped (since it "
|
||
|
"gets the index of the current item which has already been treated). "
|
||
|
"Likewise, if the suite inserts an item in the sequence before the current "
|
||
|
"item, the current item will be treated again the next time through the loop. "
|
||
|
"This can lead to nasty bugs that can be avoided by making a temporary copy "
|
||
|
"using a slice of the whole sequence, e.g., ::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:208
|
||
|
msgid "The :keyword:`try` statement"
|
||
|
msgstr "L'instruction :keyword:`try`"
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:215
|
||
|
msgid ""
|
||
|
"The :keyword:`try` statement specifies exception handlers and/or cleanup "
|
||
|
"code for a group of statements:"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:227
|
||
|
msgid ""
|
||
|
"In previous versions of Python, :keyword:`try`...\\ :keyword:`except`...\\ :"
|
||
|
"keyword:`finally` did not work. :keyword:`try`...\\ :keyword:`except` had to "
|
||
|
"be nested in :keyword:`try`...\\ :keyword:`finally`."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:232
|
||
|
msgid ""
|
||
|
"The :keyword:`except` clause(s) specify one or more exception handlers. When "
|
||
|
"no exception occurs in the :keyword:`try` clause, no exception handler is "
|
||
|
"executed. When an exception occurs in the :keyword:`try` suite, a search for "
|
||
|
"an exception handler is started. This search inspects the except clauses in "
|
||
|
"turn until one is found that matches the exception. An expression-less "
|
||
|
"except clause, if present, must be last; it matches any exception. For an "
|
||
|
"except clause with an expression, that expression is evaluated, and the "
|
||
|
"clause matches the exception if the resulting object is \"compatible\" with "
|
||
|
"the exception. An object is compatible with an exception if it is the class "
|
||
|
"or a base class of the exception object, or a tuple containing an item "
|
||
|
"compatible with the exception."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:243
|
||
|
msgid ""
|
||
|
"If no except clause matches the exception, the search for an exception "
|
||
|
"handler continues in the surrounding code and on the invocation stack. [#]_"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:246
|
||
|
msgid ""
|
||
|
"If the evaluation of an expression in the header of an except clause raises "
|
||
|
"an exception, the original search for a handler is canceled and a search "
|
||
|
"starts for the new exception in the surrounding code and on the call stack "
|
||
|
"(it is treated as if the entire :keyword:`try` statement raised the "
|
||
|
"exception)."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:251
|
||
|
msgid ""
|
||
|
"When a matching except clause is found, the exception is assigned to the "
|
||
|
"target specified in that except clause, if present, and the except clause's "
|
||
|
"suite is executed. All except clauses must have an executable block. When "
|
||
|
"the end of this block is reached, execution continues normally after the "
|
||
|
"entire try statement. (This means that if two nested handlers exist for the "
|
||
|
"same exception, and the exception occurs in the try clause of the inner "
|
||
|
"handler, the outer handler will not handle the exception.)"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:266
|
||
|
msgid ""
|
||
|
"Before an except clause's suite is executed, details about the exception are "
|
||
|
"assigned to three variables in the :mod:`sys` module: ``sys.exc_type`` "
|
||
|
"receives the object identifying the exception; ``sys.exc_value`` receives "
|
||
|
"the exception's parameter; ``sys.exc_traceback`` receives a traceback object "
|
||
|
"(see section :ref:`types`) identifying the point in the program where the "
|
||
|
"exception occurred. These details are also available through the :func:`sys."
|
||
|
"exc_info` function, which returns a tuple ``(exc_type, exc_value, "
|
||
|
"exc_traceback)``. Use of the corresponding variables is deprecated in favor "
|
||
|
"of this function, since their use is unsafe in a threaded program. As of "
|
||
|
"Python 1.5, the variables are restored to their previous values (before the "
|
||
|
"call) when returning from a function that handled an exception."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:284
|
||
|
msgid ""
|
||
|
"The optional :keyword:`else` clause is executed if and when control flows "
|
||
|
"off the end of the :keyword:`try` clause. [#]_ Exceptions in the :keyword:"
|
||
|
"`else` clause are not handled by the preceding :keyword:`except` clauses."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:290
|
||
|
msgid ""
|
||
|
"If :keyword:`finally` is present, it specifies a 'cleanup' handler. The :"
|
||
|
"keyword:`try` clause is executed, including any :keyword:`except` and :"
|
||
|
"keyword:`else` clauses. If an exception occurs in any of the clauses and is "
|
||
|
"not handled, the exception is temporarily saved. The :keyword:`finally` "
|
||
|
"clause is executed. If there is a saved exception, it is re-raised at the "
|
||
|
"end of the :keyword:`finally` clause. If the :keyword:`finally` clause "
|
||
|
"raises another exception or executes a :keyword:`return` or :keyword:`break` "
|
||
|
"statement, the saved exception is discarded::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:308
|
||
|
msgid ""
|
||
|
"The exception information is not available to the program during execution "
|
||
|
"of the :keyword:`finally` clause."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:316
|
||
|
msgid ""
|
||
|
"When a :keyword:`return`, :keyword:`break` or :keyword:`continue` statement "
|
||
|
"is executed in the :keyword:`try` suite of a :keyword:`try`...\\ :keyword:"
|
||
|
"`finally` statement, the :keyword:`finally` clause is also executed 'on the "
|
||
|
"way out.' A :keyword:`continue` statement is illegal in the :keyword:"
|
||
|
"`finally` clause. (The reason is a problem with the current implementation "
|
||
|
"--- this restriction may be lifted in the future)."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:323
|
||
|
msgid ""
|
||
|
"The return value of a function is determined by the last :keyword:`return` "
|
||
|
"statement executed. Since the :keyword:`finally` clause always executes, a :"
|
||
|
"keyword:`return` statement executed in the :keyword:`finally` clause will "
|
||
|
"always be the last one executed::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:337
|
||
|
msgid ""
|
||
|
"Additional information on exceptions can be found in section :ref:"
|
||
|
"`exceptions`, and information on using the :keyword:`raise` statement to "
|
||
|
"generate exceptions may be found in section :ref:`raise`."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:346
|
||
|
msgid "The :keyword:`with` statement"
|
||
|
msgstr "L'instruction :keyword:`with`"
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:354
|
||
|
msgid ""
|
||
|
"The :keyword:`with` statement is used to wrap the execution of a block with "
|
||
|
"methods defined by a context manager (see section :ref:`context-managers`). "
|
||
|
"This allows common :keyword:`try`...\\ :keyword:`except`...\\ :keyword:"
|
||
|
"`finally` usage patterns to be encapsulated for convenient reuse."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:363
|
||
|
msgid ""
|
||
|
"The execution of the :keyword:`with` statement with one \"item\" proceeds as "
|
||
|
"follows:"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:365
|
||
|
msgid ""
|
||
|
"The context expression (the expression given in the :token:`with_item`) is "
|
||
|
"evaluated to obtain a context manager."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:368
|
||
|
msgid "The context manager's :meth:`__exit__` is loaded for later use."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:370
|
||
|
msgid "The context manager's :meth:`__enter__` method is invoked."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:372
|
||
|
msgid ""
|
||
|
"If a target was included in the :keyword:`with` statement, the return value "
|
||
|
"from :meth:`__enter__` is assigned to it."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:377
|
||
|
msgid ""
|
||
|
"The :keyword:`with` statement guarantees that if the :meth:`__enter__` "
|
||
|
"method returns without an error, then :meth:`__exit__` will always be "
|
||
|
"called. Thus, if an error occurs during the assignment to the target list, "
|
||
|
"it will be treated the same as an error occurring within the suite would be. "
|
||
|
"See step 6 below."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:382
|
||
|
msgid "The suite is executed."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:384
|
||
|
msgid ""
|
||
|
"The context manager's :meth:`__exit__` method is invoked. If an exception "
|
||
|
"caused the suite to be exited, its type, value, and traceback are passed as "
|
||
|
"arguments to :meth:`__exit__`. Otherwise, three :const:`None` arguments are "
|
||
|
"supplied."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:389
|
||
|
msgid ""
|
||
|
"If the suite was exited due to an exception, and the return value from the :"
|
||
|
"meth:`__exit__` method was false, the exception is reraised. If the return "
|
||
|
"value was true, the exception is suppressed, and execution continues with "
|
||
|
"the statement following the :keyword:`with` statement."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:394
|
||
|
msgid ""
|
||
|
"If the suite was exited for any reason other than an exception, the return "
|
||
|
"value from :meth:`__exit__` is ignored, and execution proceeds at the normal "
|
||
|
"location for the kind of exit that was taken."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:398
|
||
|
msgid ""
|
||
|
"With more than one item, the context managers are processed as if multiple :"
|
||
|
"keyword:`with` statements were nested::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:404
|
||
|
msgid "is equivalent to ::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:412
|
||
|
msgid ""
|
||
|
"In Python 2.5, the :keyword:`with` statement is only allowed when the "
|
||
|
"``with_statement`` feature has been enabled. It is always enabled in Python "
|
||
|
"2.6."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:416
|
||
|
msgid "Support for multiple context expressions."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:422
|
||
|
msgid ":pep:`343` - The \"with\" statement"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:422
|
||
|
msgid ""
|
||
|
"The specification, background, and examples for the Python :keyword:`with` "
|
||
|
"statement."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:433
|
||
|
msgid "Function definitions"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:443
|
||
|
msgid ""
|
||
|
"A function definition defines a user-defined function object (see section :"
|
||
|
"ref:`types`):"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:461
|
||
|
msgid ""
|
||
|
"A function definition is an executable statement. Its execution binds the "
|
||
|
"function name in the current local namespace to a function object (a wrapper "
|
||
|
"around the executable code for the function). This function object contains "
|
||
|
"a reference to the current global namespace as the global namespace to be "
|
||
|
"used when the function is called."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:467
|
||
|
msgid ""
|
||
|
"The function definition does not execute the function body; this gets "
|
||
|
"executed only when the function is called. [#]_"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:473
|
||
|
msgid ""
|
||
|
"A function definition may be wrapped by one or more :term:`decorator` "
|
||
|
"expressions. Decorator expressions are evaluated when the function is "
|
||
|
"defined, in the scope that contains the function definition. The result "
|
||
|
"must be a callable, which is invoked with the function object as the only "
|
||
|
"argument. The returned value is bound to the function name instead of the "
|
||
|
"function object. Multiple decorators are applied in nested fashion. For "
|
||
|
"example, the following code::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:484
|
||
|
msgid "is equivalent to::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:493
|
||
|
msgid ""
|
||
|
"When one or more top-level :term:`parameters <parameter>` have the form "
|
||
|
"*parameter* ``=`` *expression*, the function is said to have \"default "
|
||
|
"parameter values.\" For a parameter with a default value, the "
|
||
|
"corresponding :term:`argument` may be omitted from a call, in which case the "
|
||
|
"parameter's default value is substituted. If a parameter has a default "
|
||
|
"value, all following parameters must also have a default value --- this is a "
|
||
|
"syntactic restriction that is not expressed by the grammar."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:501
|
||
|
msgid ""
|
||
|
"**Default parameter values are evaluated when the function definition is "
|
||
|
"executed.** This means that the expression is evaluated once, when the "
|
||
|
"function is defined, and that the same \"pre-computed\" value is used for "
|
||
|
"each call. This is especially important to understand when a default "
|
||
|
"parameter is a mutable object, such as a list or a dictionary: if the "
|
||
|
"function modifies the object (e.g. by appending an item to a list), the "
|
||
|
"default value is in effect modified. This is generally not what was "
|
||
|
"intended. A way around this is to use ``None`` as the default, and "
|
||
|
"explicitly test for it in the body of the function, e.g.::"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:520
|
||
|
msgid ""
|
||
|
"Function call semantics are described in more detail in section :ref:"
|
||
|
"`calls`. A function call always assigns values to all parameters mentioned "
|
||
|
"in the parameter list, either from position arguments, from keyword "
|
||
|
"arguments, or from default values. If the form \"``*identifier``\" is "
|
||
|
"present, it is initialized to a tuple receiving any excess positional "
|
||
|
"parameters, defaulting to the empty tuple. If the form \"``**identifier``\" "
|
||
|
"is present, it is initialized to a new dictionary receiving any excess "
|
||
|
"keyword arguments, defaulting to a new empty dictionary."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:530
|
||
|
msgid ""
|
||
|
"It is also possible to create anonymous functions (functions not bound to a "
|
||
|
"name), for immediate use in expressions. This uses lambda expressions, "
|
||
|
"described in section :ref:`lambda`. Note that the lambda expression is "
|
||
|
"merely a shorthand for a simplified function definition; a function defined "
|
||
|
"in a \":keyword:`def`\" statement can be passed around or assigned to "
|
||
|
"another name just like a function defined by a lambda expression. The \":"
|
||
|
"keyword:`def`\" form is actually more powerful since it allows the execution "
|
||
|
"of multiple statements."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:538
|
||
|
msgid ""
|
||
|
"**Programmer's note:** Functions are first-class objects. A \"``def``\" "
|
||
|
"form executed inside a function definition defines a local function that can "
|
||
|
"be returned or passed around. Free variables used in the nested function "
|
||
|
"can access the local variables of the function containing the def. See "
|
||
|
"section :ref:`naming` for details."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:548
|
||
|
msgid "Class definitions"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:560
|
||
|
msgid "A class definition defines a class object (see section :ref:`types`):"
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:567
|
||
|
msgid ""
|
||
|
"A class definition is an executable statement. It first evaluates the "
|
||
|
"inheritance list, if present. Each item in the inheritance list should "
|
||
|
"evaluate to a class object or class type which allows subclassing. The "
|
||
|
"class's suite is then executed in a new execution frame (see section :ref:"
|
||
|
"`naming`), using a newly created local namespace and the original global "
|
||
|
"namespace. (Usually, the suite contains only function definitions.) When "
|
||
|
"the class's suite finishes execution, its execution frame is discarded but "
|
||
|
"its local namespace is saved. [#]_ A class object is then created using the "
|
||
|
"inheritance list for the base classes and the saved local namespace for the "
|
||
|
"attribute dictionary. The class name is bound to this class object in the "
|
||
|
"original local namespace."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:578
|
||
|
msgid ""
|
||
|
"**Programmer's note:** Variables defined in the class definition are class "
|
||
|
"variables; they are shared by all instances. To create instance variables, "
|
||
|
"they can be set in a method with ``self.name = value``. Both class and "
|
||
|
"instance variables are accessible through the notation \"``self.name``\", "
|
||
|
"and an instance variable hides a class variable with the same name when "
|
||
|
"accessed in this way. Class variables can be used as defaults for instance "
|
||
|
"variables, but using mutable values there can lead to unexpected results. "
|
||
|
"For :term:`new-style class`\\es, descriptors can be used to create instance "
|
||
|
"variables with different implementation details."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:588
|
||
|
msgid ""
|
||
|
"Class definitions, like function definitions, may be wrapped by one or more :"
|
||
|
"term:`decorator` expressions. The evaluation rules for the decorator "
|
||
|
"expressions are the same as for functions. The result must be a class "
|
||
|
"object, which is then bound to the class name."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:594
|
||
|
msgid "Footnotes"
|
||
|
msgstr "Notes"
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:595
|
||
|
msgid ""
|
||
|
"The exception is propagated to the invocation stack unless there is a :"
|
||
|
"keyword:`finally` clause which happens to raise another exception. That new "
|
||
|
"exception causes the old one to be lost."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:599
|
||
|
msgid ""
|
||
|
"Currently, control \"flows off the end\" except in the case of an exception "
|
||
|
"or the execution of a :keyword:`return`, :keyword:`continue`, or :keyword:"
|
||
|
"`break` statement."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:603
|
||
|
msgid ""
|
||
|
"A string literal appearing as the first statement in the function body is "
|
||
|
"transformed into the function's ``__doc__`` attribute and therefore the "
|
||
|
"function's :term:`docstring`."
|
||
|
msgstr ""
|
||
|
|
||
|
#: ../Doc/reference/compound_stmts.rst:607
|
||
|
msgid ""
|
||
|
"A string literal appearing as the first statement in the class body is "
|
||
|
"transformed into the namespace's ``__doc__`` item and therefore the class's :"
|
||
|
"term:`docstring`."
|
||
|
msgstr ""
|