1
0
Fork 0

Revue de tutorial (#1110)

* Revue avec padpo

* Apply suggestions from code review

Co-Authored-By: Antoine <43954001+awecx@users.noreply.github.com>

Co-authored-by: Antoine <43954001+awecx@users.noreply.github.com>
This commit is contained in:
Christophe Nanteuil 2020-01-03 09:30:37 +01:00 committed by Antoine
parent e3ad032b86
commit 442bcc7f7a
5 changed files with 85 additions and 85 deletions

1
dict
View File

@ -88,6 +88,7 @@ mar.
marc-andré
mersenne
mertz
Monty
muabilité
muable
muables

View File

@ -109,7 +109,7 @@ msgid ""
"extension can also be ``.pyw``, in that case, the console window that "
"normally appears is suppressed."
msgstr ""
"Sur les système Windows il n'y a pas de \"mode exécutable\". L'installateur "
"Sur les systèmes Windows il n'y a pas de \"mode exécutable\". L'installateur "
"Python associe automatiquement les fichiers en ``.py`` avec ``python.exe`` "
"de telle sorte qu'un double clic sur un fichier Python le lance comme un "
"script. L'extension peut aussi être ``.pyw``. Dans ce cas, la console "
@ -162,9 +162,9 @@ msgid ""
msgstr ""
"Si vous voulez exécuter d'autres fichiers du dossier courant au démarrage, "
"vous pouvez le programmer dans le fichier de démarrage global, par exemple "
"avec le code suivant : ``if os.\"\"path.isfile('.pythonrc.py'): exec(open('."
"avec le code suivant : ``if os.path.isfile('.pythonrc.py'): exec(open('."
"pythonrc.py').read())``. Et si vous voulez exécuter le fichier de démarrage "
"depuis un script, vous devez le faire explicitement dans le script : ::"
"depuis un script, vous devez le faire explicitement dans le script ::"
#: ../Doc/tutorial/appendix.rst:102
msgid "The Customization Modules"
@ -179,8 +179,8 @@ msgid ""
msgstr ""
"Python peut être personnalisé *via* les modules :mod:`sitecustomize` et :mod:"
"`usercustomize`. Pour découvrir comment ils fonctionnent, vous devez d'abord "
"trouver l'emplacement de votre dossier \"site-packages\" utilisateur. "
"Démarrez Python et exécutez ce code : ::"
"trouver l'emplacement de votre dossier « site-packages » utilisateur. "
"Démarrez Python et exécutez ce code ::"
#: ../Doc/tutorial/appendix.rst:112
msgid ""
@ -212,4 +212,4 @@ msgstr "Notes"
#: ../Doc/tutorial/appendix.rst:124
msgid "A problem with the GNU Readline package may prevent this."
msgstr "Un problème avec GNU Readline peut l'en empêcher."
msgstr "Un problème avec GNU *Readline* peut l'en empêcher."

View File

@ -28,8 +28,8 @@ msgid ""
"custom database, or a specialized GUI application, or a simple game."
msgstr ""
"Lorsqu'on travaille beaucoup sur ordinateur, on finit souvent par vouloir "
"automatiser certaines tâches : par exemple, effectuer une recherche et un "
"remplacement sur un grand nombre de fichiers de texte ; ou renommer et "
"automatiser certaines tâches : par exemple, effectuer une recherche et un "
"remplacement sur un grand nombre de fichiers de texte ; ou renommer et "
"réorganiser des photos d'une manière un peu compliquée. Pour vous, ce peut "
"être créer une petite base de données, une application graphique ou un "
"simple jeu."
@ -86,15 +86,15 @@ msgid ""
"in Python as in those languages."
msgstr ""
"Python reste facile à utiliser, mais c'est un vrai langage de "
"programmation : il offre une bien meilleure structure et prise en charge des "
"programmation : il offre une bien meilleure structure et prise en charge des "
"grands programmes que les scripts shell ou les fichiers batch. Par ailleurs, "
"Python permet de beaucoup mieux vérifier les erreurs que le langage C et, en "
"tant que *langage de très haut niveau*, il possède nativement des types de "
"données très évolués tels que les tableaux de taille variable ou les "
"dictionnaires. Grâce à ses types de données plus universels, Python est "
"utilisable pour des domaines beaucoup plus variés que ne peuvent l'être Awk "
"ou même Perl. Pourtant, vous pouvez faire de nombreuses choses au moins "
"aussi facilement en Python que dans ces langages."
"utilisable pour des domaines beaucoup plus variés que ne peuvent l'être "
"*Awk* ou même Perl. Pourtant, vous pouvez faire de nombreuses choses au "
"moins aussi facilement en Python que dans ces langages."
#: ../Doc/tutorial/appetite.rst:37
msgid ""
@ -170,7 +170,7 @@ msgid ""
"Python interpreter into an application written in C and use it as an "
"extension or command language for that application."
msgstr ""
"Python est *extensible* : si vous savez écrire un programme en C, une "
"Python est *extensible* : si vous savez écrire un programme en C, une "
"nouvelle fonction ou module peut être facilement ajouté à l'interpréteur "
"afin de l'étendre, que ce soit pour effectuer des opérations critiques à "
"vitesse maximale ou pour lier des programmes en Python à des bibliothèques "
@ -186,10 +186,10 @@ msgid ""
"Circus\" and has nothing to do with reptiles. Making references to Monty "
"Python skits in documentation is not only allowed, it is encouraged!"
msgstr ""
"Au fait, le nom du langage provient de l'émission de la BBC « Monty Python's "
"Flying Circus » et n'a rien à voir avec les reptiles. Faire référence aux "
"Au fait, le nom du langage provient de l'émission de la BBC « Monty Python's "
"Flying Circus » et n'a rien à voir avec les reptiles. Faire référence aux "
"sketchs des Monty Python dans la documentation n'est pas seulement permis, "
"c'est encouragé !"
"c'est encouragé !"
#: ../Doc/tutorial/appetite.rst:74
msgid ""

View File

@ -120,7 +120,7 @@ msgid ""
msgstr ""
"Les objets possèdent une existence propre et plusieurs noms peuvent être "
"utilisés (dans divers contextes) pour faire référence à un même objet. Ce "
"concept est connu sous le nom d'alias dans d'autres langages. Il n'apparaît "
"concept est connu sous le nom d'alias dans d'autres langages. Il n'apparaît "
"pas au premier coup d'œil en Python et il peut être ignoré tant qu'on "
"travaille avec des types de base immuables (nombres, chaînes, tuples). "
"Cependant, les alias peuvent produire des effets surprenants sur la "
@ -129,7 +129,7 @@ msgstr ""
"utilisation est bénéfique au programme car les alias se comportent, d'un "
"certain point de vue, comme des pointeurs. Par exemple, transmettre un objet "
"n'a aucun coût car c'est simplement un pointeur qui est transmis par "
"l'implémentation ; et si une fonction modifie un objet passé en argument, le "
"l'implémentation ; et si une fonction modifie un objet passé en argument, le "
"code à l'origine de l'appel voit le changement. Ceci élimine le besoin "
"d'avoir deux mécanismes de transmission d'arguments comme en Pascal."
@ -174,12 +174,12 @@ msgstr ""
"forme de dictionnaires Python, mais ceci n'est normalement pas visible (sauf "
"pour les performances) et peut changer dans le futur. Comme exemples "
"d'espaces de nommage, nous pouvons citer les primitives (fonctions comme :"
"func:`abs` et les noms des exceptions de base) ; les noms globaux dans un "
"module ; et les noms locaux lors d'un appel de fonction. D'une certaine "
"func:`abs` et les noms des exceptions de base) ; les noms globaux dans un "
"module ; et les noms locaux lors d'un appel de fonction. D'une certaine "
"manière, l'ensemble des attributs d'un objet forme lui-même un espace de "
"nommage. L'important à retenir concernant les espaces de nommage est qu'il "
"n'y a absolument aucun lien entre les noms de différents espaces de "
"nommage ; par exemple, deux modules différents peuvent définir une fonction "
"nommage ; par exemple, deux modules différents peuvent définir une fonction "
"``maximize`` sans qu'il n'y ait de confusion. Les utilisateurs des modules "
"doivent préfixer le nom de la fonction avec celui du module."
@ -251,7 +251,7 @@ msgid ""
msgstr ""
"L'espace des noms locaux d'une fonction est créé lors de son appel, puis "
"effacé lorsqu'elle renvoie un résultat ou lève une exception non prise en "
"charge (en fait, « oublié » serait une meilleure façon de décrire ce qui se "
"charge (en fait, « oublié » serait une meilleure façon de décrire ce qui se "
"passe réellement). Bien sûr, des invocations récursives ont chacune leur "
"propre espace de nommage."
@ -262,7 +262,7 @@ msgid ""
"reference to a name attempts to find the name in the namespace."
msgstr ""
"La *portée* est la zone textuelle d'un programme Python où un espace de "
"nommage est directement accessible. « Directement accessible » signifie ici "
"nommage est directement accessible. « Directement accessible » signifie ici "
"qu'une référence non qualifiée à un nom est cherchée dans l'espace de "
"nommage."
@ -281,7 +281,7 @@ msgstr ""
msgid "the innermost scope, which is searched first, contains the local names"
msgstr ""
"la portée la plus au centre, celle qui est consultée en premier, contient "
"les noms locaux ;"
"les noms locaux ;"
#: ../Doc/tutorial/classes.rst:121
msgid ""
@ -352,8 +352,8 @@ msgstr ""
"la fonction. En revanche, la recherche réelle des noms est faite "
"dynamiquement au moment de l'exécution. Cependant la définition du langage "
"est en train d'évoluer vers une résolution statique des noms au moment de la "
compilation », donc ne vous basez pas sur une résolution dynamique (en "
"réalité, les variables locales sont déjà déterminées de manière statique) !"
 compilation », donc ne vous basez pas sur une résolution dynamique (en "
"réalité, les variables locales sont déjà déterminées de manière statique) !"
#: ../Doc/tutorial/classes.rst:146
msgid ""
@ -386,7 +386,7 @@ msgid ""
msgstr ""
"L'instruction :keyword:`global` peut être utilisée pour indiquer que "
"certaines variables existent dans la portée globale et doivent être reliées "
"en local ; l'instruction :keyword:`nonlocal` indique que certaines variables "
"en local ; l'instruction :keyword:`nonlocal` indique que certaines variables "
"existent dans une portée supérieure et doivent être reliées en local."
#: ../Doc/tutorial/classes.rst:162
@ -660,7 +660,7 @@ msgid ""
"``MyClass.f`` --- it is a *method object*, not a function object."
msgstr ""
"Les noms de méthodes valides d'un objet instance dépendent de sa classe. Par "
"définition, tous les attributs d'une classe qui sont des objets fonction "
"définition, tous les attributs d'une classe qui sont des objets fonctions "
"définissent les méthodes correspondantes de ses instances. Donc, dans notre "
"exemple, ``x.f`` est une référence valide à une méthode car ``MyClass.f`` "
"est une fonction, mais pas ``x.i`` car ``MyClass.i`` n'en est pas une. "
@ -684,8 +684,8 @@ msgid ""
msgstr ""
"Dans l'exemple de la classe :class:`MyClass`, cela renvoie la chaîne de "
"caractères ``hello world``. Toutefois, il n'est pas nécessaire d'appeler la "
"méthode directement: ``x.f`` est un objet méthode, il peut être gardé de "
"coté et être appelé plus tard. Par exemple ::"
"méthode directement : ``x.f`` est un objet méthode, il peut être gardé de "
"côté et être appelé plus tard. Par exemple ::"
#: ../Doc/tutorial/classes.rst:374
msgid "will continue to print ``hello world`` until the end of time."
@ -705,7 +705,7 @@ msgstr ""
"alors que la définition de la méthode :meth:`f` spécifie bien qu'elle prend "
"un argument. Qu'est-il arrivé à l'argument ? Python doit sûrement lever une "
"exception lorsqu'une fonction qui requiert un argument est appelée sans -- "
"même si l'argument n'est pas utilisé..."
"même si l'argument n'est pas utilisé"
#: ../Doc/tutorial/classes.rst:382
msgid ""
@ -720,7 +720,7 @@ msgstr ""
"En fait, vous avez peut-être deviné la réponse : la particularité des "
"méthodes est que l'objet est passé comme premier argument de la fonction. "
"Dans notre exemple, l'appel ``x.f()`` est exactement équivalent à ``MyClass."
"f(x)``. En général, appeler une méthode avec une liste de *n* arguments est "
"f(x)``. En général, appeler une méthode avec une liste de *n* arguments est "
"équivalent à appeler la fonction correspondante avec une liste d'arguments "
"créée en ajoutant l'instance de l'objet de la méthode avant le premier "
"argument."
@ -738,7 +738,7 @@ msgid ""
"called with this new argument list."
msgstr ""
"Si vous ne comprenez toujours pas comment les méthodes fonctionnent, un coup "
"d'œil à l'implémentation vous aidera peut être. Lorsque un attribut d'une "
"d'œil à l'implémentation vous aidera peut-être. Lorsque un attribut d'une "
"instance est référencé et que ce n'est pas un attribut 'données', sa classe "
"est recherchée. Si le nom correspond à un attribut valide et que c'est un "
"objet fonction, un objet méthode est créé en générant un objet abstrait qui "
@ -771,11 +771,10 @@ msgid ""
"by all *Dog* instances::"
msgstr ""
"Comme nous l'avons vu dans :ref:`tut-object`, les données partagées :term:"
"`muable <muable>` (telles que les listes, dictionnaires, etc...) peuvent "
"avoir des effets surprenants. Par exemple, la liste *tricks* dans le code "
"suivant ne devrait pas être utilisée en tant que variable de classe car, "
"dans ce cas, une seule liste est partagée par toutes les instances de "
"*Dog* ::"
"`muable <muable>` (telles que les listes, dictionnaires, etc.) peuvent avoir "
"des effets surprenants. Par exemple, la liste *tricks* dans le code suivant "
"ne devrait pas être utilisée en tant que variable de classe car, dans ce "
"cas, une seule liste est partagée par toutes les instances de *Dog* ::"
#: ../Doc/tutorial/classes.rst:450
msgid "Correct design of the class should use an instance variable instead::"
@ -809,9 +808,9 @@ msgstr ""
"des utilisateurs ordinaires (\"clients\") d'un objet. En d'autres termes, "
"les classes ne sont pas utilisables pour implémenter des types de données "
"purement abstraits. En fait, il n'est pas possible en Python d'imposer de "
"masquer des données --- tout est basé sur des conventions (d'un autre coté, "
"masquer des données — tout est basé sur des conventions (d'un autre côté, "
"l'implémentation de Python, écrite en C, peut complètement masquer les "
"détails d'implémentation et contrôler l'accès à un objet si nécessaire ; "
"détails d'implémentation et contrôler l'accès à un objet si nécessaire ; "
"ceci peut être utilisé par des extensions de Python écrites en C)."
#: ../Doc/tutorial/classes.rst:501
@ -838,7 +837,7 @@ msgid ""
"variables when glancing through a method."
msgstr ""
"Il n'y a pas de notation abrégée pour référencer des attributs 'données' (ou "
"les autres méthodes !) depuis les méthodes. Nous pensons que ceci améliore "
"les autres méthodes !) depuis les méthodes. Nous pensons que ceci améliore "
"en fait la lisibilité des méthodes : il n'y a aucune chance de confondre "
"variables locales et variables d'instances quand on regarde le code d'une "
"méthode."
@ -1015,7 +1014,7 @@ msgstr ""
#: ../Doc/tutorial/classes.rst:616
msgid "Python has two built-in functions that work with inheritance:"
msgstr "Python définit deux fonctions primitives pour gérer l'héritage :"
msgstr "Python définit deux fonctions primitives pour gérer l'héritage :"
#: ../Doc/tutorial/classes.rst:618
msgid ""
@ -1067,7 +1066,7 @@ msgstr ""
"de gauche à droite, sans chercher deux fois dans la même classe si elle "
"apparaît plusieurs fois dans la hiérarchie. Ainsi, si un attribut n'est pas "
"trouvé dans :class:`DerivedClassName`, il est recherché dans :class:`Base1`, "
"puis (récursivement) dans les classes de base de :class:`Base1` ; s'il n'y "
"puis (récursivement) dans les classes de base de :class:`Base1` ; s'il n'y "
"est pas trouvé, il est recherché dans :class:`Base2` et ses classes de base, "
"et ainsi de suite."
@ -1189,7 +1188,7 @@ msgid ""
"private. This can even be useful in special circumstances, such as in the "
"debugger."
msgstr ""
"Notez que ces règles sont conçues avant tout pour éviter les accidents ; il "
"Notez que ces règles sont conçues avant tout pour éviter les accidents ; il "
"reste possible d'accéder ou de modifier une variable considérée comme "
"privée. Ceci peut même être utile dans certaines circonstances, comme au "
"sein du débogueur."
@ -1204,7 +1203,7 @@ msgid ""
"referencing ``__dict__`` directly."
msgstr ""
"Remarquez que le code que vous passez à ``exec()``, ``eval()`` ne considère "
"pas le nom de la classe appelante comme étant la classe courante ; le même "
"pas le nom de la classe appelante comme étant la classe courante ; le même "
"effet s'applique à la directive ``global`` dont l'effet est, de la même "
"façon, restreint au code compilé dans le même ensemble de byte-code. Les "
"mêmes restrictions s'appliquent à ``getattr()``, ``setattr()`` et "
@ -1397,7 +1396,7 @@ msgid ""
msgstr ""
"Il existe une exception : les modules disposent d'un attribut secret en "
"lecture seule appelé :attr:`~object.__dict__` qui renvoie le dictionnaire "
"utilisé pour implémenter l'espace de nommage du module ; le nom :attr:"
"utilisé pour implémenter l'espace de nommage du module ; le nom :attr:"
"`~object.__dict__` est un attribut mais pas un nom global. Évidemment, si "
"vous l'utilisez, vous brisez l'abstraction de l'implémentation des espaces "
"de nommage. Il est donc réservé à des choses comme les débogueurs post-"

View File

@ -108,10 +108,10 @@ msgid ""
"a different increment (even negative; sometimes this is called the 'step')::"
msgstr ""
"Le dernier élément fourni en paramètre ne fait jamais partie de la liste "
"générée ; ``range(10)`` génère une liste de 10 valeurs, dont les valeurs "
"vont de 0 à 9. Il est possible de spécifier une valeur de début et/ou une "
"valeur d'incrément différente(s) (y compris négative pour cette dernière, "
"que l'on appelle également parfois le 'pas') ::"
"générée ; ``range(10)`` génère une liste de 10 valeurs, dont les valeurs "
"vont de 0 à 9. Il est possible de spécifier une valeur de début et une "
"valeur d'incrément différentes (y compris négative pour cette dernière, que "
"l'on appelle également parfois le 'pas') ::"
#: ../Doc/tutorial/controlflow.rst:116
msgid ""
@ -157,8 +157,8 @@ msgstr ""
"conviennent à des *iterateurs*, des fonctions ou constructions qui "
"s'attendent à quelque chose duquel ils peuvent tirer des éléments, "
"successivement, jusqu'à épuisement. On a vu que l'instruction :keyword:`for` "
"est une de ces constructions, par exemple la fonction :func:`sum` prend un "
"itérable en paramètre. ::"
"est une de ces constructions, et un exemple de fonction qui prend un "
"itérable en paramètre est :func:`sum` ::"
#: ../Doc/tutorial/controlflow.rst:151
msgid ""
@ -167,7 +167,7 @@ msgid ""
"range. Here is the solution::"
msgstr ""
"Plus loin nous voyons d'autres fonctions qui donnent des itérables ou en "
"prennent en paramètre. Si vous vous demandez comment obtenir une liste à "
"prennent en paramètre. Si vous vous demandez comment obtenir une liste à "
"partir d'un **range**, voilà la solution ::"
#: ../Doc/tutorial/controlflow.rst:158
@ -202,7 +202,7 @@ msgid ""
"loop is terminated by a :keyword:`break` statement. This is exemplified by "
"the following loop, which searches for prime numbers::"
msgstr ""
"Les boucles peuvent également disposer d'une instruction :keyword:`!else` ; "
"Les boucles peuvent également disposer d'une instruction :keyword:`!else` ; "
"celle-ci est exécutée lorsqu'une boucle se termine alors que tous ses "
"éléments ont été traités (dans le cas d'un :keyword:`for`) ou que la "
"condition devient fausse (dans le cas d'un :keyword:`while`), mais pas "
@ -230,7 +230,7 @@ msgid ""
msgstr ""
"Lorsqu'elle utilisée dans une boucle, la clause ``else`` est donc plus "
"proche de celle associée à une instruction :keyword:`try` que de celle "
"associée à une instruction :keyword:`if` : la clause ``else`` d'une "
"associée à une instruction :keyword:`if` : la clause ``else`` d'une "
"instruction :keyword:`try` s'exécute lorsqu'aucune exception n'est "
"déclenchée, et celle d'une boucle lorsque aucun ``break`` n'intervient. Plus "
"plus d'informations sur l'instruction :keyword:`!try` et le traitement des "
@ -309,7 +309,7 @@ msgid ""
"write, so make a habit of it."
msgstr ""
"La première instruction d'une fonction peut, de façon facultative, être une "
"chaîne de caractères littérale ; cette chaîne de caractères sera alors la "
"chaîne de caractères littérale ; cette chaîne de caractères sera alors la "
"chaîne de documentation de la fonction, appelée :dfn:`docstring` (consultez "
"la section :ref:`tut-docstrings` pour en savoir plus). Il existe des outils "
"qui utilisent ces chaînes de documentation pour générer automatiquement une "
@ -333,7 +333,7 @@ msgstr ""
"*L'exécution* d'une fonction introduit une nouvelle table de symboles "
"utilisée par les variables locales de la fonction. Plus précisément, toutes "
"les affectations de variables effectuées au sein d'une fonction stockent la "
"valeur dans la table de symboles locale ; en revanche, les références de "
"valeur dans la table de symboles locale ; en revanche, les références de "
"variables sont recherchées dans la table de symboles locale, puis dans la "
"table de symboles locale des fonctions englobantes, puis dans la table de "
"symboles globale et finalement dans la table de noms des primitives. Par "
@ -353,7 +353,7 @@ msgid ""
msgstr ""
"Les paramètres effectifs (arguments) d'une fonction sont introduits dans la "
"table de symboles locale de la fonction appelée au moment où elle est "
"appelée ; par conséquent, les passages de paramètres se font *par valeur*, "
"appelée ; par conséquent, les passages de paramètres se font *par valeur*, "
"la *valeur* étant toujours une *référence* à un objet et non la valeur de "
"l'objet lui-même. [#]_ Lorsqu'une fonction appelle une autre fonction, une "
"nouvelle table de symboles locale est créée pour cet appel."
@ -368,9 +368,10 @@ msgid ""
msgstr ""
"Une définition de fonction introduit le nom de la fonction dans la table de "
"symboles courante. La valeur du nom de la fonction est un type qui est "
"reconnu par l'interpréteur comme une fonction utilisateur. Cette valeur peut "
"être affectée à un autre nom qui pourra alors être utilisé également comme "
"une fonction. Ceci fournit un mécanisme de renommage général ::"
"reconnu par l'interpréteur comme une fonction définie par l'utilisateur. "
"Cette valeur peut être affectée à un autre nom qui pourra alors être utilisé "
"également comme une fonction. Ceci fournit un mécanisme de renommage "
"général ::"
#: ../Doc/tutorial/controlflow.rst:312
msgid ""
@ -403,7 +404,7 @@ msgstr ""
msgid "This example, as usual, demonstrates some new Python features:"
msgstr ""
"Cet exemple, comme d'habitude, illustre de nouvelles fonctionnalités de "
"Python :"
"Python :"
#: ../Doc/tutorial/controlflow.rst:341
msgid ""
@ -437,7 +438,7 @@ msgstr ""
"même nom sans qu'il n'y ait d'ambigüité (vous pouvez définir vos propres "
"types d'objets et leurs méthodes en utilisant des *classes*, voir :ref:`tut-"
"classes`). La méthode :meth:`append` donnée dans cet exemple est définie "
"pour les listes ; elle ajoute un nouvel élément à la fin de la liste. Dans "
"pour les listes ; elle ajoute un nouvel élément à la fin de la liste. Dans "
"cet exemple, elle est l'équivalent de ``result = result + [a]``, mais elle "
"est plus efficace."
@ -469,13 +470,13 @@ msgstr ""
#: ../Doc/tutorial/controlflow.rst:387
msgid "This function can be called in several ways:"
msgstr "Cette fonction peut être appelée de plusieurs façons :"
msgstr "Cette fonction peut être appelée de plusieurs façons :"
#: ../Doc/tutorial/controlflow.rst:389
msgid ""
"giving only the mandatory argument: ``ask_ok('Do you really want to quit?')``"
msgstr ""
"en ne fournissant que les arguments obligatoires : ``ask_ok('Do you really "
"en ne fournissant que les arguments obligatoires : ``ask_ok('Do you really "
"want to quit?')``"
#: ../Doc/tutorial/controlflow.rst:391
@ -483,7 +484,7 @@ msgid ""
"giving one of the optional arguments: ``ask_ok('OK to overwrite the file?', "
"2)``"
msgstr ""
"en fournissant une partie des arguments facultatifs : ``ask_ok('OK to "
"en fournissant une partie des arguments facultatifs : ``ask_ok('OK to "
"overwrite the file?', 2)``"
#: ../Doc/tutorial/controlflow.rst:393
@ -491,7 +492,7 @@ msgid ""
"or even giving all arguments: ``ask_ok('OK to overwrite the file?', 2, 'Come "
"on, only yes or no!')``"
msgstr ""
"en fournissant tous les arguments : ``ask_ok('OK to overwrite the file?', 2, "
"en fournissant tous les arguments : ``ask_ok('OK to overwrite the file?', 2, "
"'Come on, only yes or no!')``"
#: ../Doc/tutorial/controlflow.rst:396
@ -915,7 +916,7 @@ msgid ""
"scope::"
msgstr ""
"Avec le mot-clé :keyword:`lambda`, vous pouvez créer de petites fonctions "
"anonymes. En voici une qui renvoie la somme de ses deux arguments : ``lambda "
"anonymes. En voici une qui renvoie la somme de ses deux arguments : ``lambda "
"a, b: a+b``. Les fonctions lambda peuvent être utilisées partout où un objet "
"fonction est attendu. Elles sont syntaxiquement restreintes à une seule "
"expression. Sémantiquement, elles ne sont que du sucre syntaxique pour une "
@ -986,7 +987,7 @@ msgstr ""
"L'analyseur de code Python ne supprime pas l'indentation des chaînes de "
"caractères littérales multi-lignes, donc les outils qui utilisent la "
"documentation doivent si besoin faire cette opération eux-mêmes. La "
"convention suivante s'applique : la première ligne non vide *après* la "
"convention suivante s'applique : la première ligne non vide *après* la "
"première détermine la profondeur d'indentation de l'ensemble de la chaîne de "
"documentation (on ne peut pas utiliser la première ligne qui est "
"généralement accolée aux guillemets d'ouverture de la chaîne de caractères "
@ -1013,8 +1014,7 @@ msgid ""
msgstr ""
":ref:`Les annotations de fonction <function>` sont des métadonnées "
"optionnelles décrivant les types utilisés par une fonction définie par "
"l'utilisateur (voir les PEPs :pep:`3107` et la :pep:`484` pour plus "
"d'informations)."
"l'utilisateur (voir les :pep:`3107` et :pep:`484` pour plus d'informations)."
#: ../Doc/tutorial/controlflow.rst:863
msgid ""
@ -1029,16 +1029,16 @@ msgid ""
msgstr ""
"Les :term:`annotations <function annotation>` sont stockées dans l'attribut :"
"attr:`__annotations__` de la fonction, sous forme d'un dictionnaire, et "
"n'ont aucun autre effet. Les annotations sur les paramètres sont définis par "
"deux points (:) après le nom du paramètre suivi d'une expression donnant la "
"valeur de l'annotation. Les annotations de retour sont définies par ``->`` "
"suivi d'une expression, entre la liste des paramètres et les deux points de "
"fin de l'instruction :keyword:`def`. L'exemple suivant a un paramètre "
"positionnel, un paramètre nommé et une valeur de retour annotée ::"
"n'ont aucun autre effet. Les annotations sur les paramètres sont définies "
"par deux points (`:`) après le nom du paramètre suivi d'une expression "
"donnant la valeur de l'annotation. Les annotations de retour sont définies "
"par ``->`` suivi d'une expression, entre la liste des paramètres et les deux "
"points de fin de l'instruction :keyword:`def`. L'exemple suivant a un "
"paramètre positionnel, un paramètre nommé et la valeur de retour annotés ::"
#: ../Doc/tutorial/controlflow.rst:885
msgid "Intermezzo: Coding Style"
msgstr "Aparté : le style de codage"
msgstr "Aparté : le style de codage"
#: ../Doc/tutorial/controlflow.rst:890
msgid ""
@ -1051,7 +1051,7 @@ msgstr ""
"Maintenant que vous êtes prêt à écrire des programmes plus longs et plus "
"complexes, il est temps de parler du *style de codage*. La plupart des "
"langages peuvent être écrits (ou plutôt *formatés*) selon différents "
"styles ; certains sont plus lisibles que d'autres. Rendre la lecture de "
"styles ; certains sont plus lisibles que d'autres. Rendre la lecture de "
"votre code plus facile aux autres est toujours une bonne idée et adopter un "
"bon style de codage peut énormément vous y aider."
@ -1063,9 +1063,9 @@ msgid ""
"points extracted for you:"
msgstr ""
"En Python, la plupart des projets adhèrent au style défini dans la :pep:"
"`8` ; elle met en avant un style de codage très lisible et agréable à lœil. "
"`8` ; elle met en avant un style de codage très lisible et agréable à lœil. "
"Chaque développeur Python se doit donc de la lire et de s'en inspirer autant "
"que possible ; voici ses principaux points notables :"
"que possible ; voici ses principaux points notables :"
#: ../Doc/tutorial/controlflow.rst:901
msgid "Use 4-space indentation, and no tabs."
@ -1108,7 +1108,7 @@ msgstr ""
#: ../Doc/tutorial/controlflow.rst:915
msgid "When possible, put comments on a line of their own."
msgstr ""
"Lorsque c'est possible, placez les commentaires sur leur propres lignes."
"Lorsque c'est possible, placez les commentaires sur leurs propres lignes."
#: ../Doc/tutorial/controlflow.rst:917
msgid "Use docstrings."
@ -1120,7 +1120,7 @@ msgid ""
"bracketing constructs: ``a = f(1, 2) + g(3, 4)``."
msgstr ""
"Utilisez des espaces autour des opérateurs et après les virgules, mais pas "
"juste à l'intérieur des parenthèses : ``a = f(1, 2) + g(3, 4)``."
"juste à l'intérieur des parenthèses : ``a = f(1, 2) + g(3, 4)``."
#: ../Doc/tutorial/controlflow.rst:922
msgid ""
@ -1129,7 +1129,7 @@ msgid ""
"functions and methods. Always use ``self`` as the name for the first method "
"argument (see :ref:`tut-firstclasses` for more on classes and methods)."
msgstr ""
"Nommez toujours vos classes et fonctions de la même manière ; la convention "
"Nommez toujours vos classes et fonctions de la même manière ; la convention "
"est d'utiliser une notation ``UpperCamelCase`` pour les classes, et "
"``minuscules_avec_trait_bas`` pour les fonctions et méthodes. Utilisez "
"toujours ``self`` comme nom du premier argument des méthodes (voyez :ref:"
@ -1168,7 +1168,7 @@ msgstr ""
"En fait, *appels par référence d'objets* serait sans doute une description "
"plus juste dans la mesure où, si un objet muable est passé en argument, "
"l'appelant verra toutes les modifications qui lui auront été apportées par "
"l'appelé (insertion d'éléments dans une liste...)."
"l'appelé (insertion d'éléments dans une liste)."
#~ msgid ""
#~ "If you need to modify the sequence you are iterating over while inside "