faq - design, partie 2 (#437)

This commit is contained in:
Mathieu Dupuy 2018-11-23 15:17:29 +01:00 committed by Julien Palard
parent 12012db976
commit 9f70c6bd52
1 changed files with 70 additions and 15 deletions

View File

@ -1,6 +1,6 @@
# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
@ -436,14 +436,15 @@ msgid ""
"mapping has a get() or keys() method, or something that isn't a file has a "
"write() method."
msgstr ""
"(b) Quand je lis du code qui dit ``len(x)`` *je sais* qu'il demande la longueur "
"de quelque chose. Cela me dit deux choses : le résultat est un entier, et "
"l'argument est une sorte de conteneur. Au contraire, quand je lis ``x.len()``, "
"je dois déjà savoir que x est une sorte de conteneur implémentant une "
"interface ou héritant d'une classe qui a un ``len()`` standard. Voyez la "
"confusion qui arrive parfois quand une classe qui n'implémente pas une "
"interface de dictionnaire a une méthode ``get()`` ou ``key()``, ou quand un objet "
"qui n'est pas un fichier implémente une méthode ``write()``."
"(b) Quand je lis du code qui dit ``len(x)`` *je sais* qu'il demande la "
"longueur de quelque chose. Cela me dit deux choses : le résultat est un "
"entier, et l'argument est une sorte de conteneur. Au contraire, quand je lis "
"``x.len()``, je dois déjà savoir que x est une sorte de conteneur "
"implémentant une interface ou héritant d'une classe qui a un ``len()`` "
"standard. Voyez la confusion qui arrive parfois quand une classe qui "
"n'implémente pas une interface de dictionnaire a une méthode ``get()`` ou "
"``key()``, ou quand un objet qui n'est pas un fichier implémente une méthode "
"``write()``."
#: ../Doc/faq/design.rst:254
msgid "https://mail.python.org/pipermail/python-3000/2006-November/004643.html"
@ -1140,9 +1141,9 @@ msgid ""
"dictionary in sorted order::"
msgstr ""
"Si vous souhaitez retourner une nouvelle liste, utilisez plutôt la fonction "
"native :func:`sorted`. Cette fonction crée une nouvelle liste à partir "
"dun itérable fourni, la trie et la retourne. Par exemple, voici comment "
"itérer sur les clefs dun dictionnaire dans lordre trié ::"
"native :func:`sorted`. Cette fonction crée une nouvelle liste à partir dun "
"itérable fourni, la trie et la retourne. Par exemple, voici comment itérer "
"sur les clefs dun dictionnaire dans lordre trié ::"
#: ../Doc/faq/design.rst:608
msgid "How do you specify and enforce an interface spec in Python?"
@ -1236,6 +1237,8 @@ msgstr ""
#: ../Doc/faq/design.rst:672
msgid "Why can't raw strings (r-strings) end with a backslash?"
msgstr ""
"Pourquoi les chaînes de caractères brutes (r-strings) ne peuvent-elles pas "
"se terminer par un *backslash* ?"
#: ../Doc/faq/design.rst:674
msgid ""
@ -1243,6 +1246,9 @@ msgid ""
"unpaired backslash at the end escapes the closing quote character, leaving "
"an unterminated string."
msgstr ""
"Plus précisément, elles ne peuvent pas se terminer par un nombre impair de "
"*backslashes* : le *backslash* non appairé à la fin échappe le caractère de "
"guillemet final, laissant une chaîne non terminée."
#: ../Doc/faq/design.rst:678
msgid ""
@ -1253,17 +1259,29 @@ msgid ""
"pass on the string quote character by escaping it with a backslash. These "
"rules work well when r-strings are used for their intended purpose."
msgstr ""
"Les chaînes brutes ont été conçues pour faciliter la création de données pour "
"les processeurs de texte (principalement les moteurs d'expressions "
"régulières) qui veulent faire leur propre traitement d'échappement "
"d'*antislashes*. Ces processeurs considèrent un *antislash* de fin non-appairé "
"comme une erreur, alors les chaînes brutes ne le permettent pas. En retour, "
"elles vous permettent de transmettre le caractère de citation de la chaîne "
"en l'échappant avec un *antislash*. Ces règles fonctionnent bien lorsque les "
"chaînes brutes sont utilisées pour leur but premier."
#: ../Doc/faq/design.rst:685
msgid ""
"If you're trying to build Windows pathnames, note that all Windows system "
"calls accept forward slashes too::"
msgstr ""
"Si vous essayez de construire des chemins d'accès Windows, notez que tous "
"les appels système Windows acceptent également les *slashes* \"classiques\" ::"
#: ../Doc/faq/design.rst:690
msgid ""
"If you're trying to build a pathname for a DOS command, try e.g. one of ::"
msgstr ""
"Si vous essayez de construire un chemin d'accès pour une commande DOS, "
"essayez par exemple l'un de ceux-là ::"
#: ../Doc/faq/design.rst:698
msgid "Why doesn't Python have a \"with\" statement for attribute assignments?"
@ -1314,7 +1332,7 @@ msgstr ""
#: ../Doc/faq/design.rst:721
msgid "For instance, take the following incomplete snippet::"
msgstr ""
msgstr "Prenons par exemple l'extrait incomplet suivant ::"
#: ../Doc/faq/design.rst:727
msgid ""
@ -1324,6 +1342,11 @@ msgid ""
"variable named \"x\", will it be used inside the with block? As you see, "
"the dynamic nature of Python makes such choices much harder."
msgstr ""
"L'extrait suppose que \"a\" doit avoir un attribut membre appelé \"x\". "
"Néanmoins, il n'y a rien en Python qui en informe l'interpréteur. Que se "
"passe-t-il si \"a\" est, disons, un entier ? Si une variable globale nommée "
"\"x\" existe, sera-t-elle utilisée dans le bloc ``with`` ? Comme vous "
"voyez, la nature dynamique du Python rend ces choix beaucoup plus difficiles."
#: ../Doc/faq/design.rst:733
msgid ""
@ -1331,10 +1354,13 @@ msgid ""
"code volume) can, however, easily be achieved in Python by assignment. "
"Instead of::"
msgstr ""
"L'avantage principal de ``with`` et des fonctionnalités de langage "
"similaires (réduction du volume de code) peut, cependant, être facilement "
"réalisé en Python par assignation. Au lieu de ::"
#: ../Doc/faq/design.rst:740
msgid "write this::"
msgstr ""
msgstr "écrivez ceci ::"
#: ../Doc/faq/design.rst:747
msgid ""
@ -1342,20 +1368,27 @@ msgid ""
"bindings are resolved at run-time in Python, and the second version only "
"needs to perform the resolution once."
msgstr ""
"Cela a également pour effet secondaire d'augmenter la vitesse d'exécution "
"car les liaisons de noms sont résolues au moment de l'exécution en Python, "
"et la deuxième version n'a besoin d'exécuter la résolution qu'une seule fois."
#: ../Doc/faq/design.rst:753
msgid "Why are colons required for the if/while/def/class statements?"
msgstr ""
"Pourquoi les deux-points sont-ils nécessaires pour les déclarations ``if/while/"
"def/class`` ?"
#: ../Doc/faq/design.rst:755
msgid ""
"The colon is required primarily to enhance readability (one of the results "
"of the experimental ABC language). Consider this::"
msgstr ""
"Le deux-points est principalement nécessaires pour améliorer la lisibilité "
"(l'un des résultats du langage expérimental ABC). Considérez ceci ::"
#: ../Doc/faq/design.rst:761
msgid "versus ::"
msgstr ""
msgstr "versus ::"
#: ../Doc/faq/design.rst:766
msgid ""
@ -1363,6 +1396,9 @@ msgid ""
"colon sets off the example in this FAQ answer; it's a standard usage in "
"English."
msgstr ""
"Remarquez comment le deuxième est un peu plus facile à lire. Remarquez "
"aussi comment un deux-points introduit l'exemple dans cette réponse à la FAQ ; "
"c'est un usage standard en anglais."
#: ../Doc/faq/design.rst:769
msgid ""
@ -1371,16 +1407,23 @@ msgid ""
"needs to be increased instead of having to do a more elaborate parsing of "
"the program text."
msgstr ""
"Une autre raison mineure est que les deux-points facilitent la tâche des "
"éditeurs avec coloration syntaxique ; ils peuvent rechercher les deux-points "
"pour décider quand l'indentation doit être augmentée au lieu d'avoir à faire "
"une analyse plus élaborée du texte du programme."
#: ../Doc/faq/design.rst:775
msgid "Why does Python allow commas at the end of lists and tuples?"
msgstr ""
"Pourquoi Python permet-il les virgules à la fin des listes et des tuples ?"
#: ../Doc/faq/design.rst:777
msgid ""
"Python lets you add a trailing comma at the end of lists, tuples, and "
"dictionaries::"
msgstr ""
"Python vous permet d'ajouter une virgule à la fin des listes, des tuples et "
"des dictionnaires ::"
#: ../Doc/faq/design.rst:788
msgid "There are several reasons to allow this."
@ -1393,12 +1436,19 @@ msgid ""
"remember to add a comma to the previous line. The lines can also be "
"reordered without creating a syntax error."
msgstr ""
"Lorsque vous avez une valeur littérale pour une liste, un tuple ou un "
"dictionnaire réparti sur plusieurs lignes, il est plus facile d'ajouter plus "
"d'éléments parce que vous n'avez pas besoin de vous rappeler d'ajouter une "
"virgule à la ligne précédente. Les lignes peuvent aussi être réorganisées "
"sans créer une erreur de syntaxe."
#: ../Doc/faq/design.rst:795
msgid ""
"Accidentally omitting the comma can lead to errors that are hard to "
"diagnose. For example::"
msgstr ""
"L'omission accidentelle de la virgule peut entraîner des erreurs difficiles "
"à diagnostiquer, par exemple ::"
#: ../Doc/faq/design.rst:805
msgid ""
@ -1406,9 +1456,14 @@ msgid ""
"\"fee\", \"fiefoo\" and \"fum\". Always adding the comma avoids this source "
"of error."
msgstr ""
"Cette liste a l'air d'avoir quatre éléments, mais elle en contient en fait "
"trois : \"*fee*\", \"*fiefoo*\" et \"*fum*\". Toujours ajouter la virgule permet "
"d'éviter cette source d'erreur."
#: ../Doc/faq/design.rst:808
msgid ""
"Allowing the trailing comma may also make programmatic code generation "
"easier."
msgstr ""
"Permettre la virgule de fin peut également faciliter la génération de code "
"programmatiquement."