faq.po: 26% thanks to @amaddah from crowdin.

This commit is contained in:
Julien Palard 2016-01-20 00:38:16 +01:00
parent cdef27e77a
commit d0b70de630
2 changed files with 243 additions and 93 deletions

View File

@ -58,6 +58,11 @@ msgid ""
"detector's set of observed objects. Other fields of the object are not "
"affected."
msgstr ""
"Permet d'initialiser un objet *op* nouvellement alloué ainsi que son type et "
"sa référence initiale. Retourne l'objet initialisé. La présence de *type* "
"indique que l'objet doit être traité par le détecteur d'ordures cycliques, "
"il est de ce fait ajouté à l'ensemble du détecteur d'objets observés. Les "
"autres champs de l'objet ne sont pas affectés."
#: c-api/allocation.rst:26
msgid ""

331
faq.po
View File

@ -74,7 +74,6 @@ msgstr ""
"autre style."
#: faq/design.rst:31
#, fuzzy
msgid ""
"Many coding styles place begin/end brackets on a line by themselves. This "
"makes programs considerably longer and wastes valuable screen space, making "
@ -86,13 +85,13 @@ msgid ""
msgstr ""
"Nombre de styles de programmation placent les accolades de début/fin sur une "
"ligne à part. Cela rend les sources beaucoup plus longues et fait perdre une "
"bonne partie de l'espace visible sur l'écran, rendant plus compliqué un "
"aperçu global du programme. Idéalement, une fonction doit être visible sur "
"un même écran (environ 20 ou 30 lignes). 20 lignes de Python peuvent faire "
"beaucoup plus que 20 lignes de C. Ce n'est pas seulement dû à l'absence "
"d'accolades de début/fin -- l'absence de déclarations et les types de haut-"
"niveau en sont également responsables -- mais la syntaxe basée sur "
"l'indentation y est pour beaucoup."
"bonne partie de l'espace visible sur l'écran, empêchant un peu d'avoir une "
"vue globale du programme. Idéalement, une fonction doit être visible sur un "
"écran (environ 20 ou 30 lignes). 20 lignes de Python peuvent faire beaucoup "
"plus que 20 lignes de C. Ce n'est pas seulement dû à l'absence d'accolades "
"de début/fin -- l'absence de déclarations et les types de haut-niveau en "
"sont également responsables -- mais la syntaxe basée sur l'indentation y est "
"pour beaucoup."
#: faq/design.rst:41
msgid "Why am I getting strange results with simple arithmetic operations?"
@ -105,27 +104,22 @@ msgid "See the next question."
msgstr "Voir la question suivante."
#: faq/design.rst:47
#, fuzzy
msgid "Why are floating-point calculations so inaccurate?"
msgstr "Pourquoi les calculs à virgules flottantes sont si imprécis ?"
#: faq/design.rst:49
#, fuzzy
msgid "Users are often surprised by results like this::"
msgstr "Les gens sont très souvent surpris par des résultats comme celui-ci ::"
#: faq/design.rst:54
#, fuzzy
msgid ""
"and think it is a bug in Python. It's not. This has little to do with "
"Python, and much more to do with how the underlying platform handles "
"floating-point numbers."
msgstr ""
"et pensent que c'est un bogue dans Python. Ça ne l'est pas. Ceci n'a rien à "
"voir avec Python, mais avec la manière dont la plateforme C sous-jacente "
"gère les nombres à virgule flottante et enfin, les imprécisions introduites "
"lors de l'écriture des nombres en chaînes de caractères d'un nombre fixe de "
"chiffres."
"et pensent que c'est un *bug* dans Python. Ça ne l'est pas. Ceci n'a "
"d'ailleurs que peu à voir avec Python, mais avec la manière dont la "
"plateforme sous-jacente gère les nombres à virgule flottante."
#: faq/design.rst:58
msgid ""
@ -136,12 +130,23 @@ msgid ""
"point operations. This means that as far as floating-point operations are "
"concerned, Python behaves like many popular languages including C and Java."
msgstr ""
"La classe :class:`float` dans CPython utilise le type double du langage C "
"comme stockage. La valeur d'un objet :class:`float` est stockée dans un "
"format binaire à virgule flottante avec une précision fixe (généralement 53 "
"bits). Python utilise des opérations qui proviennent du langage C qui à leur "
"tour reposent sur l'implémentation au niveau du processeur afin d'effectuer "
"des opérations en virgule flottante. Cela signifie que dans le cadre des "
"opérations sur les nombres à virgule flottante, Python se comporte comme "
"beaucoup de langages populaires dont C et Java."
#: faq/design.rst:65
msgid ""
"Many numbers that can be written easily in decimal notation cannot be "
"expressed exactly in binary floating-point. For example, after::"
msgstr ""
"Beaucoup de nombres pouvant être écrits facilement en notation décimale ne "
"peuvent pas s'exprimer de manière exacte en binaire à virgule flottante. Par "
"exemple, après ::"
#: faq/design.rst:70
msgid ""
@ -149,20 +154,23 @@ msgid ""
"value ``1.2``, but is not exactly equal to it. On a typical machine, the "
"actual stored value is::"
msgstr ""
"la valeur stockée pour ``x`` est une (très bonne) approximation de la valeur "
"décimale ``1.2``, mais cette valeur n'est pas exacte. Sur une machine "
"typique, la valeur stockée est en fait ::"
#: faq/design.rst:76
#, fuzzy
msgid "which is exactly::"
msgstr "qui donne le résultat ::"
msgstr "qui est, exactement ::"
#: faq/design.rst:80
msgid ""
"The typical precision of 53 bits provides Python floats with 15-16 decimal "
"digits of accuracy."
msgstr ""
"La précision typique, de 53 bits, permet une précision de 15-16 décimales "
"sur les :class:`float`."
#: faq/design.rst:83
#, fuzzy
msgid ""
"For a fuller explanation, please see the :ref:`floating point arithmetic "
"<tut-fp-issues>` chapter in the Python tutorial."
@ -376,16 +384,15 @@ msgstr ""
"boucle."
#: faq/design.rst:201
#, fuzzy
msgid ""
"The best approach is to use iterators, making it possible to loop through "
"objects using the ``for`` statement. For example, :term:`file objects <file "
"object>` support the iterator protocol, so you can write simply::"
msgstr ""
"La meilleur approche est d'utiliser les itérateurs, rendant possible de "
"boucler au travers d'objets en utilisant la déclaration ``for``. Par "
"exemple, dans la version actuelle de Python, les fichiers objets supportent "
"le protocole d'itérateur, vous pouvez alors simplement écrire ::"
"parcourir des objets en utilisant l'instruction ``for``. Par exemple, les :"
"term:`fichiers objet` <file object>` gèrent le protocole d'itération, donc "
"vous pouvez simplement écrire ::"
#: faq/design.rst:211
msgid ""
@ -396,7 +403,6 @@ msgstr ""
"list.index()) mais des fonctions pour d'autres (ex : len(list)) ?"
#: faq/design.rst:213
#, fuzzy
msgid ""
"The major reason is history. Functions were used for those operations that "
"were generic for a group of types and which were intended to work even for "
@ -409,8 +415,8 @@ msgstr ""
"ces opérations qui étaient génériques pour un groupe de types et qui étaient "
"censés fonctionner même pour les objets qui n'avaient pas de méthodes du "
"tout (ex : tuples). C'est aussi pratique d'avoir une fonction qui s'apprête "
"bien à une collection amorphe d'objets lorsque vous utiliser les "
"fonctionnalités fonctionnelles de Python (``map()``, ``apply()`` et autres)."
"bien à une collection amorphe d'objets lorsque vous utiliser les outils "
"fonctionnels de Python (``map()``, ``zip()`` et autres)."
#: faq/design.rst:219
msgid ""
@ -493,16 +499,15 @@ msgstr ""
"méthode de chaîne, puisque dans ce cas il est facile de voir que ::"
#: faq/design.rst:263
#, fuzzy
msgid ""
"is an instruction to a string literal to return the substrings delimited by "
"the given separator (or, by default, arbitrary runs of white space)."
msgstr ""
"est une instruction à une chaîne littérale de retourner les sous-chaînes "
"délimitées par le séparateur fournit (ou, par défaut, les espaces)."
"délimitées par le séparateur fournit (ou, par défaut, les espaces, ou "
"groupes d'espaces)."
#: faq/design.rst:266
#, fuzzy
msgid ""
":meth:`~str.join` is a string method because in using it you are telling the "
"separator string to iterate over a sequence of strings and insert itself "
@ -510,16 +515,16 @@ msgid ""
"obeys the rules for sequence objects, including any new classes you might "
"define yourself. Similar methods exist for bytes and bytearray objects."
msgstr ""
":meth:`~str.join` est une méthode de chaîne parce qu'en l'utilisant vous "
"dites au séparateur de chaîne d'itérer autour d'une séquence de chaînes et "
"de s'insérer entre les éléments adjacents. Cette méthode peut être utilisée "
":meth:`~str.join` est une méthode de :class:`str` parce qu'en l'utilisant "
"vous dites au séparateur de chaîne d'itérer une séquence de chaînes et de "
"s'insérer entre les éléments adjacents. Cette méthode peut être utilisée "
"avec n'importe quel argument qui obéit aux règles d'objets séquence, "
"incluant n'importe quelles nouvelles classes que vous pourriez définir vous-"
"même. Des méthodes similaires existent pour des objets bytes et bytearray."
#: faq/design.rst:274
msgid "How fast are exceptions?"
msgstr ""
msgstr "À quel point les exceptions sont-elles rapides ?"
#: faq/design.rst:276
msgid ""
@ -527,12 +532,19 @@ msgid ""
"Actually catching an exception is expensive. In versions of Python prior to "
"2.0 it was common to use this idiom::"
msgstr ""
"Un bloc try/except est extrêmement efficient tant qu'aucune exception ne "
"sont levée. En effet, intercepter une exception s'avère coûteux. Dans les "
"versions de précédant Python 2.0, il était courant d'utiliser cette "
"pratique::"
#: faq/design.rst:286
msgid ""
"This only made sense when you expected the dict to have the key almost all "
"the time. If that wasn't the case, you coded it like this::"
msgstr ""
"Cela n'a de sens que si vous vous attendez à ce que le dictionnaire ait la "
"clé presque tout le temps. Si ce n'était pas le cas, vous l'auriez codé "
"comme suit ::"
#: faq/design.rst:294
msgid ""
@ -540,10 +552,15 @@ msgid ""
"getvalue(key))``, but only if the ``getvalue()`` call is cheap enough "
"because it is evaluated in all cases."
msgstr ""
"Pour ce cas, vous pouvez également utiliser ``value = dict.setdefault(key, "
"getvalue(key))``, mais seulement si l'appel à ``getvalue()`` est "
"suffisamment peu coûteux car il est évalué dans tous les cas."
#: faq/design.rst:300
msgid "Why isn't there a switch or case statement in Python?"
msgstr ""
"Pourquoi n'y a-t-il pas une instruction *switch* ou une structure similaire "
"à *switch / case* en Python ?"
#: faq/design.rst:302
msgid ""
@ -552,6 +569,10 @@ msgid ""
"there is no consensus (yet) on whether and how to do range tests. See :pep:"
"`275` for complete details and the current status."
msgstr ""
"Vous pouvez le faire assez facilement avec une séquence de ``if... elif... "
"elif... else``. Il y a eu quelques propositions pour la syntaxe de "
"l'instruction switch, mais il n'y a pas (encore) de consensus sur le cas des "
"intervalles. Voir la :pep:`275` pour tous les détails et l'état actuel."
#: faq/design.rst:307
msgid ""
@ -559,12 +580,18 @@ msgid ""
"possibilities, you can create a dictionary mapping case values to functions "
"to call. For example::"
msgstr ""
"Dans les cas où vous devez choisir parmi un très grand nombre de "
"possibilités, vous pouvez créer un dictionnaire faisant correspondre des "
"valeurs à des fonctions à appeler. Par exemple ::"
#: faq/design.rst:321
msgid ""
"For calling methods on objects, you can simplify yet further by using the :"
"func:`getattr` built-in to retrieve methods with a particular name::"
msgstr ""
"Pour appeler les méthodes sur des objets, vous pouvez simplifier davantage "
"en utilisant la fonction native :func:`getattr` pour récupérer les méthodes "
"avec un nom donné ::"
#: faq/design.rst:333
msgid ""
@ -573,12 +600,18 @@ msgid ""
"from an untrusted source, an attacker would be able to call any method on "
"your object."
msgstr ""
"Il est suggéré que vous utilisiez un préfixe pour les noms de méthodes, "
"telles que ``visit_`` dans cet exemple. Sans ce préfixe, si les valeurs "
"proviennent d'une source non fiable, un attaquant serait en mesure d'appeler "
"n'importe quelle méthode sur votre objet."
#: faq/design.rst:339
msgid ""
"Can't you emulate threads in the interpreter instead of relying on an OS-"
"specific thread implementation?"
msgstr ""
"Est-il possible d'émuler des *threads* dans l'interpréteur plutôt que se "
"baser sur les implémentations spécifique aux OS ?"
#: faq/design.rst:341
msgid ""
@ -587,6 +620,11 @@ msgid ""
"almost random moments. Therefore, a complete threads implementation "
"requires thread support for C."
msgstr ""
"Réponse 1: Malheureusement, l'interpréteur pousse au moins un block de pile "
"C (*stack frame*) pour chaque bloc de pile de Python. Aussi, les extensions "
"peuvent rappeler dans Python à presque n'importe quel moment. Par "
"conséquent, une implémentation complète des *thread* nécessiterai un support "
"complet en C."
#: faq/design.rst:346
msgid ""
@ -594,10 +632,14 @@ msgid ""
"com>`_, which has a completely redesigned interpreter loop that avoids the C "
"stack."
msgstr ""
"Réponse 2: Heureusement, il existe `Stackless Python <d'http://www.stackless."
"com>`_, qui à complètement ré-architecturé la boucle principale de "
"l'interpréteur afin de ne pas utiliser la pile C."
#: faq/design.rst:351
msgid "Why can't lambda expressions contain statements?"
msgstr ""
"Pourquoi les expressions lambda ne peuvent pas contenir d'instructions ?"
#: faq/design.rst:353
msgid ""
@ -607,6 +649,13 @@ msgid ""
"other languages, where they add functionality, Python lambdas are only a "
"shorthand notation if you're too lazy to define a function."
msgstr ""
"Les expressions lambda de Python ne peuvent pas contenir d'instructions "
"parce que le cadre syntaxique de Python ne peut pas gérer les instructions "
"imbriquées à l'intérieur d'expressions. Cependant, en Python, ce n'est pas "
"vraiment un problème. Contrairement aux formes lambda dans d'autres "
"langages, où elles ajoutent des fonctionnalités, les expressions lambda de "
"Python sont seulement une notation concise si vous êtes trop paresseux pour "
"définir une fonction."
#: faq/design.rst:359
msgid ""
@ -617,14 +666,21 @@ msgid ""
"(which is exactly the same type of object that a lambda expression yields) "
"is assigned!"
msgstr ""
"Les fonctions sont déjà des objets de première classe en Python et peuvent "
"être déclarées dans une portée locale. L'unique avantage d'utiliser une "
"fonction lambda au lieu d'une fonction définie localement est que vous "
"n'avez nullement besoin d'un nom pour la fonction -- Mais c'est juste une "
"variable locale à laquelle est affecté l'objet fonction (qui est exactement "
"le même type d'objet qui donne une expression lambda) !"
#: faq/design.rst:367
msgid "Can Python be compiled to machine code, C or some other language?"
msgstr ""
"Python peut-il être compilé en code machine, en C ou dans un autre langage ?"
#: faq/design.rst:369
msgid "Practical answer:"
msgstr ""
msgstr "Réponse concrète :"
#: faq/design.rst:371
msgid ""
@ -636,10 +692,18 @@ msgid ""
"www.nuitka.net/>`_ is an up-and-coming compiler of Python into C++ code, "
"aiming to support the full Python language."
msgstr ""
"`Cython <http://cython.org/>`_ et `Pyrex <http://www.cosc.canterbury.ac.nz/"
"greg.ewing/python/Pyrex/>`_ compilent une version modifiée de Python avec "
"des annotations optionnelles en extensions C. `Weave <http://docs.scipy.org/"
"doc/scipy-dev/reference/tutorial/weave.html`_ rend facile d'entremêler du "
"code C et Python de diverses façons afin d'améliorer au mieux les "
"performances. `Nuitka <http://www.nuitka.net/>`_ est un compilateur de "
"Python en C++ plein d'avenir, dont le but est de gérer l'ensemble du langage "
"Python."
#: faq/design.rst:378
msgid "Theoretical answer:"
msgstr ""
msgstr "Réponse théorique :"
#: faq/design.rst:382
msgid ""
@ -649,6 +713,11 @@ msgid ""
"probably consist mostly of calls into the Python run-time system, even for "
"seemingly simple operations like ``x+1``."
msgstr ""
"Pas de façon triviale. Les types de données haut niveau de Python, le typage "
"dynamique des objets et l'invocation de linterpréteur à l'exécution (via :"
"func:`eval` ou :func:`exec`) font qu'un programme Python compilé naïvement "
"consisterait probablement principalement à faire des appels au système "
"d'exécution de Python, même pour des opérations simples comme ``x + 1``."
#: faq/design.rst:388
msgid ""
@ -661,10 +730,19 @@ msgid ""
"See the proceedings from the `1997 Python conference <http://legacy.python."
"org/workshops/1997-10/proceedings/>`_ for more information.)"
msgstr ""
"Plusieurs projets décrits dans le forum de Python ou dans les anciennes "
"`Conférences Python <https://www.python.org/community/workshops/>`_ ont "
"montré que cette approche est réalisable, même si les améliorations "
"atteintes restaient modestes (autour de ×2). Jython utilise la même "
"stratégie pour compiler en *bytecode* Java. (Jim Hugunin a démontré qu'en "
"combinaison avec une analyse de la totalité du programme, des améliorations "
"de ×1000 sont possibles sur de petits programmes de démonstration. Voir le "
"compte rendu de la `Conférence de Python 1997 <http://legacy.python.org/"
"workshops/1997-10/proceedings/>`_ pour plus d'informations.)"
#: faq/design.rst:399
msgid "How does Python manage memory?"
msgstr ""
msgstr "Comment Python gère la mémoire ?"
#: faq/design.rst:401
msgid ""
@ -676,6 +754,14 @@ msgid ""
"provides functions to perform a garbage collection, obtain debugging "
"statistics, and tune the collector's parameters."
msgstr ""
"Les détails de la gestion de la mémoire en Python dépendent de "
"l'implémentation. En effet, l'implémentation standard de Python, :term:"
"`CPython`, utilise des compteurs de références afin de détecter des objets "
"inaccessibles et un autre mécanisme pour collecter les références "
"circulaires, exécutant périodiquement un algorithme de détection de cycles "
"qui recherche les cycles inaccessibles et supprime les objets implqués. Le "
"module :mod:`gc` fournit des fonctions pour lancer le ramasse-miettes, "
"d'obtenir des statistiques de débogage et ajuster ses paramètres."
#: faq/design.rst:409
msgid ""
@ -685,12 +771,20 @@ msgid ""
"porting problems if your Python code depends on the behavior of the "
"reference counting implementation."
msgstr ""
"Cependant, d'autres implémentations (par exemple `Jython <http://www.jython."
"org>`_ ou `PyPy <http://www.pypy.org>`_) peuvent compter sur un mécanisme "
"différent comme un véritable ramasse-miette. Cette différence peut causer de "
"subtils problèmes de portabilité si votre code Python dépend du comportement "
"de l'implémentation du compteur de références."
#: faq/design.rst:415
msgid ""
"In some Python implementations, the following code (which is fine in "
"CPython) will probably run out of file descriptors::"
msgstr ""
"Dans certaines implémentations de Python, le code suivant (qui marche "
"parfaitement avec *CPython*) aurait probablement manqué de descripteurs de "
"fichiers::"
#: faq/design.rst:422
msgid ""
@ -699,6 +793,11 @@ msgid ""
"those file objects will only get collected (and closed) at varying and "
"possibly long intervals."
msgstr ""
"En effet, à l'aide du comptage de références et du destructeur d'objets de "
"*CPython*, chaque nouvelle affectation à *f* ferme le fichier précédent. "
"Cependant, avec un *GC* classique, ces objets seront seulement recueillies "
"(et fermés) à intervalles variables et possiblement avec de longs "
"intervalles."
#: faq/design.rst:427
msgid ""
@ -706,11 +805,15 @@ msgid ""
"should explicitly close the file or use the :keyword:`with` statement; this "
"will work regardless of memory management scheme::"
msgstr ""
"Si vous souhaitez écrire du code qui fonctionne avec n'importe quelle "
"implémentation de Python, vous devez explicitement fermer le fichier ou "
"utiliser l'instruction :keyword:`with` ; ceci fonctionnera indépendamment du "
"système de gestion de la mémoire::"
#: faq/design.rst:437
#, fuzzy
msgid "Why doesn't CPython use a more traditional garbage collection scheme?"
msgstr "Pourquoi Python utilise l'indentation pour grouper les instructions ?"
msgstr ""
"Pourquoi CPython n'utilise-il pas un ramasse-miette plus traditionnel ?"
#: faq/design.rst:439
msgid ""
@ -720,6 +823,12 @@ msgid ""
"transparent, it isn't completely transparent; patches are required to get "
"Python to work with it.)"
msgstr ""
"D'une part, ce n'est pas une caractéristique normalisé en C et par "
"conséquent ce n'est pas portable. (Oui, nous connaissons la bibliothèque *GC "
"Boehm*. Elle contient du code assembleur pour la plupart des plates-formes "
"classiques, mais pas toutes, et bien qu'elle soit le plus souvent "
"transparent, c'est loin d'être le cas, des correctifs sont nécessaires afin "
"que Python fonctionne correctement avec.)"
#: faq/design.rst:445
msgid ""
@ -730,10 +839,18 @@ msgid ""
"malloc() and free(), and may not want Python's. Right now, CPython works "
"with anything that implements malloc() and free() properly."
msgstr ""
"Le *GC* classique devient également un problème lorsque Python est incorporé "
"dans d'autres applications. Bien que dans une application Python, il ne soit "
"pas gênant de remplacer les fonctions malloc() et free() avec les versions "
"fournies par la bibliothèque *GC*, une application incluant Python peut "
"vouloir avoir ses propres implémentations de malloc() et free() et peut ne "
"pas vouloir celles de Python. À l'heure actuelle, CPython fonctionne avec "
"n'importe quelle implémentation correcte de malloc() et free()."
#: faq/design.rst:454
msgid "Why isn't all memory freed when CPython exits?"
msgstr ""
"Pourquoi toute la mémoire n'est pas libérée lorsque *CPython* s'arrête ?"
#: faq/design.rst:456
msgid ""
@ -744,16 +861,27 @@ msgid ""
"about these). Python is, however, aggressive about cleaning up memory on "
"exit and does try to destroy every single object."
msgstr ""
"Les objets référencés depuis les espaces de noms globaux des modules Python "
"ne sont pas toujours désalloués lorsque Python s'arrête. Cela peut se "
"produire s'il y a des références circulaires. Il y a aussi certaines parties "
"de mémoire qui sont alloués par la bibliothèque C qui sont impossibles à "
"libérer (par exemple un outil comme *Purify* s'en plaindra). Python est, "
"cependant, agressif sur le nettoyage de la mémoire en quittant et cherche à "
"détruire chaque objet."
#: faq/design.rst:463
msgid ""
"If you want to force Python to delete certain things on deallocation use "
"the :mod:`atexit` module to run a function that will force those deletions."
msgstr ""
"Si vous voulez forcer Python à désallouer certains objets en quittant, "
"utilisez le module :mod:`texit` pour exécuter une fonction qui va forcer ces "
"destructions."
#: faq/design.rst:468
msgid "Why are there separate tuple and list data types?"
msgstr ""
"Pourquoi les *tuples* et les *list* sont deux types de données séparés ?"
#: faq/design.rst:470
msgid ""
@ -764,6 +892,13 @@ msgid ""
"Cartesian coordinate is appropriately represented as a tuple of two or three "
"numbers."
msgstr ""
"Les listes et les *tuples*, bien que semblable à bien des égards, sont "
"généralement utilisés de façons fondamentalement différentes. Les *tuples* "
"peuvent être considérés comme étant similaires aux dossiers en Pascal ou aux "
"structures en C; Ce sont de petites collections de données associées qui "
"peuvent être de différents types qui sont utilisées sensemble. Par exemple, "
"un repère cartésien est correctement représenté comme un *tuple* de deux ou "
"trois nombres."
#: faq/design.rst:477
msgid ""
@ -774,6 +909,13 @@ msgid ""
"Functions which operate on this output would generally not break if you "
"added another file or two to the directory."
msgstr ""
"Les listes, ressemblent davantage à des tableaux dans d'autres langues. "
"Elles ont tendance à contenir un nombre variable d'objets de même type "
"manipulés individuellement. Par exemple, ``os.listdir('.')`` retourne une "
"liste de chaînes représentant les fichiers dans le dossier courant. Les "
"fonctions travaillant sur cette sortie accepteraient généralement sans aucun "
"problème que vous ajoutiez un ou deux fichiers supplémentaire dans le "
"dossier."
#: faq/design.rst:484
msgid ""
@ -783,6 +925,12 @@ msgid ""
"be used as dictionary keys, and hence only tuples and not lists can be used "
"as keys."
msgstr ""
"Les *tuples* sont immuables, ce qui signifie que lorsqu'un *tuple* a été "
"créé, vous ne pouvez remplacer aucun de ses éléments par une nouvelle "
"valeur. Les listes sont variables, ce qui signifie que vous pouvez toujours "
"modifier les éléments d'une liste. Seuls des éléments immuables peuvent être "
"utilisés comme clés de dictionnaires, et donc de ``tuple`` et ``list`` seul "
"des *tuples* peuvent être utilisés comme clés."
#: faq/design.rst:491
msgid "How are lists implemented?"
@ -2953,7 +3101,7 @@ msgstr ""
#: faq/library.rst:458
msgid "Input and Output"
msgstr "Les entrées/sorties"
msgstr "Entrées et Sorties"
#: faq/library.rst:461
msgid "How do I delete a file? (And other file questions...)"
@ -3828,9 +3976,8 @@ msgid "Why did changing list 'y' also change list 'x'?"
msgstr ""
#: faq/programming.rst:431
#, fuzzy
msgid "If you wrote code like::"
msgstr "In C++ you'd write"
msgstr "Si vous avez écrit du code comme ::"
#: faq/programming.rst:441
msgid ""
@ -3952,14 +4099,13 @@ msgstr ""
#: faq/programming.rst:526
msgid "By passing a mutable (changeable in-place) object::"
msgstr "En passant un objet mutable (modifiable par remplacement)::"
msgstr "En passant un objet variable (modifiable sur place) ::"
#: faq/programming.rst:536
msgid "By passing in a dictionary that gets mutated::"
msgstr "En utilisant un dictionnaire, qui est modifié (en place)."
msgstr "En passant un dictionnaire, qui sera modifié ::"
#: faq/programming.rst:546
#, fuzzy
msgid "Or bundle up values in a class instance::"
msgstr "Ou regrouper les valeurs dans une instance de classe::"
@ -3972,12 +4118,12 @@ msgstr ""
#: faq/programming.rst:564
msgid "Your best choice is to return a tuple containing the multiple results."
msgstr ""
"Votre meilleure option est de renvoyer un tuple contenant les résultats "
"multiples."
"Votre meilleure option est de renvoyer un *tuple* contenant les multiples "
"résultats."
#: faq/programming.rst:568
msgid "How do you make a higher order function in Python?"
msgstr "Comment construire une fonction de grand ordre en Python?"
msgstr "Comment construire une fonction d'ordre supérieur en Python ?"
#: faq/programming.rst:570
msgid ""
@ -3986,14 +4132,14 @@ msgid ""
"returns a function ``f(x)`` that computes the value ``a*x+b``. Using nested "
"scopes::"
msgstr ""
"Vous avez deux choix: vous pouvez utiliser les portées imbriquées ou vous "
"pouvez utiliser des objets appelable. Par exemple, supposons que vous "
"vouliez définir ``lineare (a, b)`` qui retourne une fonction ``f (x)`` qui "
"calcule la valeur ``a * x + b``. En utilisant les portées imbriquées::"
"Vous avez deux choix : vous pouvez utiliser les portées imbriquées ou vous "
"pouvez utiliser des objets appelables. Par exemple, supposons que vous "
"vouliez définir ``linear(a, b)`` qui retourne une fonction ``f(x)`` qui "
"calcule la valeur `a * x + b``. En utilisant les portées imbriquées ::"
#: faq/programming.rst:579
msgid "Or using a callable object::"
msgstr "Ou en utilisant un objet appelable."
msgstr "Ou en utilisant un objet appelable ::"
#: faq/programming.rst:589
msgid "In both cases, ::"
@ -4001,7 +4147,7 @@ msgstr "dans les deux cas, ::"
#: faq/programming.rst:593
msgid "gives a callable object where ``taxes(10e6) == 0.3 * 10e6 + 2``."
msgstr "retourne un objet appelable tel que ``taxes(10e6) == 0.3 * 10e6 + 2``."
msgstr "donne un objet appelable où ``taxes(10e6) == 0.3 * 10e6 + 2``."
#: faq/programming.rst:595
msgid ""
@ -4009,13 +4155,12 @@ msgid ""
"and results in slightly longer code. However, note that a collection of "
"callables can share their signature via inheritance::"
msgstr ""
"L'approche par objet appelables a le désavantage d'être légèrement plus "
"lente et de produire un code légèrement plus long. Cependant, il faut noter "
"qu'une collection d'objet appelables peuvent partager leur signatures par "
"héritage::"
"L'approche par objet appelable a le désavantage d'être légèrement plus lente "
"et de produire un code légèrement plus long. Cependant, il faut noter qu'une "
"collection d'objet appelables peuvent partager leur signatures par "
"héritage ::"
#: faq/programming.rst:604
#, fuzzy
msgid "Object can encapsulate state for several methods::"
msgstr "Les objets peuvent encapsuler un état pour plusieurs méthodes::"
@ -4024,7 +4169,7 @@ msgid ""
"Here ``inc()``, ``dec()`` and ``reset()`` act like functions which share the "
"same counting variable."
msgstr ""
"Ici ``inc()``, ``dec()`` et ``reset`` agissent comme des fonctions "
"Ici ``inc()``, ``dec()`` et ``reset()`` agissent comme des fonctions "
"partageant une même variable compteur."
#: faq/programming.rst:627
@ -4036,8 +4181,9 @@ msgid ""
"In general, try :func:`copy.copy` or :func:`copy.deepcopy` for the general "
"case. Not all objects can be copied, but most can."
msgstr ""
"En général, essayez :funct:`copy.copy` ou :func:`copy.deepcopy` pour le cas "
"général. Tout les objets ne peuvent pas être copiés, mais la plupart peuvent."
"En général, essayez :func:`copy.copy` ou :func:`copy.deepcopy` pour le cas "
"général. Tout les objets ne peuvent pas être copiés, mais la plupart le "
"peuvent."
#: faq/programming.rst:632
msgid ""
@ -4049,7 +4195,7 @@ msgstr ""
#: faq/programming.rst:637
msgid "Sequences can be copied by slicing::"
msgstr "Les séquences peuvent être copiées par tranches::"
msgstr "Les séquences peuvent être copiées via la syntaxe des tranches::"
#: faq/programming.rst:643
msgid "How can I find the methods or attributes of an object?"
@ -4078,8 +4224,9 @@ msgid ""
msgstr ""
"De façon générale, il ne peut pas, par ce que les objets n'ont pas "
"réellement de noms. Essentiellement, l'assignation attache un nom à une "
"valeur; C'est vrai aussi pour les mots clés ``def`` et ``class``, à la "
"différence que la valeur est un objet appelable."
"valeur; C'est vrai aussi pour les instructions ``def`` et ``class``, à la "
"différence que dans ce cas la valeur est appelable. Par exemple, dans le "
"code suivant ::"
#: faq/programming.rst:670
msgid ""
@ -4088,10 +4235,11 @@ msgid ""
"instance of class A. However, it is impossible to say whether the "
"instance's name is a or b, since both names are bound to the same value."
msgstr ""
"Le fait que la classe ait un nom est discutable, même si elle a deux noms et "
"qu'elle est appelé via le nom B, l'instance crée déclare tout de même être "
"une instance de la classe A. De même Il est impossible de dire si le nom de "
"l'instance est a ou b, les deux noms sont attachés à la même valeur."
"Le fait que la classe ait un nom est discutable, bien qu'elles soit liée à "
"deux noms, et qu'elle soit appelée via le nom B, l'instance crée déclare "
"tout de même être une instance de la classe A. De même Il est impossible de "
"dire si le nom de l'instance est a ou b, les deux noms sont attachés à la "
"même valeur."
#: faq/programming.rst:675
msgid ""
@ -4101,7 +4249,7 @@ msgid ""
"approach might be beneficial."
msgstr ""
"De façon général, il ne devrait pas être nécessaire pour votre application "
"de \"connaitre le nom\" d'une valeur particulière. À moins que vous soyez "
"de \"connaître le nom\" d'une valeur particulière. À moins que vous soyez "
"délibérément en train d'écrire un programme introspectif, c'est souvent une "
"indication qu'un changement d'approche pourrait être bénéfique."
@ -4120,10 +4268,10 @@ msgid ""
"so the only way to find out what it's called is to ask all your neighbours "
"(namespaces) if it's their cat (object)..."
msgstr ""
"De la même manière que vous trouvez le nom du chat que vous avez trouvé dans "
"votre coure: le chat ne peux pas vous dire lui même son nom, et il s'en "
"moque un peu -- alors le meilleur moyen de savoir comment il est appelé est "
"de demander à tous vos voisins (namespaces) si c'est leur chat (object)…"
"C'est pareil que trouver le nom du chat qui traîne devant votre porte: Le "
"chat (objet) ne peux pas vous dire lui même son nom, et il s'en moque un peu "
"-- alors le meilleur moyen de savoir comment il s'appelle est de demander à "
"tous vos voisins (namespaces) si c'est leur chat (objet)…"
#: faq/programming.rst:688
msgid ""
@ -4135,12 +4283,12 @@ msgstr ""
#: faq/programming.rst:693
msgid "What's up with the comma operator's precedence?"
msgstr "Quel est le souci avec la précédente de l'opérateur virgule?"
msgstr "Qu'en est-il de la précédence de l'opérateur virgule ?"
#: faq/programming.rst:695
msgid "Comma is not an operator in Python. Consider this session::"
msgstr ""
"Virgule n'est pas un opérateur en Python. Observez la session suivante::"
"La virgule n'est pas un opérateur en Python. Observez la session suivante::"
#: faq/programming.rst:700
msgid ""
@ -4161,20 +4309,17 @@ msgid ""
"They are not truly operators but syntactic delimiters in assignment "
"statements."
msgstr ""
"Ceci est vrai de tous les opérateurs d'assignations (``=``, ``+=`` etc). Ce "
"ne sont pas vraiment des opérateurs mais des délimiteurs syntaxiques dans "
"Ceci est vrai pour tous les opérateurs d'assignations (``=``, ``+=`` etc). "
"Ce ne sont pas vraiment des opérateurs mais des délimiteurs syntaxiques dans "
"les instructions d'assignation."
#: faq/programming.rst:714
msgid "Is there an equivalent of C's \"?:\" ternary operator?"
msgstr "Existe-t'il un équivalent à l'opérateur \"?:\" ternaire du C?"
msgstr "Existe-t-il un équivalent à l'opérateur ternaire \"?:\" du C ?"
#: faq/programming.rst:716
#, fuzzy
msgid "Yes, there is. The syntax is as follows::"
msgstr ""
"Oui, cette fonctionnalité à été ajouté à partir de Python 2.5. La syntaxe "
"est la suivante::"
msgstr "Oui, il y en a un. Sa syntaxe est la suivante ::"
#: faq/programming.rst:723
msgid ""
@ -4192,8 +4337,8 @@ msgstr ""
#: faq/programming.rst:734
msgid "Is it possible to write obfuscated one-liners in Python?"
msgstr ""
"Est-il possible d'écrire des programmes volontairement difficile à "
"comprendre sur une seule ligne en Python?"
"Est-il possible d'écrire des programmes obscurcis (*obfuscated*) d'une ligne "
"en Python ?"
#: faq/programming.rst:736
msgid ""
@ -4206,15 +4351,15 @@ msgstr ""
#: faq/programming.rst:763
msgid "Don't try this at home, kids!"
msgstr "Les enfants, ne faîtes pas ça chez vous!"
msgstr "Les enfants, ne faîtes pas ça chez vous !"
#: faq/programming.rst:767
msgid "Numbers and strings"
msgstr "Nombres et chaines de caractères"
msgstr "Nombres et chaînes de caractères"
#: faq/programming.rst:770
msgid "How do I specify hexadecimal and octal integers?"
msgstr "Comment puis-je spécifier des entiers hexadécimaux ou octaux?"
msgstr "Comment puis-je écrire des entiers hexadécimaux ou octaux ?"
#: faq/programming.rst:772
msgid ""
@ -4222,9 +4367,9 @@ msgid ""
"lower or uppercase \"o\". For example, to set the variable \"a\" to the "
"octal value \"10\" (8 in decimal), type::"
msgstr ""
"Pour spécifier un entier octal, faites précéder la valeur octale par un "
"zéro, puis un \"o\" majuscule ou minuscule. Par exemple assigner la valeur "
"octale \"10\" (8 en décimal) à \"a\", tapez::"
"Pour écrire un entier octal, faites précéder la valeur octale par un zéro, "
"puis un \"o\" majuscule ou minuscule. Par exemple assigner la valeur octale "
"\"10\" (8 en décimal) à la variable \"a\", tapez::"
#: faq/programming.rst:780
msgid ""
@ -4239,7 +4384,7 @@ msgstr ""
#: faq/programming.rst:793
msgid "Why does -22 // 10 return -3?"
msgstr "Pourquoi -22//10 retourne-t'il -3?"
msgstr "Pourquoi -22 // 10 donne-t-il -3 ?"
#: faq/programming.rst:795
msgid ""
@ -4247,7 +4392,7 @@ msgid ""
"``j``. If you want that, and also want::"
msgstr ""
"Cela est principalement due à la volonté que ``i % j`` ait le même signe que "
"j. Si vous voulez cela, vous voulez aussi::"
"j. Si vous voulez cela, vous voulez aussi ::"
#: faq/programming.rst:800
msgid ""
@ -4257,7 +4402,7 @@ msgid ""
msgstr ""
"Alors la division entière doit retourner l'entier inférieur. Le C demande "
"aussi à ce que cette égalité soit vérifiée, et donc les compilateur qui "
"tronquent ``i//j`` ont besoin que ``i % j`` ait le même signe que ``i``."
"tronquent ``i // j`` ont besoin que ``i % j`` ait le même signe que ``i``."
#: faq/programming.rst:804
msgid ""