# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-10-01 16:00+0200\n" "PO-Revision-Date: 2018-09-11 07:42+0200\n" "Last-Translator: Julien VITARD \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.11\n" #: library/ast.rst:2 msgid ":mod:`ast` --- Abstract Syntax Trees" msgstr ":mod:`ast` — Arbres Syntaxiques Abstraits" #: library/ast.rst:14 msgid "**Source code:** :source:`Lib/ast.py`" msgstr "**Code source :** :source:`Lib/ast.py`" #: library/ast.rst:18 msgid "" "The :mod:`ast` module helps Python applications to process trees of the " "Python abstract syntax grammar. The abstract syntax itself might change " "with each Python release; this module helps to find out programmatically " "what the current grammar looks like." msgstr "" "Le module :mod:`ast` permet aux applications Python de traiter la grammaire " "abstraite de l'arbre syntaxique Python. La grammaire abstraite Python elle-" "même est susceptible d'être modifiée à chaque nouvelle version de Python; ce " "module permet de trouver à quoi la grammaire actuelle ressemble." #: library/ast.rst:23 msgid "" "An abstract syntax tree can be generated by passing :data:`ast." "PyCF_ONLY_AST` as a flag to the :func:`compile` built-in function, or using " "the :func:`parse` helper provided in this module. The result will be a tree " "of objects whose classes all inherit from :class:`ast.AST`. An abstract " "syntax tree can be compiled into a Python code object using the built-in :" "func:`compile` function." msgstr "" "Un arbre syntaxique abstrait peut être généré en passant l'option :data:`ast." "PyCF_ONLY_AST` à la fonction native :func:`compile`, ou en utilisant la " "fonction de facilité :func:`parse` fournie par le module. Le résultat est un " "arbre composé d'objets dont les classes héritent toutes de :class:`ast.AST`. " "Un arbre syntaxique abstrait peut être compilé en code objet Python en " "utilisant la fonction native :func:`compile`." #: library/ast.rst:33 msgid "Abstract Grammar" msgstr "Grammaire abstraite" #: library/ast.rst:35 msgid "The abstract grammar is currently defined as follows:" msgstr "La grammaire abstraite est actuellement définie comme suit :" #: library/ast.rst:42 msgid "Node classes" msgstr "Les classes nœud" #: library/ast.rst:46 msgid "" "This is the base of all AST node classes. The actual node classes are " "derived from the :file:`Parser/Python.asdl` file, which is reproduced :ref:" "`below `. They are defined in the :mod:`_ast` C module " "and re-exported in :mod:`ast`." msgstr "" "C'est la classe de base de toute classe nœud de l'AST. Les classes nœud " "courantes sont dérivées du fichier :file:`Parser/Python.asdl`, qui est " "reproduit :ref:`ci-dessous `. Ils sont définis dans le " "module C :mod:`_ast` et ré-exportés dans le module :mod:`ast`." #: library/ast.rst:51 msgid "" "There is one class defined for each left-hand side symbol in the abstract " "grammar (for example, :class:`ast.stmt` or :class:`ast.expr`). In addition, " "there is one class defined for each constructor on the right-hand side; " "these classes inherit from the classes for the left-hand side trees. For " "example, :class:`ast.BinOp` inherits from :class:`ast.expr`. For production " "rules with alternatives (aka \"sums\"), the left-hand side class is " "abstract: only instances of specific constructor nodes are ever created." msgstr "" "Il y a une classe définie pour chacun des symboles présents à gauche dans la " "grammaire abstraite (par exemple, :class:`ast.stmt` ou :class:`ast.expr`). " "En plus de cela, il y a une classe définie pour chacun des constructeurs " "présentés à droite; ces classes héritent des classes situées à gauche dans " "l'arbre. Par exemple, la classe :class:`ast.BinOp` hérite de la classe :" "class:`ast.expr`. Pour les règles de réécriture avec alternatives (comme " "*sums*), la partie gauche est abstraite : seules les instances des " "constructeurs spécifiques aux nœuds sont créés." #: library/ast.rst:64 msgid "" "Each concrete class has an attribute :attr:`_fields` which gives the names " "of all child nodes." msgstr "" "Chaque classe concrète possède un attribut :attr:`_fields` donnant les noms " "de tous les nœuds enfants." #: library/ast.rst:67 msgid "" "Each instance of a concrete class has one attribute for each child node, of " "the type as defined in the grammar. For example, :class:`ast.BinOp` " "instances have an attribute :attr:`left` of type :class:`ast.expr`." msgstr "" "Chaque instance d'une classe concrète possède un attribut pour chaque nœud " "enfant, du type défini par la grammaire. Par exemple, les instances :class:" "`ast.BinOp` possèdent un attribut :attr:`left` de type :class:`ast.expr`." #: library/ast.rst:71 msgid "" "If these attributes are marked as optional in the grammar (using a question " "mark), the value might be ``None``. If the attributes can have zero-or-more " "values (marked with an asterisk), the values are represented as Python " "lists. All possible attributes must be present and have valid values when " "compiling an AST with :func:`compile`." msgstr "" "Si ces attributs sont marqués comme optionnels dans la grammaire (en " "utilisant un point d'interrogation ``?``), la valeur peut être ``None``. Si " "les attributs peuvent avoir zéro ou plus valeurs (marqués avec un astérisque " "``*``), les valeurs sont représentées par des listes Python. Tous les " "attributs possibles doivent être présents et avoir une valeur valide pour " "compiler un AST avec :func:`compile`." #: library/ast.rst:82 #, fuzzy msgid "" "Instances of :class:`ast.expr` and :class:`ast.stmt` subclasses have :attr:" "`lineno`, :attr:`col_offset`, :attr:`lineno`, and :attr:`col_offset` " "attributes. The :attr:`lineno` and :attr:`end_lineno` are the first and " "last line numbers of source text span (1-indexed so the first line is line " "1) and the :attr:`col_offset` and :attr:`end_col_offset` are the " "corresponding UTF-8 byte offsets of the first and last tokens that generated " "the node. The UTF-8 offset is recorded because the parser uses UTF-8 " "internally." msgstr "" "Les instances des sous-classes :class:`ast.expr` et :class:`ast.stmt` " "possèdent les attributs :attr:`lineno` et :attr:`col_offset`. L'attribut :" "attr:`lineno` est le numéro de ligne dans le code source (indexé à partir de " "1 tel que la première ligne est la ligne 1) et l'attribut :attr:`col_offset` " "qui représente le décalage UTF-8 en byte du premier jeton qui a généré le " "nœud. Le décalage UTF-8 est enregistré parce que l'analyseur syntaxique " "utilise l'UTF-8 en interne." #: library/ast.rst:90 msgid "" "Note that the end positions are not required by the compiler and are " "therefore optional. The end offset is *after* the last symbol, for example " "one can get the source segment of a one-line expression node using " "``source_line[node.col_offset : node.end_col_offset]``." msgstr "" #: library/ast.rst:95 msgid "" "The constructor of a class :class:`ast.T` parses its arguments as follows:" msgstr "" "Le constructeur d'une classe :class:`ast.T` analyse ses arguments comme " "suit :" #: library/ast.rst:97 msgid "" "If there are positional arguments, there must be as many as there are items " "in :attr:`T._fields`; they will be assigned as attributes of these names." msgstr "" "S'il y a des arguments positionnels, il doit y avoir autant de termes dans :" "attr:`T._fields`; ils sont assignés comme attributs portant ces noms." #: library/ast.rst:99 msgid "" "If there are keyword arguments, they will set the attributes of the same " "names to the given values." msgstr "" "S'il y a des arguments nommés, ils définissent les attributs de mêmes noms " "avec les valeurs données." #: library/ast.rst:102 msgid "" "For example, to create and populate an :class:`ast.UnaryOp` node, you could " "use ::" msgstr "" "Par exemple, pour créer et peupler un nœud :class:`ast.UnaryOp`, on peut " "utiliser ::" #: library/ast.rst:114 msgid "or the more compact ::" msgstr "ou, plus compact ::" #: library/ast.rst:121 msgid "Class :class:`ast.Constant` is now used for all constants." msgstr "" #: library/ast.rst:125 msgid "" "Simple indices are represented by their value, extended slices are " "represented as tuples." msgstr "" #: library/ast.rst:130 msgid "" "Old classes :class:`ast.Num`, :class:`ast.Str`, :class:`ast.Bytes`, :class:" "`ast.NameConstant` and :class:`ast.Ellipsis` are still available, but they " "will be removed in future Python releases. In the meantime, instantiating " "them will return an instance of a different class." msgstr "" #: library/ast.rst:137 msgid "" "Old classes :class:`ast.Index` and :class:`ast.ExtSlice` are still " "available, but they will be removed in future Python releases. In the " "meantime, instantiating them will return an instance of a different class." msgstr "" #: library/ast.rst:144 msgid "Literals" msgstr "" #: library/ast.rst:148 msgid "" "A constant value. The ``value`` attribute of the ``Constant`` literal " "contains the Python object it represents. The values represented can be " "simple types such as a number, string or ``None``, but also immutable " "container types (tuples and frozensets) if all of their elements are " "constant." msgstr "" #: library/ast.rst:162 msgid "" "Node representing a single formatting field in an f-string. If the string " "contains a single formatting field and nothing else the node can be isolated " "otherwise it appears in :class:`JoinedStr`." msgstr "" #: library/ast.rst:166 msgid "" "``value`` is any expression node (such as a literal, a variable, or a " "function call)." msgstr "" #: library/ast.rst:168 msgid "``conversion`` is an integer:" msgstr "" #: library/ast.rst:170 msgid "-1: no formatting" msgstr "" #: library/ast.rst:171 msgid "115: ``!s`` string formatting" msgstr "" #: library/ast.rst:172 msgid "114: ``!r`` repr formatting" msgstr "" #: library/ast.rst:173 msgid "97: ``!a`` ascii formatting" msgstr "" #: library/ast.rst:175 msgid "" "``format_spec`` is a :class:`JoinedStr` node representing the formatting of " "the value, or ``None`` if no format was specified. Both ``conversion`` and " "``format_spec`` can be set at the same time." msgstr "" #: library/ast.rst:182 msgid "" "An f-string, comprising a series of :class:`FormattedValue` and :class:" "`Constant` nodes." msgstr "" #: library/ast.rst:211 msgid "" "A list or tuple. ``elts`` holds a list of nodes representing the elements. " "``ctx`` is :class:`Store` if the container is an assignment target (i.e. " "``(x,y)=something``), and :class:`Load` otherwise." msgstr "" #: library/ast.rst:237 msgid "A set. ``elts`` holds a list of nodes representing the set's elements." msgstr "" #: library/ast.rst:252 msgid "" "A dictionary. ``keys`` and ``values`` hold lists of nodes representing the " "keys and the values respectively, in matching order (what would be returned " "when calling :code:`dictionary.keys()` and :code:`dictionary.values()`)." msgstr "" #: library/ast.rst:256 msgid "" "When doing dictionary unpacking using dictionary literals the expression to " "be expanded goes in the ``values`` list, with a ``None`` at the " "corresponding position in ``keys``." msgstr "" #: library/ast.rst:274 msgid "Variables" msgstr "" #: library/ast.rst:278 msgid "" "A variable name. ``id`` holds the name as a string, and ``ctx`` is one of " "the following types." msgstr "" #: library/ast.rst:286 msgid "" "Variable references can be used to load the value of a variable, to assign a " "new value to it, or to delete it. Variable references are given a context to " "distinguish these cases." msgstr "" #: library/ast.rst:319 msgid "" "A ``*var`` variable reference. ``value`` holds the variable, typically a :" "class:`Name` node. This type must be used when building a :class:`Call` node " "with ``*args``." msgstr "" #: library/ast.rst:342 msgid "Expressions" msgstr "" #: library/ast.rst:346 msgid "" "When an expression, such as a function call, appears as a statement by " "itself with its return value not used or stored, it is wrapped in this " "container. ``value`` holds one of the other nodes in this section, a :class:" "`Constant`, a :class:`Name`, a :class:`Lambda`, a :class:`Yield` or :class:" "`YieldFrom` node." msgstr "" #: library/ast.rst:365 msgid "" "A unary operation. ``op`` is the operator, and ``operand`` any expression " "node." msgstr "" #: library/ast.rst:374 msgid "" "Unary operator tokens. :class:`Not` is the ``not`` keyword, :class:`Invert` " "is the ``~`` operator." msgstr "" #: library/ast.rst:388 msgid "" "A binary operation (like addition or division). ``op`` is the operator, and " "``left`` and ``right`` are any expression nodes." msgstr "" #: library/ast.rst:415 msgid "Binary operator tokens." msgstr "" #: library/ast.rst:420 msgid "" "A boolean operation, 'or' or 'and'. ``op`` is :class:`Or` or :class:`And`. " "``values`` are the values involved. Consecutive operations with the same " "operator, such as ``a or b or c``, are collapsed into one node with several " "values." msgstr "" #: library/ast.rst:425 msgid "This doesn't include ``not``, which is a :class:`UnaryOp`." msgstr "" #: library/ast.rst:441 msgid "Boolean operator tokens." msgstr "" #: library/ast.rst:446 msgid "" "A comparison of two or more values. ``left`` is the first value in the " "comparison, ``ops`` the list of operators, and ``comparators`` the list of " "values after the first element in the comparison." msgstr "" #: library/ast.rst:475 msgid "Comparison operator tokens." msgstr "" #: library/ast.rst:480 msgid "" "A function call. ``func`` is the function, which will often be a :class:" "`Name` or :class:`Attribute` object. Of the arguments:" msgstr "" #: library/ast.rst:483 msgid "``args`` holds a list of the arguments passed by position." msgstr "" #: library/ast.rst:484 msgid "" "``keywords`` holds a list of :class:`keyword` objects representing arguments " "passed by keyword." msgstr "" #: library/ast.rst:487 msgid "" "When creating a ``Call`` node, ``args`` and ``keywords`` are required, but " "they can be empty lists. ``starargs`` and ``kwargs`` are optional." msgstr "" #: library/ast.rst:511 msgid "" "A keyword argument to a function call or class definition. ``arg`` is a raw " "string of the parameter name, ``value`` is a node to pass in." msgstr "" #: library/ast.rst:517 msgid "" "An expression such as ``a if b else c``. Each field holds a single node, so " "in the following example, all three are :class:`Name` nodes." msgstr "" #: library/ast.rst:532 msgid "" "Attribute access, e.g. ``d.keys``. ``value`` is a node, typically a :class:" "`Name`. ``attr`` is a bare string giving the name of the attribute, and " "``ctx`` is :class:`Load`, :class:`Store` or :class:`Del` according to how " "the attribute is acted on." msgstr "" #: library/ast.rst:549 msgid "" "A named expression. This AST node is produced by the assignment expressions " "operator (also known as the walrus operator). As opposed to the :class:" "`Assign` node in which the first argument can be multiple nodes, in this " "case both ``target`` and ``value`` must be single nodes." msgstr "" #: library/ast.rst:564 msgid "Subscripting" msgstr "" #: library/ast.rst:568 msgid "" "A subscript, such as ``l[1]``. ``value`` is the subscripted object (usually " "sequence or mapping). ``slice`` is an index, slice or key. It can be a :" "class:`Tuple` and contain a :class:`Slice`. ``ctx`` is :class:`Load`, :class:" "`Store` or :class:`Del` according to the action performed with the subscript." msgstr "" #: library/ast.rst:592 msgid "" "Regular slicing (on the form ``lower:upper`` or ``lower:upper:step``). Can " "occur only inside the *slice* field of :class:`Subscript`, either directly " "or as an element of :class:`Tuple`." msgstr "" #: library/ast.rst:609 msgid "Comprehensions" msgstr "" #: library/ast.rst:616 msgid "" "List and set comprehensions, generator expressions, and dictionary " "comprehensions. ``elt`` (or ``key`` and ``value``) is a single node " "representing the part that will be evaluated for each item." msgstr "" #: library/ast.rst:620 msgid "``generators`` is a list of :class:`comprehension` nodes." msgstr "" #: library/ast.rst:662 msgid "" "One ``for`` clause in a comprehension. ``target`` is the reference to use " "for each element - typically a :class:`Name` or :class:`Tuple` node. " "``iter`` is the object to iterate over. ``ifs`` is a list of test " "expressions: each ``for`` clause can have multiple ``ifs``." msgstr "" #: library/ast.rst:667 msgid "" "``is_async`` indicates a comprehension is asynchronous (using an ``async " "for`` instead of ``for``). The value is an integer (0 or 1)." msgstr "" #: library/ast.rst:733 msgid "Statements" msgstr "" #: library/ast.rst:737 msgid "" "An assignment. ``targets`` is a list of nodes, and ``value`` is a single " "node." msgstr "" #: library/ast.rst:739 msgid "" "Multiple nodes in ``targets`` represents assigning the same value to each. " "Unpacking is represented by putting a :class:`Tuple` or :class:`List` within " "``targets``." msgstr "" #: library/ast.rst:1032 library/ast.rst:1258 msgid "" "``type_comment`` is an optional string with the type annotation as a comment." msgstr "" #: library/ast.rst:775 msgid "" "An assignment with a type annotation. ``target`` is a single node and can be " "a :class:`Name`, a :class:`Attribute` or a :class:`Subscript`. " "``annotation`` is the annotation, such as a :class:`Constant` or :class:" "`Name` node. ``value`` is a single optional node. ``simple`` is a boolean " "integer set to True for a :class:`Name` node in ``target`` that do not " "appear in between parenthesis and are hence pure names and not expressions." msgstr "" #: library/ast.rst:830 msgid "" "Augmented assignment, such as ``a += 1``. In the following example, " "``target`` is a :class:`Name` node for ``x`` (with the :class:`Store` " "context), ``op`` is :class:`Add`, and ``value`` is a :class:`Constant` with " "value for 1." msgstr "" #: library/ast.rst:835 msgid "" "The ``target`` attribute connot be of class :class:`Tuple` or :class:`List`, " "unlike the targets of :class:`Assign`." msgstr "" #: library/ast.rst:852 msgid "" "A ``raise`` statement. ``exc`` is the exception object to be raised, " "normally a :class:`Call` or :class:`Name`, or ``None`` for a standalone " "``raise``. ``cause`` is the optional part for ``y`` in ``raise x from y``." msgstr "" #: library/ast.rst:869 msgid "" "An assertion. ``test`` holds the condition, such as a :class:`Compare` node. " "``msg`` holds the failure message." msgstr "" #: library/ast.rst:885 msgid "" "Represents a ``del`` statement. ``targets`` is a list of nodes, such as :" "class:`Name`, :class:`Attribute` or :class:`Subscript` nodes." msgstr "" #: library/ast.rst:903 msgid "A ``pass`` statement." msgstr "" #: library/ast.rst:914 msgid "" "Other statements which are only applicable inside functions or loops are " "described in other sections." msgstr "" #: library/ast.rst:918 msgid "Imports" msgstr "" #: library/ast.rst:922 msgid "An import statement. ``names`` is a list of :class:`alias` nodes." msgstr "" #: library/ast.rst:939 msgid "" "Represents ``from x import y``. ``module`` is a raw string of the 'from' " "name, without any leading dots, or ``None`` for statements such as ``from . " "import foo``. ``level`` is an integer holding the level of the relative " "import (0 means absolute import)." msgstr "" #: library/ast.rst:961 msgid "" "Both parameters are raw strings of the names. ``asname`` can be ``None`` if " "the regular name is to be used." msgstr "" #: library/ast.rst:978 msgid "Control flow" msgstr "" #: library/ast.rst:981 msgid "" "Optional clauses such as ``else`` are stored as an empty list if they're not " "present." msgstr "" #: library/ast.rst:986 msgid "" "An ``if`` statement. ``test`` holds a single node, such as a :class:" "`Compare` node. ``body`` and ``orelse`` each hold a list of nodes." msgstr "" #: library/ast.rst:989 msgid "" "``elif`` clauses don't have a special representation in the AST, but rather " "appear as extra :class:`If` nodes within the ``orelse`` section of the " "previous one." msgstr "" #: library/ast.rst:1024 msgid "" "A ``for`` loop. ``target`` holds the variable(s) the loop assigns to, as a " "single :class:`Name`, :class:`Tuple` or :class:`List` node. ``iter`` holds " "the item to be looped over, again as a single node. ``body`` and ``orelse`` " "contain lists of nodes to execute. Those in ``orelse`` are executed if the " "loop finishes normally, rather than via a ``break`` statement." msgstr "" #: library/ast.rst:1058 msgid "" "A ``while`` loop. ``test`` holds the condition, such as a :class:`Compare` " "node." msgstr "" #: library/ast.rst:1085 msgid "The ``break`` and ``continue`` statements." msgstr "" #: library/ast.rst:1120 msgid "" "``try`` blocks. All attributes are list of nodes to execute, except for " "``handlers``, which is a list of :class:`ExceptHandler` nodes." msgstr "" #: library/ast.rst:1166 msgid "" "A single ``except`` clause. ``type`` is the exception type it will match, " "typically a :class:`Name` node (or ``None`` for a catch-all ``except:`` " "clause). ``name`` is a raw string for the name to hold the exception, or " "``None`` if the clause doesn't have ``as foo``. ``body`` is a list of nodes." msgstr "" #: library/ast.rst:1200 msgid "" "A ``with`` block. ``items`` is a list of :class:`withitem` nodes " "representing the context managers, and ``body`` is the indented block inside " "the context." msgstr "" #: library/ast.rst:1210 msgid "" "A single context manager in a ``with`` block. ``context_expr`` is the " "context manager, often a :class:`Call` node. ``optional_vars`` is a :class:" "`Name`, :class:`Tuple` or :class:`List` for the ``as foo`` part, or ``None`` " "if that isn't used." msgstr "" #: library/ast.rst:1243 msgid "Function and class definitions" msgstr "" #: library/ast.rst:1247 msgid "A function definition." msgstr "" #: library/ast.rst:1249 msgid "``name`` is a raw string of the function name." msgstr "" #: library/ast.rst:1250 msgid "``args`` is a :class:`arguments` node." msgstr "" #: library/ast.rst:1251 msgid "``body`` is the list of nodes inside the function." msgstr "" #: library/ast.rst:1252 msgid "" "``decorator_list`` is the list of decorators to be applied, stored outermost " "first (i.e. the first in the list will be applied last)." msgstr "" #: library/ast.rst:1254 msgid "``returns`` is the return annotation." msgstr "" #: library/ast.rst:1263 msgid "" "``lambda`` is a minimal function definition that can be used inside an " "expression. Unlike :class:`FunctionDef`, ``body`` holds a single node." msgstr "" #: library/ast.rst:1287 msgid "The arguments for a function." msgstr "" #: library/ast.rst:1289 msgid "" "``posonlyargs``, ``args`` and ``kwonlyargs`` are lists of :class:`arg` nodes." msgstr "" #: library/ast.rst:1290 msgid "" "``vararg`` and ``kwarg`` are single :class:`arg` nodes, referring to the " "``*args, **kwargs`` parameters." msgstr "" #: library/ast.rst:1292 msgid "" "``kw_defaults`` is a list of default values for keyword-only arguments. If " "one is ``None``, the corresponding argument is required." msgstr "" #: library/ast.rst:1294 msgid "" "``defaults`` is a list of default values for arguments that can be passed " "positionally. If there are fewer defaults, they correspond to the last n " "arguments." msgstr "" #: library/ast.rst:1301 msgid "" "A single argument in a list. ``arg`` is a raw string of the argument name, " "``annotation`` is its annotation, such as a :class:`Str` or :class:`Name` " "node." msgstr "" #: library/ast.rst:1307 msgid "" "``type_comment`` is an optional string with the type annotation as a comment" msgstr "" #: library/ast.rst:1351 msgid "A ``return`` statement." msgstr "" #: library/ast.rst:1366 msgid "" "A ``yield`` or ``yield from`` expression. Because these are expressions, " "they must be wrapped in a :class:`Expr` node if the value sent back is not " "used." msgstr "" #: library/ast.rst:1391 msgid "" "``global`` and ``nonlocal`` statements. ``names`` is a list of raw strings." msgstr "" #: library/ast.rst:1418 msgid "A class definition." msgstr "" #: library/ast.rst:1420 msgid "``name`` is a raw string for the class name" msgstr "" #: library/ast.rst:1421 msgid "``bases`` is a list of nodes for explicitly specified base classes." msgstr "" #: library/ast.rst:1422 msgid "" "``keywords`` is a list of :class:`keyword` nodes, principally for " "'metaclass'. Other keywords will be passed to the metaclass, as per " "`PEP-3115 `_." msgstr "" #: library/ast.rst:1425 msgid "" "``starargs`` and ``kwargs`` are each a single node, as in a function call. " "starargs will be expanded to join the list of base classes, and kwargs will " "be passed to the metaclass." msgstr "" #: library/ast.rst:1428 msgid "" "``body`` is a list of nodes representing the code within the class " "definition." msgstr "" #: library/ast.rst:1430 msgid "``decorator_list`` is a list of nodes, as in :class:`FunctionDef`." msgstr "" #: library/ast.rst:1459 msgid "Async and await" msgstr "" #: library/ast.rst:1463 msgid "" "An ``async def`` function definition. Has the same fields as :class:" "`FunctionDef`." msgstr "" #: library/ast.rst:1469 msgid "" "An ``await`` expression. ``value`` is what it waits for. Only valid in the " "body of an :class:`AsyncFunctionDef`." msgstr "" #: library/ast.rst:1502 msgid "" "``async for`` loops and ``async with`` context managers. They have the same " "fields as :class:`For` and :class:`With`, respectively. Only valid in the " "body of an :class:`AsyncFunctionDef`." msgstr "" #: library/ast.rst:1508 msgid ":mod:`ast` Helpers" msgstr "Outils du module :mod:`ast`" #: library/ast.rst:1510 msgid "" "Apart from the node classes, the :mod:`ast` module defines these utility " "functions and classes for traversing abstract syntax trees:" msgstr "" "À part la classe nœud, le module :mod:`ast` définit ces fonctions et classes " "utilitaires pour traverser les arbres syntaxiques abstraits :" #: library/ast.rst:1515 msgid "" "Parse the source into an AST node. Equivalent to ``compile(source, " "filename, mode, ast.PyCF_ONLY_AST)``." msgstr "" "Analyse le code source en un nœud AST. Équivalent à ``compile(source, " "filename, mode, ast.PyCF_ONLY_AST)``." #: library/ast.rst:1518 msgid "" "If ``type_comments=True`` is given, the parser is modified to check and " "return type comments as specified by :pep:`484` and :pep:`526`. This is " "equivalent to adding :data:`ast.PyCF_TYPE_COMMENTS` to the flags passed to :" "func:`compile()`. This will report syntax errors for misplaced type " "comments. Without this flag, type comments will be ignored, and the " "``type_comment`` field on selected AST nodes will always be ``None``. In " "addition, the locations of ``# type: ignore`` comments will be returned as " "the ``type_ignores`` attribute of :class:`Module` (otherwise it is always an " "empty list)." msgstr "" #: library/ast.rst:1528 msgid "" "In addition, if ``mode`` is ``'func_type'``, the input syntax is modified to " "correspond to :pep:`484` \"signature type comments\", e.g. ``(str, int) -> " "List[str]``." msgstr "" #: library/ast.rst:1532 msgid "" "Also, setting ``feature_version`` to a tuple ``(major, minor)`` will attempt " "to parse using that Python version's grammar. Currently ``major`` must equal " "to ``3``. For example, setting ``feature_version=(3, 4)`` will allow the " "use of ``async`` and ``await`` as variable names. The lowest supported " "version is ``(3, 4)``; the highest is ``sys.version_info[0:2]``." msgstr "" #: library/ast.rst:1579 msgid "" "It is possible to crash the Python interpreter with a sufficiently large/" "complex string due to stack depth limitations in Python's AST compiler." msgstr "" "Il est possible de faire planter l'interpréteur Python avec des chaînes " "suffisamment grandes ou complexes lors de la compilation d'un objet AST dû à " "la limitation de la profondeur de la pile d'appels." #: library/ast.rst:1544 msgid "Added ``type_comments``, ``mode='func_type'`` and ``feature_version``." msgstr "" #: library/ast.rst:1550 msgid "" "Unparse an :class:`ast.AST` object and generate a string with code that " "would produce an equivalent :class:`ast.AST` object if parsed back with :" "func:`ast.parse`." msgstr "" #: library/ast.rst:1555 msgid "" "The produced code string will not necessarily be equal to the original code " "that generated the :class:`ast.AST` object (without any compiler " "optimizations, such as constant tuples/frozensets)." msgstr "" #: library/ast.rst:1560 msgid "" "Trying to unparse a highly complex expression would result with :exc:" "`RecursionError`." msgstr "" #: library/ast.rst:1568 msgid "" "Safely evaluate an expression node or a string containing a Python literal " "or container display. The string or node provided may only consist of the " "following Python literal structures: strings, bytes, numbers, tuples, lists, " "dicts, sets, booleans, and ``None``." msgstr "" "Évalue de manière sûre un nœud expression ou une chaîne de caractères " "contenant une expression littérale Python ou un conteneur. La chaîne de " "caractères ou le nœud fourni peut seulement faire partie des littéraux " "Python suivants : chaînes de caractères, bytes, nombres, n-uplets, listes, " "dictionnaires, ensembles, booléens, et ``None``." #: library/ast.rst:1573 msgid "" "This can be used for safely evaluating strings containing Python values from " "untrusted sources without the need to parse the values oneself. It is not " "capable of evaluating arbitrarily complex expressions, for example involving " "operators or indexing." msgstr "" "Cela peut être utilisé pour évaluer de manière sûre la chaîne de caractères " "contenant des valeurs Python de sources non fiable sans avoir besoin " "d'analyser les valeurs elles-mêmes. Cette fonction n'est pas capable " "d'évaluer des expressions complexes arbitraires, par exemple impliquant des " "opérateurs ou de l'indexation." #: library/ast.rst:1583 msgid "Now allows bytes and set literals." msgstr "Accepte maintenant les littéraux suivants *bytes* et *sets*." #: library/ast.rst:1586 msgid "Now supports creating empty sets with ``'set()'``." msgstr "" #: library/ast.rst:1592 msgid "" "Return the docstring of the given *node* (which must be a :class:" "`FunctionDef`, :class:`AsyncFunctionDef`, :class:`ClassDef`, or :class:" "`Module` node), or ``None`` if it has no docstring. If *clean* is true, " "clean up the docstring's indentation with :func:`inspect.cleandoc`." msgstr "" "Renvoie la *docstring* du *node* donné (qui doit être un nœud de type :class:" "`FunctionDef`, :class:`AsyncFunctionDef`, :class:`ClassDef`, or :class:" "`Module`), ou ``None`` s'il n'a pas de *docstring*. Si *clean* est vrai, " "cette fonction nettoie l'indentation de la *docstring* avec :func:`inspect." "cleandoc`." #: library/ast.rst:1598 msgid ":class:`AsyncFunctionDef` is now supported." msgstr ":class:`AsyncFunctionDef` est maintenant gérée" #: library/ast.rst:1604 msgid "" "Get source code segment of the *source* that generated *node*. If some " "location information (:attr:`lineno`, :attr:`end_lineno`, :attr:" "`col_offset`, or :attr:`end_col_offset`) is missing, return ``None``." msgstr "" #: library/ast.rst:1608 msgid "" "If *padded* is ``True``, the first line of a multi-line statement will be " "padded with spaces to match its original position." msgstr "" #: library/ast.rst:1616 msgid "" "When you compile a node tree with :func:`compile`, the compiler expects :" "attr:`lineno` and :attr:`col_offset` attributes for every node that supports " "them. This is rather tedious to fill in for generated nodes, so this helper " "adds these attributes recursively where not already set, by setting them to " "the values of the parent node. It works recursively starting at *node*." msgstr "" "Lorsque l'on compile un arbre avec :func:`compile`, le compilateur attend " "les attributs :attr:`lineno` et :attr:`col_offset` pour tous les nœuds qui " "les supportent. Il est fastidieux de les remplir pour les nœuds générés, " "cette fonction utilitaire ajoute ces attributs de manière récursive là où " "ils ne sont pas déjà définis, en les définissant comme les valeurs du nœud " "parent. Elle fonctionne récursivement en démarrant de *node*." #: library/ast.rst:1625 #, fuzzy msgid "" "Increment the line number and end line number of each node in the tree " "starting at *node* by *n*. This is useful to \"move code\" to a different " "location in a file." msgstr "" "Incrémente de *n* le numéro de ligne de chaque nœud dans l'arbre en " "commençant par le nœud *node*. C'est utile pour \"déplacer du code\" à un " "endroit différent dans un fichier." #: library/ast.rst:1632 #, fuzzy msgid "" "Copy source location (:attr:`lineno`, :attr:`col_offset`, :attr:" "`end_lineno`, and :attr:`end_col_offset`) from *old_node* to *new_node* if " "possible, and return *new_node*." msgstr "" "Copie le code source (:attr:`lineno` et :attr:`col_offset`) de l'ancien nœud " "*old_node* vers le nouveau nœud *new_node* si possible, et renvoie " "*new_node*." #: library/ast.rst:1639 msgid "" "Yield a tuple of ``(fieldname, value)`` for each field in ``node._fields`` " "that is present on *node*." msgstr "" "Produit un n-uplet de ``(fieldname, value)`` pour chaque champ de ``node." "_fields`` qui est présent dans *node*." #: library/ast.rst:1645 msgid "" "Yield all direct child nodes of *node*, that is, all fields that are nodes " "and all items of fields that are lists of nodes." msgstr "" "Produit tous les nœuds enfants directs de *node*, c'est à dire, tous les " "champs qui sont des nœuds et tous les éléments des champs qui sont des " "listes de nœuds." #: library/ast.rst:1651 msgid "" "Recursively yield all descendant nodes in the tree starting at *node* " "(including *node* itself), in no specified order. This is useful if you " "only want to modify nodes in place and don't care about the context." msgstr "" "Produit récursivement tous les nœuds enfants dans l'arbre en commençant par " "*node* (*node* lui-même est inclus), sans ordre spécifique. C'est utile " "lorsque l'on souhaite modifier les nœuds sur place sans prêter attention au " "contexte." #: library/ast.rst:1658 msgid "" "A node visitor base class that walks the abstract syntax tree and calls a " "visitor function for every node found. This function may return a value " "which is forwarded by the :meth:`visit` method." msgstr "" "Classe de base pour un visiteur de nœud, qui parcourt l'arbre syntaxique " "abstrait et appelle une fonction de visite pour chacun des nœuds trouvés. " "Cette fonction peut renvoyer une valeur qui est transmise par la méthode :" "meth:`visit`." #: library/ast.rst:1662 msgid "" "This class is meant to be subclassed, with the subclass adding visitor " "methods." msgstr "" "Cette classe est faite pour être dérivée, en ajoutant des méthodes de visite " "à la sous-classe." #: library/ast.rst:1667 msgid "" "Visit a node. The default implementation calls the method called :samp:" "`self.visit_{classname}` where *classname* is the name of the node class, " "or :meth:`generic_visit` if that method doesn't exist." msgstr "" "Visite un nœud. L'implémentation par défaut appelle la méthode :samp:`self." "visit_{classname}` où *classname* représente le nom de la classe du nœud, " "ou :meth:`generic_visit` si cette méthode n'existe pas." #: library/ast.rst:1673 msgid "This visitor calls :meth:`visit` on all children of the node." msgstr "" "Le visiteur appelle la méthode :meth:`visit` de tous les enfants du nœud." #: library/ast.rst:1675 msgid "" "Note that child nodes of nodes that have a custom visitor method won't be " "visited unless the visitor calls :meth:`generic_visit` or visits them itself." msgstr "" "Notons que les nœuds enfants qui possèdent une méthode de visite spéciale ne " "seront pas visités à moins que le visiteur n'appelle la méthode :meth:" "`generic_visit` ou ne les visite lui-même." #: library/ast.rst:1679 msgid "" "Don't use the :class:`NodeVisitor` if you want to apply changes to nodes " "during traversal. For this a special visitor exists (:class:" "`NodeTransformer`) that allows modifications." msgstr "" "N'utilisez pas :class:`NodeVisitor` si vous souhaitez appliquer des " "changements sur les nœuds lors du parcours. Pour cela, un visiteur spécial " "existe (:class:`NodeTransformer`) qui permet les modifications." #: library/ast.rst:1685 msgid "" "Methods :meth:`visit_Num`, :meth:`visit_Str`, :meth:`visit_Bytes`, :meth:" "`visit_NameConstant` and :meth:`visit_Ellipsis` are deprecated now and will " "not be called in future Python versions. Add the :meth:`visit_Constant` " "method to handle all constant nodes." msgstr "" #: library/ast.rst:1693 msgid "" "A :class:`NodeVisitor` subclass that walks the abstract syntax tree and " "allows modification of nodes." msgstr "" "Une sous-classe :class:`NodeVisitor` qui traverse l'arbre syntaxique " "abstrait et permet les modifications des nœuds." #: library/ast.rst:1696 msgid "" "The :class:`NodeTransformer` will walk the AST and use the return value of " "the visitor methods to replace or remove the old node. If the return value " "of the visitor method is ``None``, the node will be removed from its " "location, otherwise it is replaced with the return value. The return value " "may be the original node in which case no replacement takes place." msgstr "" "Le :class:`NodeTransformer` traverse l'AST et utilise la valeur renvoyée par " "les méthodes du visiteur pour remplacer ou supprimer l'ancien nœud. Si la " "valeur renvoyée par la méthode du visiteur est ``None``, le nœud est " "supprimé de sa position, sinon il est remplacé par la valeur de retour. La " "valeur de retour peut être le nœud original et dans ce cas, il n'y a pas de " "remplacement. " #: library/ast.rst:1702 msgid "" "Here is an example transformer that rewrites all occurrences of name lookups " "(``foo``) to ``data['foo']``::" msgstr "" "Voici un exemple du *transformer* qui réécrit les occurrences du " "dictionnaire (``foo``) en ``data['foo']`` ::" #: library/ast.rst:1714 msgid "" "Keep in mind that if the node you're operating on has child nodes you must " "either transform the child nodes yourself or call the :meth:`generic_visit` " "method for the node first." msgstr "" "Gardez en tête que si un nœud sur lequel vous travaillez a des nœuds " "enfants, vous devez transformer également ces nœuds enfant vous-même ou " "appeler d'abord la méthode :meth:`generic_visit` sur le nœud." #: library/ast.rst:1718 msgid "" "For nodes that were part of a collection of statements (that applies to all " "statement nodes), the visitor may also return a list of nodes rather than " "just a single node." msgstr "" "Pour les nœuds qui font partie d'une collection d'instructions (cela " "s'applique à tous les nœuds instruction), le visiteur peut aussi renvoyer la " "liste des nœuds plutôt qu'un seul nœud." #: library/ast.rst:1722 msgid "" "If :class:`NodeTransformer` introduces new nodes (that weren't part of " "original tree) without giving them location information (such as :attr:" "`lineno`), :func:`fix_missing_locations` should be called with the new sub-" "tree to recalculate the location information::" msgstr "" #: library/ast.rst:1730 msgid "Usually you use the transformer like this::" msgstr "Utilisation typique du *transformer* ::" #: library/ast.rst:1737 #, fuzzy msgid "" "Return a formatted dump of the tree in *node*. This is mainly useful for " "debugging purposes. If *annotate_fields* is true (by default), the returned " "string will show the names and the values for fields. If *annotate_fields* " "is false, the result string will be more compact by omitting unambiguous " "field names. Attributes such as line numbers and column offsets are not " "dumped by default. If this is wanted, *include_attributes* can be set to " "true." msgstr "" "Renvoie un *dump* formaté de l'arbre dans *node*. C'est principalement utile " "à des fins de débogage. La chaîne de caractères renvoyée présente les noms " "et valeurs des champs. Cela rend le code impossible à évaluer, si l'on " "souhaite évaluer ce code, l'option *annotate_fields* doit être définie comme " "``False``. Les attributs comme les numéros de ligne et les décalages de " "colonne ne sont pas récupérés par défaut. Si l'on souhaite les récupérer, " "l'option *include_attributes* peut être définie comme ``True``." #: library/ast.rst:1745 msgid "" "If *indent* is a non-negative integer or string, then the tree will be " "pretty-printed with that indent level. An indent level of 0, negative, or ``" "\"\"`` will only insert newlines. ``None`` (the default) selects the single " "line representation. Using a positive integer indent indents that many " "spaces per level. If *indent* is a string (such as ``\"\\t\"``), that " "string is used to indent each level." msgstr "" #: library/ast.rst:1752 msgid "Added the *indent* option." msgstr "" #: library/ast.rst:1759 msgid "Command-Line Usage" msgstr "" #: library/ast.rst:1763 msgid "" "The :mod:`ast` module can be executed as a script from the command line. It " "is as simple as:" msgstr "" #: library/ast.rst:1770 msgid "The following options are accepted:" msgstr "" #: library/ast.rst:1776 msgid "Show the help message and exit." msgstr "" #: library/ast.rst:1781 msgid "" "Specify what kind of code must be compiled, like the *mode* argument in :" "func:`parse`." msgstr "" #: library/ast.rst:1786 msgid "Don't parse type comments." msgstr "" #: library/ast.rst:1790 msgid "Include attributes such as line numbers and column offsets." msgstr "" #: library/ast.rst:1795 msgid "Indentation of nodes in AST (number of spaces)." msgstr "" #: library/ast.rst:1797 msgid "" "If :file:`infile` is specified its contents are parsed to AST and dumped to " "stdout. Otherwise, the content is read from stdin." msgstr "" #: library/ast.rst:1803 msgid "" "`Green Tree Snakes `_, an external " "documentation resource, has good details on working with Python ASTs." msgstr "" "`Green Tree Snakes `_, une " "ressource documentaire externe, qui possède plus de détails pour travailler " "avec des ASTs Python." #: library/ast.rst:1806 msgid "" "`ASTTokens `_ " "annotates Python ASTs with the positions of tokens and text in the source " "code that generated them. This is helpful for tools that make source code " "transformations." msgstr "" #: library/ast.rst:1811 msgid "" "`leoAst.py `_ unifies the " "token-based and parse-tree-based views of python programs by inserting two-" "way links between tokens and ast nodes." msgstr "" #: library/ast.rst:1815 msgid "" "`LibCST `_ parses code as a Concrete Syntax " "Tree that looks like an ast tree and keeps all formatting details. It's " "useful for building automated refactoring (codemod) applications and linters." msgstr "" #: library/ast.rst:1820 msgid "" "`Parso `_ is a Python parser that supports " "error recovery and round-trip parsing for different Python versions (in " "multiple Python versions). Parso is also able to list multiple syntax errors " "in your python file." msgstr ""