@@ -6,14 +6,14 @@ msgstr ""
6
6
"Project-Id-Version : Python 3\n "
7
7
"Report-Msgid-Bugs-To : \n "
8
8
"POT-Creation-Date : 2021-09-23 16:16+0200\n "
9
- "PO-Revision-Date : 2021-09-04 02:09 +0200\n "
9
+ "PO-Revision-Date : 2021-10-16 23:16 +0200\n "
10
10
"Last-Translator : Jean Abou Samra <jean@abou-samra.fr>\n "
11
11
"Language-Team : FRENCH <traductions@lists.afpy.org>\n "
12
12
"Language : fr\n "
13
13
"MIME-Version : 1.0\n "
14
14
"Content-Type : text/plain; charset=UTF-8\n "
15
15
"Content-Transfer-Encoding : 8bit\n "
16
- "X-Generator : Poedit 2.4.1 \n "
16
+ "X-Generator : Poedit 3.0 \n "
17
17
18
18
#: tutorial/controlflow.rst:5
19
19
msgid "More Control Flow Tools"
@@ -60,6 +60,9 @@ msgid ""
60
60
"specific types or attributes, you may also find the :keyword:`!match` "
61
61
"statement useful. For more details see :ref:`tut-match`."
62
62
msgstr ""
63
+ "Pour les comparaisons avec beaucoup de constantes, ainsi que les tests "
64
+ "d'appartenance à un type ou de forme d'un attribut, l'instruction :keyword:`!"
65
+ "match` décrite plus bas peut se révéler utile (voir :ref:`tut-match`)."
63
66
64
67
#: tutorial/controlflow.rst:46
65
68
msgid ":keyword:`!for` Statements"
@@ -167,15 +170,14 @@ msgstr ""
167
170
"paramètre est :func:`sum` ::"
168
171
169
172
#: tutorial/controlflow.rst:157
170
- #, fuzzy
171
173
msgid ""
172
174
"Later we will see more functions that return iterables and take iterables as "
173
175
"arguments. In chapter :ref:`tut-structures`, we will discuss in more detail "
174
176
"about :func:`list`."
175
177
msgstr ""
176
178
"Plus loin nous voyons d'autres fonctions qui donnent des itérables ou en "
177
- "prennent en paramètre. Si vous vous demandez comment obtenir une liste à "
178
- "partir d'un *range*, voici la solution :: "
179
+ "prennent en paramètre. De plus amples détails sur :func:`list` sont donnés "
180
+ "dans :ref:`tut-structures`. "
179
181
180
182
#: tutorial/controlflow.rst:164
181
183
msgid ""
@@ -274,9 +276,8 @@ msgstr ""
274
276
"L'instruction :keyword:`!pass` est alors ignorée silencieusement ::"
275
277
276
278
#: tutorial/controlflow.rst:251
277
- #, fuzzy
278
279
msgid ":keyword:`!match` Statements"
279
- msgstr "L'instruction :keyword:`!pass `"
280
+ msgstr "L'instruction :keyword:`!match `"
280
281
281
282
#: tutorial/controlflow.rst:253
282
283
msgid ""
@@ -286,28 +287,47 @@ msgid ""
286
287
"it can also extract components (sequence elements or object attributes) from "
287
288
"the value into variables."
288
289
msgstr ""
290
+ "L'instruction ``match`` réalise un filtrage par motif. Elle confronte la "
291
+ "valeur d'une expression à plusieurs filtres successifs donnés par les "
292
+ "instructions ``case``. L'instruction ``match`` peut faire penser au "
293
+ "``switch`` que l'on trouve dans les langages C, Java, JavaScript et autres. "
294
+ "Elle est cependant bien plus générale : les filtres définissent des formes "
295
+ "possibles en imposant des conditions, et permettent d'extraire dans des "
296
+ "variables des composantes de la valeur, comme les éléments d'une séquence ou "
297
+ "les attributs d'un objet."
289
298
290
299
#: tutorial/controlflow.rst:259
291
300
msgid ""
292
301
"The simplest form compares a subject value against one or more literals::"
293
302
msgstr ""
303
+ "Dans sa plus simple expression, une instruction ``match`` compare une valeur "
304
+ "à des littéraux :"
294
305
295
306
#: tutorial/controlflow.rst:272
296
307
msgid ""
297
308
"Note the last block: the \" variable name\" ``_`` acts as a *wildcard* and "
298
309
"never fails to match. If no case matches, none of the branches is executed."
299
310
msgstr ""
311
+ "Remarquez l'emploi du signe souligné ``_`` dans le dernier bloc, qui est "
312
+ "normalement un nom de variable spécial. Ici, c'est un filtre *attrape-tout*, "
313
+ "c'est-à-dire qu'il accepte toutes les valeurs. Si aucun des filtres dans les "
314
+ "``case`` ne fonctionne, aucune des branches indentées sous les ``case`` "
315
+ "n'est exécutée."
300
316
301
317
#: tutorial/controlflow.rst:275
302
318
msgid ""
303
319
"You can combine several literals in a single pattern using ``|`` (\" or\" )::"
304
320
msgstr ""
321
+ "On peut combiner plusieurs littéraux en un seul filtre avec le signe ``|``, "
322
+ "qui se lit OU."
305
323
306
324
#: tutorial/controlflow.rst:280
307
325
msgid ""
308
326
"Patterns can look like unpacking assignments, and can be used to bind "
309
327
"variables::"
310
328
msgstr ""
329
+ "Les filtres peuvent prendre une forme similaire aux affectations multiples, "
330
+ "et provoquer la liaison de variables :"
311
331
312
332
#: tutorial/controlflow.rst:296
313
333
msgid ""
@@ -318,13 +338,23 @@ msgid ""
318
338
"which makes it conceptually similar to the unpacking assignment ``(x, y) = "
319
339
"point``."
320
340
msgstr ""
341
+ "Observez bien cet exemple ! Le premier filtre contient simplement deux "
342
+ "littéraux. C'est une sorte d'extension des filtres littéraux. Mais les deux "
343
+ "filtres suivants mélangent un littéral et un nom de variable. Si un tel "
344
+ "filtre réussit, il provoque l'affectation à la variable. Le quatrième filtre "
345
+ "est constitué de deux variables, ce qui le fait beaucoup ressembler à "
346
+ "l'affectation multiple ``(x, y) = point``."
321
347
322
348
#: tutorial/controlflow.rst:303
323
349
msgid ""
324
350
"If you are using classes to structure your data you can use the class name "
325
351
"followed by an argument list resembling a constructor, but with the ability "
326
352
"to capture attributes into variables::"
327
353
msgstr ""
354
+ "Si vous structurez vos données par l'utilisation de classes, vous pouvez "
355
+ "former des filtres avec le nom de la classe suivi d'une liste d'arguments. "
356
+ "Ces filtres sont semblables à l'appel d'un constructeur, et permettent de "
357
+ "capturer des attributs."
328
358
329
359
#: tutorial/controlflow.rst:324
330
360
msgid ""
@@ -335,6 +365,13 @@ msgid ""
335
365
"\" y\" ), the following patterns are all equivalent (and all bind the ``y`` "
336
366
"attribute to the ``var`` variable)::"
337
367
msgstr ""
368
+ "Un certain nombre de classes natives, notamment les classes de données, "
369
+ "prennent en charge le filtrage par arguments positionnels en définissant un "
370
+ "ordre des attributs. Vous pouvez ajouter cette possibilité à vos propres "
371
+ "classes en y définissant l'attribut spécial ``__match_args__``. Par exemple, "
372
+ "le mettre à ``(\" x\" , \" y\" )`` rend tous les filtres ci-dessous équivalents "
373
+ "(en particulier, tous provoquent la liaison de l'attribut ``y`` à la "
374
+ "variable ``var``)."
338
375
339
376
#: tutorial/controlflow.rst:335
340
377
msgid ""
@@ -346,30 +383,49 @@ msgid ""
346
383
"(recognized by the \" (...)\" next to them like ``Point`` above) are never "
347
384
"assigned to."
348
385
msgstr ""
386
+ "Une méthode préconisée pour lire les filtres est de les voir comme une "
387
+ "extension de ce que l'on peut placer à gauche du signe ``=`` dans une "
388
+ "affectation. Cela permet de visualiser quelles variables sont liées à quoi. "
389
+ "Seuls les noms simples, comme ``var`` ci-dessus, sont des variables "
390
+ "susceptibles d'être liées à une valeur. Il n'y a jamais de liaison pour les "
391
+ "noms qualifiés (avec un point, comme dans ``truc.machin``), les noms "
392
+ "d'attributs (tels que ``x=`` et ``y=`` dans l'exemple précédent) et les noms "
393
+ "de classes (identifiés par les parenthèses à leur droite, comme ``Point``)."
349
394
350
395
#: tutorial/controlflow.rst:342
351
396
msgid ""
352
397
"Patterns can be arbitrarily nested. For example, if we have a short list of "
353
398
"points, we could match it like this::"
354
399
msgstr ""
400
+ "On peut imbriquer les filtres autant que de besoin. Ainsi, on peut lire une "
401
+ "courte liste de points comme ceci :"
355
402
356
403
#: tutorial/controlflow.rst:357
357
404
msgid ""
358
405
"We can add an ``if`` clause to a pattern, known as a \" guard\" . If the "
359
406
"guard is false, ``match`` goes on to try the next case block. Note that "
360
407
"value capture happens before the guard is evaluated::"
361
408
msgstr ""
409
+ "Un filtre peut comporter un ``if``, qui introduit ce que l'on appelle une "
410
+ "garde. Si le filtre réussit, la garde est alors testée et, si elle s'évalue "
411
+ "à une valeur fausse, l'exécution continue au bloc ``case`` suivant. Les "
412
+ "variables sont liées avant l'évaluation de la garde, et peuvent être "
413
+ "utilisées à l'intérieur."
362
414
363
415
#: tutorial/controlflow.rst:367
364
416
msgid "Several other key features of this statement:"
365
- msgstr ""
417
+ msgstr "Voici quelques autres éléments sur cette instruction : "
366
418
367
419
#: tutorial/controlflow.rst:369
368
420
msgid ""
369
421
"Like unpacking assignments, tuple and list patterns have exactly the same "
370
422
"meaning and actually match arbitrary sequences. An important exception is "
371
423
"that they don't match iterators or strings."
372
424
msgstr ""
425
+ "Comme dans les affectations multiples, les filtres de *n*-uplet et de liste "
426
+ "sont totalement équivalents et autorisent tous les types de séquences. "
427
+ "Exception importante, ils n'autorisent pas les itérateurs ni les chaînes de "
428
+ "caractères."
373
429
374
430
#: tutorial/controlflow.rst:373
375
431
msgid ""
@@ -378,6 +434,12 @@ msgid ""
378
434
"also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two items "
379
435
"without binding the remaining items."
380
436
msgstr ""
437
+ "Les filtres de séquence peuvent faire intervenir l'affectation étoilée : "
438
+ "``[x, y, *reste]`` ou ``(x, y, *reste)`` ont le même sens que dans une "
439
+ "affectation avec ``=``. Le nom de variable après l'étoile peut aussi être "
440
+ "l'attrape-tout ``_``. Ainsi, ``(x, y, *_)`` est un filtre qui reconnaît les "
441
+ "séquences à deux éléments ou plus, en capturant les deux premiers et en "
442
+ "ignorant le reste."
381
443
382
444
#: tutorial/controlflow.rst:378
383
445
msgid ""
@@ -386,34 +448,53 @@ msgid ""
386
448
"sequence patterns, extra keys are ignored. An unpacking like ``**rest`` is "
387
449
"also supported. (But ``**_`` would be redundant, so it not allowed.)"
388
450
msgstr ""
451
+ "Il existe les filtres d'association, qui ressemblent syntaxiquement aux "
452
+ "dictionnaires. Par exemple, le filtre ``{\" bande_passante\" : b, \" latence\" : "
453
+ "l}`` extrait les valeurs des clés ``\" bande_passante\" `` et ``\" latence\" `` "
454
+ "dans un dictionnaire ou une autre table de correspondances. Contrairement "
455
+ "aux filtres de séquence, les clés absentes du filtre sont ignorées et le "
456
+ "filtre réussit tout de même. L'affectation double-étoilée (``**reste``) "
457
+ "fonctionne aussi (cependant, ``**_`` serait redondant et n'est donc pas "
458
+ "permis)."
389
459
390
460
#: tutorial/controlflow.rst:383
391
461
msgid "Subpatterns may be captured using the ``as`` keyword::"
392
462
msgstr ""
463
+ "On peut capturer la valeur d'une partie d'un filtre avec le mot-clé ``as``, "
464
+ "par exemple :"
393
465
394
466
#: tutorial/controlflow.rst:387
395
467
msgid ""
396
468
"will capture the second element of the input as ``p2`` (as long as the input "
397
469
"is a sequence of two points)"
398
470
msgstr ""
471
+ "Ce filtre, lorsqu'il est comparé à une séquence de deux points, réussit et "
472
+ "capture le second dans la variable ``p2``."
399
473
400
474
#: tutorial/controlflow.rst:390
401
475
msgid ""
402
476
"Most literals are compared by equality, however the singletons ``True``, "
403
477
"``False`` and ``None`` are compared by identity."
404
478
msgstr ""
479
+ "La plupart des littéraux sont comparés par égalité. Néanmoins, les "
480
+ "singletons ``True``, ``False`` et ``None`` sont comparés par identité."
405
481
406
482
#: tutorial/controlflow.rst:393
407
483
msgid ""
408
484
"Patterns may use named constants. These must be dotted names to prevent "
409
485
"them from being interpreted as capture variable::"
410
486
msgstr ""
487
+ "Les filtres peuvent contenir des noms qui se réfèrent à des constantes. Ces "
488
+ "noms doivent impérativement être qualifiés (contenir un point) pour ne pas "
489
+ "être interprétés comme des variables de capture."
411
490
412
491
#: tutorial/controlflow.rst:410
413
492
msgid ""
414
493
"For a more detailed explanation and additional examples, you can look into :"
415
494
"pep:`636` which is written in a tutorial format."
416
495
msgstr ""
496
+ "Pour plus d'explications et d'exemples, lire la :pep:`636` (en anglais), qui "
497
+ "est écrite sous forme de tutoriel."
417
498
418
499
#: tutorial/controlflow.rst:416
419
500
msgid "Defining Functions"
0 commit comments