forked from AFPy/python-docs-fr
Tutorial Modules Review.
This commit is contained in:
parent d71a11b4bb
commit 3c33cb06b2
1 changed files with 180 additions and 179 deletions
| | @ -8,14 +8,14 @@ msgstr "" | |||
"Project-Id-Version: Python 3.6\n" | ||||
"Report-Msgid-Bugs-To: \n" | ||||
"POT-Creation-Date: 2017-05-27 19:40+0200\n" | ||||
"PO-Revision-Date: 2017-05-16 22:18+0200\n" | ||||
"PO-Revision-Date: 2018-02-07 13:42+0100\n" | ||||
"Last-Translator: Julien Palard <julien@palard.fr>\n" | ||||
"Language-Team: \n" | ||||
"Language: fr\n" | ||||
"MIME-Version: 1.0\n" | ||||
"Content-Type: text/plain; charset=UTF-8\n" | ||||
"Content-Transfer-Encoding: 8bit\n" | ||||
"X-Generator: Poedit 1.8.11\n" | ||||
"X-Generator: Poedit 2.0.2\n" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:5 | ||||
msgid "Modules" | ||||
| | @ -34,12 +34,12 @@ msgid "" | |||
msgstr "" | ||||
"Lorsque vous quittez et entrez à nouveau dans l'interpréteur Python, tout ce " | ||||
"que vous avez déclaré dans la session précédente est perdu. Afin de rédiger " | ||||
"des programmes plus longs, vous devriez utiliser un éditeur de texte, " | ||||
"préparer votre code dans un fichier, et exécuter Python avec ce fichier en " | ||||
"paramètre. Ça s'appelle créé un *script*. Lorsque votre programme deviendra " | ||||
"plus long encore, vous pourrez séparer votre code dans plusieurs fichiers, " | ||||
"et vous trouverez aussi pratique de réutiliser des fonctions écrites pour un " | ||||
"programme dans un autre sans avoir à les copier." | ||||
"des programmes plus longs, vous devez utiliser un éditeur de texte, préparer " | ||||
"votre code dans un fichier et exécuter Python avec ce fichier en paramètre. " | ||||
"Cela s'appelle créer un *script*. Lorsque votre programme grandit, vous " | ||||
"pouvez séparer votre code dans plusieurs fichiers. Ainsi, il vous est facile " | ||||
"de réutiliser des fonctions écrites pour un programme dans un autre sans " | ||||
"avoir à les copier." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:16 | ||||
msgid "" | ||||
| | @ -49,12 +49,12 @@ msgid "" | |||
"modules or into the *main* module (the collection of variables that you have " | ||||
"access to in a script executed at the top level and in calculator mode)." | ||||
msgstr "" | ||||
"Pour gérer ça, Python à un moyen de rédiger des définitions dans un fichier " | ||||
"et les utiliser dans un script ou une session interactive. Un tel fichier " | ||||
"est appelé un *module*, et les définitions d'un module peuvent être " | ||||
"Pour gérer cela, Python vous permet de placer des définitions dans un " | ||||
"fichier et de les utiliser dans un script ou une session interactive. Un tel " | ||||
"fichier est appelé un *module* et les définitions d'un module peuvent être " | ||||
"importées dans un autre module ou dans le module *main* (qui est le module " | ||||
"qui contiens vos variables et définitions lors de l'exécution d'un script ou " | ||||
"en mode interactif)." | ||||
"qui contient vos variables et définitions lors de l'exécution d'un script au " | ||||
"niveau le plus haut ou en mode interactif)." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:22 | ||||
msgid "" | ||||
| | @ -65,19 +65,18 @@ msgid "" | |||
"to create a file called :file:`fibo.py` in the current directory with the " | ||||
"following contents::" | ||||
msgstr "" | ||||
"Un module est un fichier contenant des définitions et des instructions. Son " | ||||
"nom de fichier est le même que son nom, suffixé de :file:`.py`. À " | ||||
"l'intérieur d'un module, son propre nom est accessible dans la variable " | ||||
"``__name__``. Par exemple, prenez votre éditeur favori et créez un fichier :" | ||||
"file:`fibo.py` contenant : ::" | ||||
"Un module est un fichier contenant des définitions et des instructions. Son " | ||||
"nom de fichier est le nom du module suffixé de :file:`.py`. À l'intérieur " | ||||
"d'un module, son propre nom est accessible par la variable ``__name__``. Par " | ||||
"exemple, prenez votre éditeur favori et créez un fichier :file:`fibo.py` " | ||||
"dans le répertoire courant qui contient : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:45 | ||||
msgid "" | ||||
"Now enter the Python interpreter and import this module with the following " | ||||
"command::" | ||||
msgstr "" | ||||
"Maintenant, en étant dans le même dossier, ouvrez un interpréteur et " | ||||
"importez le module en tapant : ::" | ||||
"Maintenant, ouvrez un interpréteur et importez le module en tapant : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:50 | ||||
msgid "" | ||||
| | @ -86,19 +85,19 @@ msgid "" | |||
"Using the module name you can access the functions::" | ||||
msgstr "" | ||||
"Cela n'importe pas les noms des fonctions définies dans ``fibo`` directement " | ||||
"dans la table des symboles courante, mais y ajoute simplement ``fibo``. Vous " | ||||
"pouvez donc appeler les fonctions via le nom du module : ::" | ||||
"dans la table des symboles courants mais y ajoute simplement ``fibo``. Vous " | ||||
"pouvez donc appeler les fonctions *via* le nom du module : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:61 | ||||
msgid "" | ||||
"If you intend to use a function often you can assign it to a local name::" | ||||
msgstr "" | ||||
"Si vous avez l'intention d'utiliser une fonction souvent, il est possible de " | ||||
"Si vous avez l'intention d'utiliser souvent une fonction, il est possible de " | ||||
"lui assigner un nom local : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:71 | ||||
msgid "More on Modules" | ||||
msgstr "Les modules en détails" | ||||
msgstr "Les modules en détail" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:73 | ||||
msgid "" | ||||
| | @ -108,10 +107,10 @@ msgid "" | |||
"[#]_ (They are also run if the file is executed as a script.)" | ||||
msgstr "" | ||||
"Un module peut contenir aussi bien des instructions que des déclarations de " | ||||
"fonctions. Ces instructions permettent d'initialiser le module, et ne sont " | ||||
"donc exécutées que la première fois que le nom d'un module est trouvé dans " | ||||
"un ``import``. [#]_ (Elles sont aussi exécutées lorsque le fichier est " | ||||
"exécuté en temps que script.)" | ||||
"fonctions. Ces instructions permettent d'initialiser le module. Elles ne " | ||||
"sont exécutées que la *première* fois que le nom d'un module est trouvé dans " | ||||
"un ``import`` [#]_ (elles sont aussi exécutées lorsque le fichier est " | ||||
"exécuté en tant que script)." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:78 | ||||
msgid "" | ||||
| | @ -122,13 +121,13 @@ msgid "" | |||
"know what you are doing you can touch a module's global variables with the " | ||||
"same notation used to refer to its functions, ``modname.itemname``." | ||||
msgstr "" | ||||
"Chaque module a sa propre table de symboles, utilisée comme table de " | ||||
"Chaque module possède sa propre table de symboles, utilisée comme table de " | ||||
"symboles globaux par toutes les fonctions définies par le module. Ainsi " | ||||
"l'auteur d'un module peut utiliser des variables globales dans un module " | ||||
"sans se soucier de collisions de noms avec des globales définies par " | ||||
"l'utilisateur du module. D'un autre côté, si vous savez ce que vous faites, " | ||||
"sans se soucier de collisions de noms avec des variables globales définies " | ||||
"par l'utilisateur du module. Cependant, si vous savez ce que vous faites, " | ||||
"vous pouvez modifier une variable globale d'un module avec la même notation " | ||||
"que pour accéder aux fonctions : ``modname.itemname``." | ||||
"que pour accéder aux fonctions : ``nommodule.nomelement``." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:85 | ||||
msgid "" | ||||
| | @ -137,9 +136,9 @@ msgid "" | |||
"for that matter). The imported module names are placed in the importing " | ||||
"module's global symbol table." | ||||
msgstr "" | ||||
"Des modules peuvent importer d'autres modules. Il est habituel mais pas " | ||||
"obligatoire de ranger tous les :keyword:`import` au début du module (ou du " | ||||
"script). Les noms des module importés sont insérés dans la table des " | ||||
"Des modules peuvent importer d'autres modules. Il est courant, mais pas " | ||||
"obligatoire, de ranger tous les :keyword:`import` au début du module (ou du " | ||||
"script). Les noms des modules importés sont insérés dans la table des " | ||||
"symboles globaux du module qui importe." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:90 | ||||
| | @ -148,7 +147,7 @@ msgid "" | |||
"from a module directly into the importing module's symbol table. For " | ||||
"example::" | ||||
msgstr "" | ||||
"Il existe une variation à l'instruction :keyword:`import` qui importe les " | ||||
"Il existe une variante de l'instruction :keyword:`import` qui importe les " | ||||
"noms d'un module directement dans la table de symboles du module qui " | ||||
"l'importe, par exemple : ::" | ||||
| ||||
| | @ -158,13 +157,13 @@ msgid "" | |||
"the local symbol table (so in the example, ``fibo`` is not defined)." | ||||
msgstr "" | ||||
"Cela n'insère pas le nom du module depuis lequel les définitions sont " | ||||
"récupérées dans la table locale de symboles (dans cet exemple, ``fibo`` " | ||||
"récupérées dans la table des symboles locaux (dans cet exemple, ``fibo`` " | ||||
"n'est pas défini)." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:100 | ||||
msgid "There is even a variant to import all names that a module defines::" | ||||
msgstr "" | ||||
"Il existe même une variation permettant d'importer tous les noms qu'un " | ||||
"Il existe même une variante permettant d'importer tous les noms qu'un " | ||||
"module définit : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:106 | ||||
| | @ -177,7 +176,7 @@ msgstr "" | |||
"Tous les noms ne commençant pas par un tiret bas (``_``) sont importés. Dans " | ||||
"la grande majorité des cas, les développeurs n'utilisent pas cette syntaxe " | ||||
"puisqu'en important un ensemble indéfini de noms, des noms déjà définis " | ||||
"peuvent se retrouver cachés." | ||||
"peuvent se retrouver masqués." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:111 | ||||
msgid "" | ||||
| | @ -186,9 +185,8 @@ msgid "" | |||
"However, it is okay to use it to save typing in interactive sessions." | ||||
msgstr "" | ||||
"Notez qu'en général, importer ``*`` d'un module ou d'un paquet est " | ||||
"déconseillé, en général ça engendre du code difficilement lisible. " | ||||
"Cependant, c'est acceptable de l'utiliser pour gagner quelques secondes en " | ||||
"mode interactif." | ||||
"déconseillé. Souvent, le code devient difficilement lisible. Son utilisation " | ||||
"en mode interactif est acceptée pour gagner quelques secondes." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:117 | ||||
msgid "" | ||||
| | @ -198,11 +196,12 @@ msgid "" | |||
"use :func:`importlib.reload`, e.g. ``import importlib; importlib." | ||||
"reload(modulename)``." | ||||
msgstr "" | ||||
"Pour des raisons de performance, chaque module n'est importé qu'une fois par " | ||||
"pour des raisons de performance, chaque module n'est importé qu'une fois par " | ||||
"session. Si vous changez le code d'un module vous devez donc redémarrer " | ||||
"l'interpréteur afin d'en voir l'impact. Ou le re-importer explicitement en " | ||||
"utilisant :func:`importlib.reload`, par exemple : ``import importlib; " | ||||
"importlib.reload(modulename)``." | ||||
"l'interpréteur afin d'en voir l'impact ; ou, s'il s'agit simplement d'un " | ||||
"seul module que vous voulez tester en mode interactif, vous pouvez le " | ||||
"ré-importer explicitement en utilisant :func:`importlib.reload`, par " | ||||
"exemple : ``import importlib; importlib.reload(nommodule)``." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:127 | ||||
msgid "Executing modules as scripts" | ||||
| | @ -218,8 +217,8 @@ msgid "" | |||
"with the ``__name__`` set to ``\"__main__\"``. That means that by adding " | ||||
"this code at the end of your module::" | ||||
msgstr "" | ||||
"le code du module sera exécuté comme si vous l'aviez importé, mais son " | ||||
"``__name__`` vaudra ``\"__main__\"``. Donc en ajoutant ces lignes à la fin " | ||||
"le code du module est exécuté comme si vous l'aviez importé mais son " | ||||
"``__name__`` vaut ``\"__main__\"``. Donc, en ajoutant ces lignes à la fin " | ||||
"du module : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:141 | ||||
| | @ -229,7 +228,7 @@ msgid "" | |||
"executed as the \"main\" file:" | ||||
msgstr "" | ||||
"vous pouvez rendre le fichier utilisable comme script aussi bien que comme " | ||||
"module importable, car le code qui parse la ligne de commande n'est lancé " | ||||
"module importable, car le code qui analyse la ligne de commande n'est lancé " | ||||
"que si le module est exécuté comme fichier « main » :" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:150 | ||||
| | @ -243,8 +242,8 @@ msgid "" | |||
"test suite)." | ||||
msgstr "" | ||||
"C'est typiquement utilisé soit pour proposer une interface utilisateur pour " | ||||
"un module, soit pour lancer les tests sur le module (où exécuter le module " | ||||
"en temps que script lance les tests)." | ||||
"un module, soit pour lancer les tests sur le module (exécuter le module en " | ||||
"tant que script lance les tests)." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:162 | ||||
msgid "The Module Search Path" | ||||
| | @ -258,18 +257,18 @@ msgid "" | |||
"data:`sys.path`. :data:`sys.path` is initialized from these locations:" | ||||
msgstr "" | ||||
"Lorsqu'un module nommé par exemple :mod:`spam` est importé, il est d'abord " | ||||
"recherché parmis les modules natifs, puis s'il n'y est pas trouvé, " | ||||
"l'interpréteur va chercher un fichier nommé :file:`spam.py` dans une liste " | ||||
"de dossiers donnés par la variable :data:`sys.path`, :data:`sys.path` est " | ||||
"initialisée par défaut à : ::" | ||||
"recherché parmi les modules natifs puis, s'il n'est pas trouvé, " | ||||
"l'interpréteur cherche un fichier nommé :file:`spam.py` dans une liste de " | ||||
"dossiers donnée par la variable :data:`sys.path`. Par défaut, " | ||||
":data:`sys.path` est initialisée à : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:171 | ||||
msgid "" | ||||
"The directory containing the input script (or the current directory when no " | ||||
"file is specified)." | ||||
msgstr "" | ||||
"Le dossier contenant le script courant (ou le dossier courant si aucun " | ||||
"script n'est donné)." | ||||
"le dossier contenant le script courant (ou le dossier courant si aucun " | ||||
"script n'est donné) ;" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:173 | ||||
msgid "" | ||||
| | @ -277,11 +276,11 @@ msgid "" | |||
"shell variable :envvar:`PATH`)." | ||||
msgstr "" | ||||
":envvar:`PYTHONPATH` (une liste de dossiers, utilisant la même syntaxe que " | ||||
"la variable shell :envvar:`PATH`)." | ||||
"la variable shell :envvar:`PATH`) ;" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:175 | ||||
msgid "The installation-dependent default." | ||||
msgstr "La valeur par défaut, dépendante de l'installation." | ||||
msgstr "la valeur par défaut, dépendante de l'installation." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:178 | ||||
msgid "" | ||||
| | @ -289,10 +288,10 @@ msgid "" | |||
"script is calculated after the symlink is followed. In other words the " | ||||
"directory containing the symlink is **not** added to the module search path." | ||||
msgstr "" | ||||
"Sur les systèmes qui gèrent les liens symboliques, le dossier contenant le " | ||||
"script courant est résolu après avoir suivi le lien sublimer du script. " | ||||
"Autrement dit le dossier contenant le lien symbolique n'est **pas** ajouté " | ||||
"au dossiers de recherche de modules." | ||||
"sur les systèmes qui gèrent les liens symboliques, le dossier contenant le " | ||||
"script courant est résolu après avoir suivi le lien symbolique du script. " | ||||
"Autrement dit, le dossier contenant le lien symbolique n'est **pas** ajouté " | ||||
"aux dossiers de recherche de modules." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:182 | ||||
msgid "" | ||||
| | @ -305,9 +304,9 @@ msgid "" | |||
msgstr "" | ||||
"Après leur initialisation, les programmes Python peuvent modifier leur :data:" | ||||
"`sys.path`. Le dossier contenant le script courant est placé au début de la " | ||||
"liste des dossiers à rechercher, avant les dossiers de bibliothèques, Cela " | ||||
"liste des dossiers à rechercher, avant les dossiers de bibliothèques. Cela " | ||||
"signifie qu'un module dans ce dossier, ayant le même nom qu'un module, sera " | ||||
"chargé à sa place. C'est une erreur typique, à moins que ce soit voulu. " | ||||
"chargé à sa place. C'est une erreur typique, à moins que ce ne soit voulu. " | ||||
"Voir :ref:`tut-standardmodules` pour plus d'informations." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:193 | ||||
| | @ -325,12 +324,12 @@ msgid "" | |||
"different releases and different versions of Python to coexist." | ||||
msgstr "" | ||||
"Pour accélérer le chargement des modules, Python cache une version compilée " | ||||
"de chaque module, dans un fichier nommé :file:`module(version).pyc` (ou " | ||||
"de chaque module dans un fichier nommé :file:`module(version).pyc` (ou " | ||||
"*version* représente le format du fichier compilé, typiquement une version " | ||||
"de Python) dans le dossier ``__pycache__``. Par exemple avec CPython 3.3 la " | ||||
"version compilée de spam.py serait ``__pycache__/spam.cpython-33.pyc``. " | ||||
"Cette règle de nommage permet à des versions compilées par des versions de " | ||||
"Python différentes de coexister." | ||||
"de Python) dans le dossier ``__pycache__``. Par exemple, avec CPython 3.3, " | ||||
"la version compilée de spam.py serait ``__pycache__/spam.cpython-33.pyc``. " | ||||
"Cette règle de nommage permet à des versions compilées par des versions " | ||||
"différentes de Python de coexister." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:203 | ||||
msgid "" | ||||
| | @ -342,9 +341,9 @@ msgid "" | |||
msgstr "" | ||||
"Python compare les dates de modification du fichier source et de sa version " | ||||
"compilée pour voir si le module doit être recompilé. Ce processus est " | ||||
"entièrement automatique, et les versions compilées sont indépendantes de la " | ||||
"plateforme, et peuvent donc être partagées entre des systèmes d'architecture " | ||||
"différente." | ||||
"entièrement automatique. Par ailleurs, les versions compilées sont " | ||||
"indépendantes de la plateforme et peuvent donc être partagées entre des " | ||||
"systèmes d'architectures différentes." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:208 | ||||
msgid "" | ||||
| | @ -355,13 +354,12 @@ msgid "" | |||
"distribution, the compiled module must be in the source directory, and there " | ||||
"must not be a source module." | ||||
msgstr "" | ||||
"Il existe deux circonstances pour lesquelles Python ne vérifie pas le " | ||||
"cache : Le premier cas lorsque le module est donné par la ligne de commande " | ||||
"(cas où le module est toujours recompilé, sans même cacher sa version " | ||||
"compilée), le second cas est lorsque le module n'a pas de source dans ce cas " | ||||
"Python n'essaye pas de charger la version compilée. Pour gérer un module " | ||||
"sans source (seulement compilé) le module compilé doit être dans le dossier " | ||||
"source et sa source ne doit pas être présente." | ||||
"Il existe deux situations où Python ne vérifie pas le cache : le premier cas " | ||||
"est lorsque le module est donné par la ligne de commande (cas où le module " | ||||
"est toujours recompilé, sans même cacher sa version compilée) ; le second " | ||||
"cas est lorsque le module n'a pas de source. Pour gérer un module sans " | ||||
"source (où seule la version compilée est fournie), le module compilé doit se " | ||||
"trouver dans le dossier source et sa source ne doit pas être présente." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:215 | ||||
msgid "Some tips for experts:" | ||||
| | @ -377,14 +375,14 @@ msgid "" | |||
"have an ``opt-`` tag and are usually smaller. Future releases may change " | ||||
"the effects of optimization." | ||||
msgstr "" | ||||
"Vous pouvez utiliser les options :option:`-O` ou :option:`-OO` lors de " | ||||
"vous pouvez utiliser les options :option:`-O` ou :option:`-OO` lors de " | ||||
"l'appel à Python pour réduire la taille des modules compilés. L'option ``-" | ||||
"O`` supprime les instructions ``assert``, et l'option ``-OO`` supprime aussi " | ||||
"O`` supprime les instructions ``assert`` et l'option ``-OO`` supprime aussi " | ||||
"les documentations ``__doc__``. Cependant, puisque certains programmes ont " | ||||
"besoin de ces ``__doc__``, vous ne devriez utiliser ``-OO`` que si vous " | ||||
"savez ce que vous faites. Les modules \"optimisés\" sont marqués d'un ``opt-" | ||||
"`` et sont généralement plus petits. Les versions futures de Python " | ||||
"pourraient changer les effets de l'optimisation." | ||||
"pourraient changer les effets de l'optimisation ;" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:225 | ||||
msgid "" | ||||
| | @ -392,25 +390,24 @@ msgid "" | |||
"when it is read from a ``.py`` file; the only thing that's faster about ``." | ||||
"pyc`` files is the speed with which they are loaded." | ||||
msgstr "" | ||||
"Un programme ne s'exécute pas plus vite lorsqu'il est lu depuis un ``.pyc``, " | ||||
"il est cependant chargé plus vite puisque le ``.pyc`` est plut petit que le " | ||||
"``.py``." | ||||
"un programme ne s'exécute pas plus vite lorsqu'il est lu depuis un ``.pyc``, " | ||||
"il est juste chargé plus vite ;" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:229 | ||||
msgid "" | ||||
"The module :mod:`compileall` can create .pyc files for all modules in a " | ||||
"directory." | ||||
msgstr "" | ||||
"Le module :mod:`compileall` peut créer des fichiers ``.pyc`` pour tous les " | ||||
"modules d'un dossier." | ||||
"le module :mod:`compileall` peut créer des fichiers ``.pyc`` pour tous les " | ||||
"modules d'un dossier ;" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:232 | ||||
msgid "" | ||||
"There is more detail on this process, including a flow chart of the " | ||||
"decisions, in PEP 3147." | ||||
msgstr "" | ||||
"Voilà plus de détails sur le processus, ainsi qu'un organigramme des " | ||||
"decisions, dans la PEP 3147." | ||||
"vous trouvez plus de détails sur ce processus, ainsi qu'un organigramme des " | ||||
"décisions, dans la PEP 3147." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:239 | ||||
msgid "Standard Modules" | ||||
| | @ -433,13 +430,13 @@ msgstr "" | |||
"Python est accompagné d'une bibliothèque de modules standards, décrits dans " | ||||
"la documentation de la Bibliothèque Python, plus loin. Certains modules sont " | ||||
"intégrés dans l'interpréteur, ils exposent des outils qui ne font pas partie " | ||||
"du langage, mais qui font tout de même partie de l'interpréteur, soit pour " | ||||
"le côté pratique, soit pour exposer des outils essentiels tels que l'accès " | ||||
"aux appels systems. La composition de ces modules est configurable à la " | ||||
"compilation, et dépend aussi de la plateforme ciblée. Par exemple, le " | ||||
"module :mod:`winreg` n'est proposé que sur les systèmes Windows. Un module " | ||||
"mérite une attention particulière, le module :mod:`sys`, qui est présent " | ||||
"dans tous les interpréteurs Python. Les variables ``sys.ps1`` et ``sys.ps2`` " | ||||
"du langage mais qui font tout de même partie de l'interpréteur, soit pour le " | ||||
"côté pratique, soit pour exposer des outils essentiels tels que l'accès aux " | ||||
"appels système. La composition de ces modules est configurable à la " | ||||
"compilation et dépend aussi de la plateforme cible. Par exemple, le module :" | ||||
"mod:`winreg` n'est proposé que sur les systèmes Windows. Un module mérite " | ||||
"une attention particulière, le module :mod:`sys`, qui est présent dans tous " | ||||
"les interpréteurs Python. Les variables ``sys.ps1`` et ``sys.ps2`` " | ||||
"définissent les chaînes d'invites principales et secondaires : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:266 | ||||
| | @ -459,11 +456,11 @@ msgid "" | |||
"standard list operations::" | ||||
msgstr "" | ||||
"La variable ``sys.path`` est une liste de chaînes qui détermine les chemins " | ||||
"de recherche de modules pour l'interpréteur. Il est initialisé à un chemin " | ||||
"par défaut pris de la variable d'environnement :envvar:`PYTHONPATH`, ou " | ||||
"d'une valeur par défaut interne si :envvar:`PYTHONPATH` n'est pas définie. " | ||||
"``sys.path`` est modifiable en utilisant les opérations habituelles des " | ||||
"listes : ::" | ||||
"de recherche de modules pour l'interpréteur. Elle est initialisée à un " | ||||
"chemin par défaut pris de la variable d'environnement :envvar:`PYTHONPATH` " | ||||
"ou d'une valeur par défaut interne si :envvar:`PYTHONPATH` n'est pas " | ||||
"définie. ``sys.path`` est modifiable en utilisant les opérations habituelles " | ||||
"des listes : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:281 | ||||
msgid "The :func:`dir` Function" | ||||
| | @ -475,19 +472,20 @@ msgid "" | |||
"defines. It returns a sorted list of strings::" | ||||
msgstr "" | ||||
"La fonction interne :func:`dir` est utilisée pour trouver quels noms sont " | ||||
"définies par un module. Elle donne une liste triée de chaînes :;" | ||||
"définis par un module. Elle donne une liste de chaînes classées par ordre " | ||||
"lexicographique : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:308 | ||||
msgid "" | ||||
"Without arguments, :func:`dir` lists the names you have defined currently::" | ||||
msgstr "Sans paramètres, :func:`dir` listes les noms actuellement définis : ::" | ||||
msgstr "Sans paramètre, :func:`dir` liste les noms actuellement définis : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:316 | ||||
msgid "" | ||||
"Note that it lists all types of names: variables, modules, functions, etc." | ||||
msgstr "" | ||||
"Notez qu'elle liste tout types de noms : les variables, fonctions, modules, " | ||||
"etc." | ||||
"Notez qu'elle liste tous les types de noms : les variables, fonctions, " | ||||
"modules, etc." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:320 | ||||
msgid "" | ||||
| | @ -495,8 +493,9 @@ msgid "" | |||
"you want a list of those, they are defined in the standard module :mod:" | ||||
"`builtins`::" | ||||
msgstr "" | ||||
":func:`dir` ne liste ni les fonctions primitives ni les variables internes. " | ||||
"Si vous voulez les lister, ils sont définis dans le module :mod:`builtins` ::" | ||||
":func:`dir` ne liste ni les fonctions primitives, ni les variables internes. " | ||||
"Si vous voulez les lister, elles sont définies dans le module " | ||||
":mod:`builtins` : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:359 | ||||
msgid "Packages" | ||||
| | @ -513,7 +512,7 @@ msgid "" | |||
"from having to worry about each other's module names." | ||||
msgstr "" | ||||
"Les paquets sont un moyen de structurer les espaces de noms des modules " | ||||
"Python en utilisant une notations \"pointée\". Par exemple, le nom de " | ||||
"Python en utilisant une notation \"pointée\". Par exemple, le nom de " | ||||
"module :mod:`A.B` désigne le sous-module ``B`` du paquet ``A``. De la même " | ||||
"manière que l'utilisation des modules évite aux auteurs de différents " | ||||
"modules d'avoir à se soucier des noms de variables globales des autres, " | ||||
| | @ -535,26 +534,26 @@ msgid "" | |||
"operations. Here's a possible structure for your package (expressed in " | ||||
"terms of a hierarchical filesystem):" | ||||
msgstr "" | ||||
"Imaginez que vous voulez constuire une collections de modules (un \"paquet" | ||||
"\") pour gérer uniformément les fichiers contenant du son et des données " | ||||
"Imaginez que vous voulez construire un ensemble de modules (un \"paquet\") " | ||||
"pour gérer uniformément les fichiers contenant du son et des données " | ||||
"sonores. Il existe un grand nombre de formats de fichiers pour stocker du " | ||||
"son (généralement repérés par leur extension, par exemple :file:`.wav`, :" | ||||
"file:`.aiff`, :file:`.au`), vous aurez donc envie de créer et maintenir un " | ||||
"son (généralement identifiés par leur extension, par exemple :file:`.wav`, :" | ||||
"file:`.aiff`, :file:`.au`), vous avez donc besoin de créer et maintenir un " | ||||
"nombre croissant de modules pour gérer la conversion entre tous ces formats. " | ||||
"Il existe aussi tout une floppée d'opérations que vous voudriez pouvoir " | ||||
"faire sur du son (mixer, ajouter de l'écho, égaliser, ajouter un effet " | ||||
"stéréo articifiel), donc, en plus des modules de conversion, vous allez " | ||||
"écrire un nombre illimité de modules permettant d'effectuer ces opérations. " | ||||
"Voici une structure possible pour votre paquet (exprimée comme un système de " | ||||
"fichier, hierarchiquement) :" | ||||
"Vous voulez aussi pouvoir appliquer un certain nombre d'opérations sur ces " | ||||
"sons : mixer, ajouter de l'écho, égaliser, ajouter un effet stéréo " | ||||
"artificiel, etc. Donc, en plus des modules de conversion, vous allez écrire " | ||||
"une myriade de modules permettant d'effectuer ces opérations. Voici une " | ||||
"structure possible pour votre paquet (exprimée sous la forme d'une " | ||||
"arborescence de fichiers :" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:406 | ||||
msgid "" | ||||
"When importing the package, Python searches through the directories on ``sys." | ||||
"path`` looking for the package subdirectory." | ||||
msgstr "" | ||||
"Lorsqu'il importe des paquets, Python cherche dans chaque dossiers de ``sys." | ||||
"path``, à la recherche du dossier du paquet." | ||||
"Lorsqu'il importe des paquets, Python cherche dans chaque dossier de ``sys." | ||||
"path`` un sous-dossier du nom du paquet." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:409 | ||||
msgid "" | ||||
| | @ -567,10 +566,10 @@ msgid "" | |||
"described later." | ||||
msgstr "" | ||||
"Les fichiers :file:`__init__.py` sont nécessaires pour que Python considère " | ||||
"les dossiers comme contenant des paquets, ça évite des dossiers ayant des " | ||||
"noms courants comme ``string`` de cacher des modules qui auraient été " | ||||
"trouvés plus loin dans les dossiers de recherche. Dans le plus simple des " | ||||
"cas, :file:`__init__.py` peut être vide, mais il peut exécuter du code " | ||||
"les dossiers comme contenant des paquets, cela évite que des dossiers ayant " | ||||
"des noms courants comme ``string`` ne masquent des modules qui auraient été " | ||||
"trouvés plus tard dans la recherche des dossiers. Dans le plus simple des " | ||||
"cas, :file:`__init__.py` peut être vide, mais il peut aussi exécuter du code " | ||||
"d'initialisation pour son paquet ou configurer la variable ``__all__`` " | ||||
"(documentée plus loin)." | ||||
| ||||
| | @ -587,8 +586,8 @@ msgid "" | |||
"This loads the submodule :mod:`sound.effects.echo`. It must be referenced " | ||||
"with its full name. ::" | ||||
msgstr "" | ||||
"Chargera le sous-module :mod:`sound.effects.echo`. Il dit être référencé par " | ||||
"son nom complet. ::" | ||||
"charge le sous-module :mod:`sound.effects.echo`. Il doit alors être " | ||||
"référencé par son nom complet. ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:426 | ||||
msgid "An alternative way of importing the submodule is::" | ||||
| | @ -599,15 +598,15 @@ msgid "" | |||
"This also loads the submodule :mod:`echo`, and makes it available without " | ||||
"its package prefix, so it can be used as follows::" | ||||
msgstr "" | ||||
"Chargera aussi le sous-module :mod:`echo`, et le rendra disponible dans le " | ||||
"préfixe du paquet, il peut donc être utilisé comme ça : ::" | ||||
"charge aussi le sous-module :mod:`echo` et le rend disponible sans avoir à " | ||||
"indiquer le préfixe du paquet. Il peut donc être utilisé comme ceci : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:435 | ||||
msgid "" | ||||
"Yet another variation is to import the desired function or variable " | ||||
"directly::" | ||||
msgstr "" | ||||
"Une autre méthode consisterait à importer la fonction ou variable désirée " | ||||
"Une autre méthode consiste à importer la fonction ou la variable désirée " | ||||
"directement : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:439 | ||||
| | @ -615,7 +614,7 @@ msgid "" | |||
"Again, this loads the submodule :mod:`echo`, but this makes its function :" | ||||
"func:`echofilter` directly available::" | ||||
msgstr "" | ||||
"Le sous-module :mod:`echo` est toujours chargé, mais ici la fonction :func:" | ||||
"Le sous-module :mod:`echo` est toujours chargé mais ici la fonction :func:" | ||||
"`echofilter` est disponible directement : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:444 | ||||
| | @ -627,12 +626,12 @@ msgid "" | |||
"module and attempts to load it. If it fails to find it, an :exc:" | ||||
"`ImportError` exception is raised." | ||||
msgstr "" | ||||
"Notez que lorsque vous utilisez ``from package import item``, ``item`` peut " | ||||
"aussi bien être un sous-module, un sous-paquet, ou simplement un nom déclaré " | ||||
"dans le paquet (une variable, une fonction ou une classe). L'instruction " | ||||
"``import`` cherche en premier si ``item`` est définit dans le paquet, s'il " | ||||
"ne l'est pas, elle cherche à charger un module, et si elle n'y arrive pas, " | ||||
"une exception :exc:`ImportError` est levée." | ||||
"Notez que lorsque vous utilisez ``from package import element``, ``element`` " | ||||
"peut aussi bien être un sous-module, un sous-paquet ou simplement un nom " | ||||
"déclaré dans le paquet (une variable, une fonction ou une classe). " | ||||
"L'instruction ``import`` cherche en premier si ``element`` est défini dans " | ||||
"le paquet ; s'il ne l'est pas, elle cherche à charger un module et, si elle " | ||||
"n'en trouve pas, une exception :exc:`ImportError` est levée." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:451 | ||||
msgid "" | ||||
| | @ -641,10 +640,11 @@ msgid "" | |||
"a package but can't be a class or function or variable defined in the " | ||||
"previous item." | ||||
msgstr "" | ||||
"Au contraire, en utilisant la syntaxe ``import item.item.subitement." | ||||
"subsubitem``, chaque ``item`` sauf le dernier doivent être des paquets. Le " | ||||
"dernier ``item`` peut être un module ou un paquet, mais ne peut être ni une " | ||||
"fonction, ni une classe, ni une variable défini dans l'élément précédent." | ||||
"Au contraire, en utilisant la syntaxe ``import element.souselement." | ||||
"soussouselement``, chaque ``element`` sauf le dernier doit être un paquet. " | ||||
"Le dernier ``element`` peut être un module ou un paquet, mais ne peut être " | ||||
"ni une fonction, ni une classe, ni une variable définie dans l'élément " | ||||
"précédent." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:460 | ||||
msgid "Importing \\* From a Package" | ||||
| | @ -659,11 +659,11 @@ msgid "" | |||
"effects that should only happen when the sub-module is explicitly imported." | ||||
msgstr "" | ||||
"Qu'arrive-il lorsqu'un utilisateur écrit ``from sound.effects import *`` ? " | ||||
"Dans l'idéal on pourrait espérer que ça irait chercher tous les sous-modules " | ||||
"du paquet sur le système de fichiers, et qu'ils seraient tous importés. Ça " | ||||
"pourrait être long, et importer certains sous-modules pourrait avoir des " | ||||
"effets secondaires indésirables, du moins, désirés seulement lorsque le sous " | ||||
"module est importé explicitement." | ||||
"Idéalement, on pourrait espérer que Python aille chercher tous les sous-modules " | ||||
"du paquet sur le système de fichiers et qu'ils seraient tous importés. Cela " | ||||
"pourrait être long et importer certains sous-modules pourrait avoir des " | ||||
"effets secondaires indésirables ou, du moins, désirés seulement lorsque le " | ||||
"sous-module est importé explicitement." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:470 | ||||
msgid "" | ||||
| | @ -679,21 +679,22 @@ msgid "" | |||
msgstr "" | ||||
"La seule solution, pour l'auteur du paquet, est de fournir un index " | ||||
"explicite du contenu du paquet. L'instruction :keyword:`import` utilise la " | ||||
"convention suivante: Si le fichier :file:`__init__.py` du paquet définit une " | ||||
"liste nommée ``__all__``, cette liste sera utilisée comme liste des noms de " | ||||
"modules devant être importés lorsque ``from package import *`` est utilisé. " | ||||
"C'est le rôle de l'auteur du paquet de maintenir cette liste à jour lorsque " | ||||
"de nouvelles version du paquet sont publiées. Un auteur de paquet peut aussi " | ||||
"décider de ne pas autoriser d'importer ``*`` de leur paquet. Par exemple, le " | ||||
"fichier :file:`sound/effects/__init__.py` peut contenir le code suivant : ::" | ||||
"convention suivante : si le fichier :file:`__init__.py` du paquet définit " | ||||
"une liste nommée ``__all__``, cette liste est utilisée comme liste des noms " | ||||
"de modules devant être importés lorsque ``from package import *`` est " | ||||
"utilisé. Il est de la responsabilité de l'auteur du paquet de maintenir " | ||||
"cette liste à jour lorsque de nouvelles versions du paquet sont publiées. Un " | ||||
"auteur de paquet peut aussi décider de ne pas autoriser d'importer ``*`` " | ||||
"pour son paquet. Par exemple, le fichier :file:`sound/effects/__init__.py` " | ||||
"peut contenir le code suivant : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:482 | ||||
msgid "" | ||||
"This would mean that ``from sound.effects import *`` would import the three " | ||||
"named submodules of the :mod:`sound` package." | ||||
msgstr "" | ||||
"Cela signifierai que ``from sound.effects import *`` importait les trois " | ||||
"sous-modules du paquet :mod:`sound`." | ||||
"Cela signifie que ``from sound.effects import *`` importe les trois sous-" | ||||
"modules explicitement désignés du paquet :mod:`sound`." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:485 | ||||
msgid "" | ||||
| | @ -707,13 +708,13 @@ msgid "" | |||
"explicitly loaded by previous :keyword:`import` statements. Consider this " | ||||
"code::" | ||||
msgstr "" | ||||
"Si ``__all__`` n'est pas défini, l'instruction ``from sound.effects import " | ||||
"*`` n'importera *pas* tous les sous-modules du paquet :mod:`sound.effects` " | ||||
"dans l'espace de nom courant, mais s'assurera seulement que le paquet :mod:" | ||||
"`sound.effects` à été importé (que tout le code du fichier :file:`__init__." | ||||
"py` à été executé) et importe ensuite n'importe quels noms définis dans le " | ||||
"paquet. Cela inclu tous les noms définis (et sous modules chargés " | ||||
"explicitement) par :file:`__init__.py`. Elle inclu aussi tous les sous-" | ||||
"Si ``__all__`` n'est pas définie, l'instruction ``from sound.effects import " | ||||
"*`` n'importe *pas* tous les sous-modules du paquet :mod:`sound.effects` " | ||||
"dans l'espace de noms courant mais s'assure seulement que le paquet :mod:" | ||||
"`sound.effects` a été importé (i.e. que tout le code du fichier :file:" | ||||
"`__init__.py` a été exécuté) et importe ensuite les noms définis dans le " | ||||
"paquet. Cela inclut tous les noms définis (et sous-modules chargés " | ||||
"explicitement) par :file:`__init__.py`. Sont aussi inclus tous les sous-" | ||||
"modules du paquet ayant été chargés explicitement par une instruction :" | ||||
"keyword:`import`. Typiquement : ::" | ||||
| ||||
| | @ -725,9 +726,9 @@ msgid "" | |||
"when ``__all__`` is defined.)" | ||||
msgstr "" | ||||
"Dans cet exemple, les modules :mod:`echo` et :mod:`surround` sont importés " | ||||
"dans l'espace de noms courant lorsque ``from...import`` est exécuté, parce " | ||||
"qu'ils sont définis dans le paquet :mod:`sound.effects`. (Cela fonctionne " | ||||
"lorsque ``__all__`` est défini.)" | ||||
"dans l'espace de noms courant lorsque ``from...import`` est exécuté parce " | ||||
"qu'ils sont définis dans le paquet :mod:`sound.effects` (cela fonctionne " | ||||
"aussi lorsque ``__all__`` est définie)." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:503 | ||||
msgid "" | ||||
| | @ -738,7 +739,7 @@ msgstr "" | |||
"Bien que certains modules ont été pensés pour n'exporter que les noms " | ||||
"respectant une certaine structure lorsque ``import *`` est utilisé, ``import " | ||||
"*`` reste considéré comme une mauvaise pratique dans du code à destination " | ||||
"d'un environnement de production.Q" | ||||
"d'un environnement de production." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:507 | ||||
msgid "" | ||||
| | @ -747,10 +748,10 @@ msgid "" | |||
"importing module needs to use submodules with the same name from different " | ||||
"packages." | ||||
msgstr "" | ||||
"Rappelez-vous qu'il n'y a rien de mauvais à utiliser ``from Package import " | ||||
"specific_submodule`` ! C'est d'ailleurs la manière recommandée à moins que " | ||||
"le module qui fait les imports ai besoin de sous-modules ayant le même nom " | ||||
"mais provenant se paquets différents." | ||||
"Rappelez-vous que rien ne vous empêche d'utiliser ``from paquet import " | ||||
"sous_module_specifique`` ! C'est d'ailleurs la manière recommandée, à moins " | ||||
"que le module qui fait les imports ait besoin de sous-modules ayant le même " | ||||
"nom mais provenant de paquets différents." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:514 | ||||
msgid "Intra-package References" | ||||
| | @ -778,9 +779,9 @@ msgid "" | |||
"`surround` module for example, you might use::" | ||||
msgstr "" | ||||
"Il est aussi possible d'écrire des imports relatifs de la forme ``from " | ||||
"module import name``. Ces imports sont préfixés par des points pour indiquer " | ||||
"leur origine (paquet courant ou parent). Depuis le module :mod:`surround`, " | ||||
"par exemple vous pourriez faire : ::" | ||||
"module import name``. Ces imports relatifs sont préfixés par des points pour " | ||||
"indiquer leur origine (paquet courant ou parent). Depuis le module :mod:" | ||||
"`surround`, par exemple vous pouvez écrire : ::" | ||||
| ||||
#: ../Doc/tutorial/modules.rst:531 | ||||
msgid "" | ||||
| | @ -791,7 +792,7 @@ msgid "" | |||
msgstr "" | ||||
"Notez que les imports relatifs se fient au nom du module actuel. Puisque le " | ||||
"nom du module principal est toujours ``\"__main__\"``, les modules utilisés " | ||||
"par le module principal d'une application ne peuvent être importées que par " | ||||
"par le module principal d'une application ne peuvent être importés que par " | ||||
"des imports absolus." | ||||
| ||||
#: ../Doc/tutorial/modules.rst:537 | ||||
| | @ -806,9 +807,9 @@ msgid "" | |||
"This variable can be modified; doing so affects future searches for modules " | ||||
"and subpackages contained in the package." | ||||
msgstr "" | ||||
"Les paquets exposent un attribut supplémentaire, :attr:`__path__`, contenant " | ||||
"une liste, initialisée avant l'exécution du fichier :file:`__init__.py`, " | ||||
"contenant le nom de son dossier dans le système de fichier. Cette liste peut " | ||||
"Les paquets possèdent un attribut supplémentaire, :attr:`__path__`, qui est " | ||||
"une liste initialisée avant l'exécution du fichier :file:`__init__.py`, " | ||||
"contenant le nom de son dossier dans le système de fichiers. Cette liste peut " | ||||
"être modifiée, altérant ainsi les futures recherches de modules et sous-" | ||||
"paquets contenus dans le paquet." | ||||
| ||||
| | @ -830,6 +831,6 @@ msgid "" | |||
"execution of a module-level function definition enters the function name in " | ||||
"the module's global symbol table." | ||||
msgstr "" | ||||
"En réalité, la déclaration d'une fonction est elle même une instruction, " | ||||
"sont l'exécution enregistre le nom de la fonction dans la table des symboles " | ||||
"En réalité, la déclaration d'une fonction est elle-même une instruction ; " | ||||
"son exécution enregistre le nom de la fonction dans la table des symboles " | ||||
"globaux du module." | ||||
| | | |||
Loading…
Add table
Add a link
Reference in a new issue