forked from AFPy/python-docs-fr
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:
parent
e3ad032b86
commit
442bcc7f7a
|
@ -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."
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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-"
|
||||
|
|
|
@ -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 "
|
||||
|
|
Loading…
Reference in New Issue
Block a user