diff --git a/reference/datamodel.po b/reference/datamodel.po index bc1577bc..bb322662 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Python 3.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-23 09:03+0100\n" -"PO-Revision-Date: 2018-03-29 23:02+0200\n" +"PO-Revision-Date: 2018-04-09 23:05+0200\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,10 +32,10 @@ msgid "" "sense, and in conformance to Von Neumann's model of a \"stored program " "computer,\" code is also represented by objects.)" msgstr "" -"En Python, les données sont représentées sous forme d':dfn:`objets`. Toutes " +"En Python, les données sont représentées sous forme :dfn:`d'objets`. Toutes " "les données d'un programme Python sont représentées par des objets ou par " "des relations entre les objets (dans un certain sens, et en conformité avec " -"le modèle de Von Neumann d'\"ordinateur à programme enregistré\", le code " +"le modèle de Von Neumann \"d'ordinateur à programme enregistré\", le code " "est aussi représenté par des objets)." #: ../Doc/reference/datamodel.rst:35 @@ -46,7 +46,7 @@ msgid "" "two objects; the :func:`id` function returns an integer representing its " "identity." msgstr "" -"Chaque objet possède un identifiant, un type et une valeur. L'*identifiant* " +"Chaque objet possède un identifiant, un type et une valeur. *L'identifiant* " "d'un objet ne change jamais après sa création ; vous pouvez vous le " "représenter comme l'adresse de l'objet en mémoire. L'opérateur ':keyword:" "`is`' compare les identifiants de deux objets ; la fonction :func:`id` " @@ -92,7 +92,7 @@ msgstr "" "comme immuable parce que l'ensemble des objets qu'il contient ne peut pas " "être modifié. Ainsi, l'immuabilité n'est pas strictement équivalente au fait " "d'avoir une valeur non modifiable, c'est plus subtil. La muabilité d'un " -"objet est définie par son type ; par exemple, les nombres, chaines de " +"objet est définie par son type ; par exemple, les nombres, les chaînes de " "caractères et les tuples sont immuables alors que les dictionnaires et les " "listes sont muables." @@ -108,7 +108,7 @@ msgstr "" "plus être atteint, il a vocation à être supprimé par le ramasse-miettes " "(*garbage-collector* en anglais). L'implémentation peut retarder cette " "opération ou même ne pas la faire du tout --- la façon dont fonctionne le " -"ramasse-miette est particulier à chaque implémentation, l'important étant " +"ramasse-miette est particulière à chaque implémentation, l'important étant " "qu'il ne supprime pas d'objet qui peut encore être atteint." #: ../Doc/reference/datamodel.rst:73 @@ -182,7 +182,7 @@ msgstr "" "intégrantes de la valeur d'un conteneur. Dans la plupart des cas, lorsque " "nous parlons de la valeur d'un conteneur, nous parlons des valeurs, pas les " "identifiants des objets contenus ; cependant, lorsque nous parlons de la " -"mutabilité d'un conteneur, seuls les identifiants des objets immédiatement " +"muabilité d'un conteneur, seuls les identifiants des objets immédiatement " "contenus sont concernés. Ainsi, si un conteneur immuable (comme un tuple) " "contient une référence à un objet muable, sa valeur change si cet objet " "muable est modifié." @@ -205,8 +205,8 @@ msgstr "" "renvoyer une référence à n'importe quel objet existant avec le même type et " "la même valeur, alors que pour les objets muables cela n'est pas autorisé. " "Par exemple, après ``a = 1 ; b = 1``, ``a`` et ``b`` peuvent ou non se " -"référer au même objet avec la valeur un, en fonction de l'implémentation, " -"mais après ``c = [] ; d = []``, il est garanti que ``c`` et ``d`` font " +"référer au même objet avec la valeur un, en fonction de l'implémentation. " +"Mais après ``c = [] ; d = []``, il est garanti que ``c`` et ``d`` font " "référence à deux listes vides distinctes nouvellement créées. Notez que ``c " "= d = []`` attribue le même objet à ``c`` et ``d``." @@ -239,12 +239,12 @@ msgid "" msgstr "" "Quelques descriptions des types ci-dessous contiennent un paragraphe listant " "des \"attributs spéciaux\". Ces attributs donnent accès à l'implémentation " -"et n'ont pas vocation à être utilisé en général. Leur définition peut " +"et n'ont, en général, pas vocation à être utilisés. Leur définition peut " "changer dans le futur." #: ../Doc/reference/datamodel.rst:150 msgid "None" -msgstr "" +msgstr "None" #: ../Doc/reference/datamodel.rst:147 msgid "" @@ -275,7 +275,7 @@ msgstr "" "Ce type ne possède qu'une seule valeur. Il n'existe qu'un seul objet avec " "cette valeur. Vous accédez à cet objet avec le nom natif ``NotImplemented``. " "Les méthodes numériques et les comparaisons riches doivent renvoyer cette " -"valeur si elles n'implémente pas l'opération pour les opérandes fournies " +"valeur si elles n'implémentent pas l'opération pour les opérandes fournies " "(l'interpréteur essaie alors l'opération en permutant les opérandes ou tout " "autre stratégie de contournement, en fonction de l'opérateur). Sa valeur " "booléenne est vraie." @@ -359,7 +359,7 @@ msgstr "" "être stockés en mémoire (virtuelle). Afin de pouvoir effectuer des décalages " "et appliquer des masques, on considère qu'ils ont une représentation " "binaire. Les nombres négatifs sont représentés comme une variante du " -"complément à 2, qui donne l'illusion d'une chaine infinie de bits de signe " +"complément à 2, qui donne l'illusion d'une chaîne infinie de bits de signe " "s'étendant vers la gauche." #: ../Doc/reference/datamodel.rst:212 @@ -375,12 +375,12 @@ msgid "" "being that when converted to a string, the strings ``\"False\"`` or ``\"True" "\"`` are returned, respectively." msgstr "" -"ils représentent les valeurs vrai et faux. Deux objets, respectivement " -"``False`` et ``True``, sont les seuls objets booléens. Le type booléen est " -"un sous-type du type entier et les valeurs booléennes se comportent comme " -"les valeurs, respectivement, 0 et 1 dans presque tous les contextes. " -"L'exception concerne la conversion en chaîne de caractères où, " -"respectivement, ``\"False\"`` et ``True`` sont renvoyées " +"Ils représentent les valeurs \"faux\" et \"vrai\". Deux objets, ``False`` et " +"``True``, sont les seuls objets booléens. Le type booléen est un sous-type " +"du type entier et les valeurs booléennes se comportent comme les valeurs 0 " +"(pour ``False``) et 1 (pour ``True``) dans presque tous les contextes. " +"L'exception concerne la conversion en chaîne de caractères où ``\"False\"`` " +"et ``\"True\"`` sont renvoyées." #: ../Doc/reference/datamodel.rst:216 msgid "" @@ -394,7 +394,7 @@ msgstr "" #: ../Doc/reference/datamodel.rst:232 msgid ":class:`numbers.Real` (:class:`float`)" -msgstr "Nombres réels :class:`numbers.Real` (:class:`float`)" +msgstr ":class:`numbers.Real` (:class:`float`)" #: ../Doc/reference/datamodel.rst:226 msgid "" @@ -418,7 +418,7 @@ msgstr "" #: ../Doc/reference/datamodel.rst:242 msgid ":class:`numbers.Complex` (:class:`complex`)" -msgstr "Nombres complexes :class:`numbers.Complex` (:class:`complex`)" +msgstr ":class:`numbers.Complex` (:class:`complex`)" #: ../Doc/reference/datamodel.rst:239 msgid "" @@ -445,11 +445,11 @@ msgid "" "When the length of a sequence is *n*, the index set contains the numbers 0, " "1, ..., *n*-1. Item *i* of sequence *a* is selected by ``a[i]``." msgstr "" -"Ils représentent des ensembles de taille finie indexés par des entiers " +"Ils représentent des ensembles de taille finie indicés par des entiers " "positifs ou nuls. La fonction native :func:`len` renvoie le nombre " "d'éléments de la séquence. Quand la longueur d'une séquence est *n*, " -"l'ensemble des index contient les entiers 0, 1, ... *n*-1. L'élément d'index " -"*i* de la séquence *a* est accédé par ``a[i]``." +"l'ensemble des indices contient les entiers 0, 1 ..., *n*-1. L'élément " +"d'indice *i* de la séquence *a* est accédé par ``a[i]``." #: ../Doc/reference/datamodel.rst:259 msgid "" @@ -458,11 +458,11 @@ msgid "" "a sequence of the same type. This implies that the index set is renumbered " "so that it starts at 0." msgstr "" -"Les séquences gèrent le saucissonnage (*slicing* en anglais) : ``a[i:j]`` " -"sélectionne tous les éléments d'index *k* tel que *i* ``<=`` *k* ``<`` *j*. " -"Quand on l'utilise dans une expression, la tranche est du même type que la " -"séquence. Ceci veut dire que l'ensemble des index est renuméroté de manière " -"à partir de 0." +"Les séquences peuvent aussi être découpées (*slicing* en anglais) : ``a[i:" +"j]`` sélectionne tous les éléments d'indice *k* tel que *i* ``<=`` *k* ``<`` " +"*j*. Quand on l'utilise dans une expression, la tranche est du même type que " +"la séquence. Ceci veut dire que l'ensemble des indices est renuméroté de " +"manière à partir de 0." #: ../Doc/reference/datamodel.rst:264 msgid "" @@ -470,14 +470,14 @@ msgid "" "parameter: ``a[i:j:k]`` selects all items of *a* with index *x* where ``x = " "i + n*k``, *n* ``>=`` ``0`` and *i* ``<=`` *x* ``<`` *j*." msgstr "" -"Quelques séquences gèrent le \"saucissonnage étendu\" (*extended slicing* en " +"Quelques séquences gèrent le \"découpage étendu\" (*extended slicing* en " "anglais) avec un troisième paramètre : ``a[i:j:k]`` sélectionne tous les " -"éléments de *a* d'index *x* où ``x = i + n*k``, *n* ``>=`` ``0`` et *i* " -"``<=`` *x* ``<`` *j*." +"éléments de *a* d'indice *x* où ``x = i + n*k``, avec *n* ``>=`` ``0`` et " +"*i* ``<=`` *x* ``<`` *j*." #: ../Doc/reference/datamodel.rst:268 msgid "Sequences are distinguished according to their mutability:" -msgstr "Les séquences se différencient en fonction de leur mutabilité." +msgstr "Les séquences se différencient en fonction de leur muabilité :" #: ../Doc/reference/datamodel.rst:325 msgid "Immutable sequences" @@ -493,7 +493,7 @@ msgstr "" "Un objet de type de séquence immuable ne peut pas être modifié une fois " "qu'il a été créé. Si l'objet contient des références à d'autres objets, ces " "autres objets peuvent être muables et peuvent être modifiés ; cependant, les " -"objets directement référencés par un objet immuable ne peut pas être " +"objets directement référencés par un objet immuable ne peuvent pas être " "modifiés." #: ../Doc/reference/datamodel.rst:280 @@ -518,8 +518,8 @@ msgid "" "to achieve the opposite." msgstr "" "Une chaîne de caractères (*string* en anglais) est une séquence de valeurs " -"qui représentent des caractères Unicode. Tous les caractères dont le code " -"est dans l'intervalle ``U+0000 - U+10FFFF`` peut être représenté dans une " +"qui représentent des caractères Unicode. Tout caractère dont le code est " +"dans l'intervalle ``U+0000 - U+10FFFF`` peut être représenté dans une " "chaîne. Python ne possède pas de type :c:type:`char` ; à la place, chaque " "caractère Unicode dans la chaîne est représenté par un objet chaîne de " "longueur ``1``. La fonction native :func:`ord` convertit un caractère " @@ -563,12 +563,12 @@ msgid "" "create bytes objects. Also, bytes objects can be decoded to strings via " "the :meth:`~bytes.decode` method." msgstr "" -"Les objets bytes sont des tableaux immuables. Les éléments sont des octets " +"Les objets *bytes* sont des tableaux immuables. Les éléments sont des octets " "(donc composés de 8 bits), représentés par des entiers dans l'intervalle 0 à " -"255 inclus. Les littéraux bytes (tels que ``b'abc'``) et la fonction native " -"constructeur :func:`bytes()` peuvent être utilisés pour créer des objets " -"bytes. Aussi, un objet bytes peut être décodé vers une chaîne *via* la " -"méthode :meth:`~bytes.decode`." +"255 inclus. Les littéraux *bytes* (tels que ``b'abc'``) et la fonction " +"native constructeur :func:`bytes()` peuvent être utilisés pour créer des " +"objets *bytes*. Aussi, un objet *bytes* peut être décodé vers une chaîne " +"*via* la méthode :meth:`~bytes.decode`." #: ../Doc/reference/datamodel.rst:359 msgid "Mutable sequences" @@ -581,8 +581,9 @@ msgid "" "`del` (delete) statements." msgstr "" "Les séquences muables peuvent être modifiées après leur création. Les " -"notations de tranches et de sous-ensemble peuvent être utilisées en tant que " -"cible d'une assignation et de l'instruction :keyword:`del` (suppression)." +"notations de tranches et de sous-ensembles peuvent être utilisées en tant " +"que cibles d'une assignation ou de l'instruction :keyword:`del` " +"(suppression)." #: ../Doc/reference/datamodel.rst:339 msgid "There are currently two intrinsic mutable sequence types:" @@ -600,8 +601,8 @@ msgid "" msgstr "" "N'importe quel objet Python peut être élément d'une liste. Les listes sont " "créées en plaçant entre crochets une liste d'expressions dont les éléments " -"sont séparés par des virgules (notez qu'il n'est pas nécessaire de " -"particulariser la création de listes de longueur 0 ou 1)." +"sont séparés par des virgules (notez que les listes de longueur 0 ou 1 ne " +"sont pas des cas particuliers)." #: ../Doc/reference/datamodel.rst:354 msgid "Byte Arrays" @@ -616,17 +617,17 @@ msgid "" msgstr "" "Un objet *bytearray* est un tableau muable. Il est créé par la fonction " "native constructeur :func:`bytearray`. À part la propriété d'être muable (et " -"donc de ne pas pouvoir être haché), les tableaux d'octets possèdent la même " -"interface et les mêmes fonctionnalités que les objets immuables :class:" -"`bytes`." +"donc de ne pas pouvoir calculer une empreinte par hachage), les tableaux " +"d'octets possèdent la même interface et les mêmes fonctionnalités que les " +"objets immuables :class:`bytes`." #: ../Doc/reference/datamodel.rst:358 msgid "" "The extension module :mod:`array` provides an additional example of a " "mutable sequence type, as does the :mod:`collections` module." msgstr "" -"Le module d'extension :mod:`array` possède un autre exemple de type de " -"séquence muable, de même que le module :mod:`collections`. " +"Le module d'extension :mod:`array` fournit un autre exemple de type de " +"séquence muable, de même que le module :mod:`collections`." #: ../Doc/reference/datamodel.rst:393 msgid "Set types" @@ -642,7 +643,7 @@ msgid "" "union, difference, and symmetric difference." msgstr "" "Ils représentent les ensembles d'objets, non ordonnés, finis et dont les " -"éléments sont uniques. Tels quels, on ne peut pas y accéder par un index. " +"éléments sont uniques. Tels quels, ils ne peuvent pas être indicés. " "Cependant, il est possible d'itérer dessus et la fonction native :func:`len` " "renvoie le nombre d'éléments de l'ensemble. Les utilisations classiques des " "ensembles sont les tests d'appartenance rapides, la suppression de doublons " @@ -697,7 +698,7 @@ msgstr "" #: ../Doc/reference/datamodel.rst:430 msgid "Mappings" -msgstr "Tableaux de correspondance" +msgstr "Tableaux de correspondances" #: ../Doc/reference/datamodel.rst:401 msgid "" @@ -707,17 +708,18 @@ msgid "" "assignments or :keyword:`del` statements. The built-in function :func:`len` " "returns the number of items in a mapping." msgstr "" -"Ils représentent les ensembles finis d'objets indexés par des ensembles " -"index arbitraires. La notation ``a[k]`` sélectionne l'élément indexé par " +"Ils représentent les ensembles finis d'objets indicés par des ensembles " +"index arbitraires. La notation ``a[k]`` sélectionne l'élément indicé par " "``k`` dans le tableau de correspondance ``a`` ; elle peut être utilisée dans " "des expressions, comme cible d'une assignation ou avec l'instruction :" "keyword:`del`. La fonction native :func:`len` renvoie le nombre d'éléments " -"dans le tableau de correspondance." +"dans le tableau de correspondances." #: ../Doc/reference/datamodel.rst:407 msgid "There is currently a single intrinsic mapping type:" msgstr "" -"Il n'existe actuellement qu'un seul type natif pour les correspondances :" +"Il n'existe actuellement qu'un seul type natif pour les tableaux de " +"correspondances :" #: ../Doc/reference/datamodel.rst:430 msgid "Dictionaries" @@ -734,16 +736,16 @@ msgid "" "numbers compare equal (e.g., ``1`` and ``1.0``) then they can be used " "interchangeably to index the same dictionary entry." msgstr "" -"Ils représentent les ensembles finis d'objets indexés par des valeurs " +"Ils représentent les ensembles finis d'objets indicés par des valeurs " "presqu'arbitraires. Les seuls types de valeurs non reconnus comme clés sont " -"les valeurs contenant des listes, des dictionnaires ou autre types muables " -"qui sont comparés par valeur plutôt que par l'identifiant de l'objet. La " -"raison de cette limitation est qu'une implémentation efficace de " +"les valeurs contenant des listes, des dictionnaires ou les autres types " +"muables qui sont comparés par valeur plutôt que par l'identifiant de " +"l'objet. La raison de cette limitation est qu'une implémentation efficace de " "dictionnaire requiert que l'empreinte par hachage des clés reste constante " "dans le temps. Les types numériques obéissent aux règles normales pour les " -"comparaisons numériques : si deux nombres sont égaux (pour l'opération de " -"comparaison, par exemple ``1`` et ``1.0``), alors ces deux nombres peuvent " -"être utilisés indifféremment pour indexer la même entrée du dictionnaire." +"comparaisons numériques : si deux nombres sont égaux pour l'opération de " +"comparaison, par exemple ``1`` et ``1.0``, alors ces deux nombres peuvent " +"être utilisés indifféremment pour désigner la même entrée du dictionnaire." #: ../Doc/reference/datamodel.rst:421 msgid "" @@ -810,8 +812,8 @@ msgid "" "The function's documentation string, or ``None`` if unavailable; not " "inherited by subclasses" msgstr "" -"Chaine de documentation de la fonction ou ``None`` s'il n'en existe pas ; " -"n'est pas héritée par les sous-classes." +"Chaîne de documentation de la fonction ou ``None`` s'il n'en existe pas ; " +"n'est pas héritée par les sous-classes" #: ../Doc/reference/datamodel.rst:473 ../Doc/reference/datamodel.rst:478 #: ../Doc/reference/datamodel.rst:481 ../Doc/reference/datamodel.rst:486 @@ -902,7 +904,9 @@ msgstr "" msgid "" "``None`` or a tuple of cells that contain bindings for the function's free " "variables." -msgstr "``None`` ou tuple XXX" +msgstr "" +"``None`` ou tuple de cellules qui contient un lien pour chaque variable " +"libre de la fonction." #: ../Doc/reference/datamodel.rst:514 msgid ":attr:`__annotations__`" @@ -914,8 +918,10 @@ msgid "" "parameter names, and ``'return'`` for the return annotation, if provided." msgstr "" "Dictionnaire contenant les annotations des paramètres. Les clés du " -"dictionnaires sont les noms des paramètres et ``return`` pour les " -"annotations de la valeur renvoyée, s'ils existent." +"dictionnaire sont les noms des paramètres et la clé ``\"return\"`` est " +"utilisée pour les annotations de la valeur renvoyée. Les entrées du " +"dictionnaire ne sont présentes que si les paramètres sont effectivement " +"annotés." #: ../Doc/reference/datamodel.rst:521 msgid ":attr:`__kwdefaults__`" @@ -944,8 +950,8 @@ msgid "" "functions. Function attributes on built-in functions may be supported in the " "future.*" msgstr "" -"Les objets fonction acceptent également l'assignation et la lecture " -"d'attributs arbitraires. Vous pouvez utiliser ces fonctions pour, par " +"Les objets fonctions acceptent également l'assignation et la lecture " +"d'attributs arbitraires. Vous pouvez utiliser cette fonctionnalité pour, par " "exemple, associer des métadonnées aux fonctions. La notation classique par " "point est utilisée pour définir et lire de tels attributs. *Notez que " "l'implémentation actuelle accepte seulement les attributs de fonction sur " @@ -958,7 +964,7 @@ msgid "" "its code object; see the description of internal types below." msgstr "" "Vous trouvez davantage d'informations sur la définition de fonctions dans le " -"code de cet objet ; regardez la description des types internes ci-dessous." +"code de cet objet ; la description des types internes est donnée plus bas." #: ../Doc/reference/datamodel.rst:603 msgid "Instance methods" @@ -981,10 +987,10 @@ msgid "" "`__module__` is the name of the module the method was defined in, or " "``None`` if unavailable." msgstr "" -"Attributs spéciaux en lecture seule : :attr:`__self__` est l'objet de " -"l'instance de classe, :attr:`__func__` est l'objet fonction ; :attr:" -"`__doc__` est la documentation de la méthode (comme ``__func__.__doc__``) ; :" -"attr:`~definition.__name__` est le nom de la méthode (comme ``__func__." +"Attributs spéciaux en lecture seule : :attr:`__self__` est l'objet instance " +"de classe, :attr:`__func__` est l'objet fonction ; :attr:`__doc__` est la " +"documentation de la méthode (comme ``__func__.__doc__``) ; :attr:" +"`~definition.__name__` est le nom de la méthode (comme ``__func__." "__name__``) ; :attr:`__module__` est le nom du module où la méthode est " "définie ou ``None`` s'il n'est pas disponible." @@ -1014,6 +1020,10 @@ msgid "" "attribute is the instance, and the method object is said to be bound. The " "new method's :attr:`__func__` attribute is the original function object." msgstr "" +"Quand un objet méthode d'instance est créé à partir d'un objet fonction " +"défini par l'utilisateur *via* une des instances, son attribut :attr:" +"`__self__` est l'instance et l'objet méthode est réputé lié. Le nouvel " +"attribut de la méthode :attr:`__func__` est l'objet fonction original." #: ../Doc/reference/datamodel.rst:571 msgid "" @@ -1022,6 +1032,11 @@ msgid "" "object, except that the :attr:`__func__` attribute of the new instance is " "not the original method object but its :attr:`__func__` attribute." msgstr "" +"Quand un objet méthode définie par l'utilisateur est créé à partir d'un " +"autre objet méthode de la classe ou de l'instance, son comportement est " +"identique à l'objet fonction sauf pour l'attribut :attr:`__func__` de la " +"nouvelle instance qui n'est pas l'objet méthode original mais son attribut :" +"attr:`__func__`." #: ../Doc/reference/datamodel.rst:577 msgid "" @@ -1030,6 +1045,10 @@ msgid "" "itself, and its :attr:`__func__` attribute is the function object underlying " "the class method." msgstr "" +"Quand un objet méthode d'instance est créé à partir d'un autre objet méthode " +"de la classe ou de l'instance, son attribut :attr:`__self__` est la classe " +"elle-même et son attribut :attr:`__func__` est l'objet fonction sous-jacent " +"la méthode de classe." #: ../Doc/reference/datamodel.rst:582 msgid "" @@ -1039,6 +1058,12 @@ msgid "" "contains a definition for a function :meth:`f`, and ``x`` is an instance of :" "class:`C`, calling ``x.f(1)`` is equivalent to calling ``C.f(x, 1)``." msgstr "" +"Quand un objet méthode d'instance est appelé, la fonction sous-jacente (:" +"attr:`__func__`) est appelée et l'objet instance de la classe (:attr:" +"`__self__`) est inséré en tête de liste des arguments. Par exemple, si :" +"class:`C` est une classe qui contient la définition d'une fonction :meth:`f` " +"et que ``x`` est une instance de :class:`C`, alors appeler ``x.f(1)`` est " +"équivalent à appeler ``C.f(x, 1)``." #: ../Doc/reference/datamodel.rst:589 msgid "" @@ -1047,6 +1072,10 @@ msgid "" "itself, so that calling either ``x.f(1)`` or ``C.f(1)`` is equivalent to " "calling ``f(C,1)`` where ``f`` is the underlying function." msgstr "" +"Quand un objet méthode d'instance est dérivé à partir d'un objet méthode de " +"classe, l'instance de classe stockée dans :attr:`__self__` est en fait la " +"classe elle-même. Ainsi, appeler ``x.f(1)`` ou ``C.f(1)`` est équivalent à " +"appeler ``f(C, 1)`` où ``f`` est la fonction sous-jacente." #: ../Doc/reference/datamodel.rst:594 msgid "" @@ -1060,10 +1089,20 @@ msgid "" "class instance are not converted to bound methods; this *only* happens when " "the function is an attribute of the class." msgstr "" +"Notez que la transformation d'objet fonction en objet méthode d'instance se " +"produit à chaque fois que l'attribut est récupéré à partir de l'instance. " +"Dans certains cas, assigner l'attribut à une variable locale et appeler " +"cette variable locale constitue une bonne optimisation. Notez aussi que " +"cette transformation n'a lieu que pour les fonctions définies par " +"l'utilisateur : les autres objets appelables (et les objets non appelables) " +"sont récupérés sans transformation. Il est aussi important de remarquer que " +"les fonctions définies par l'utilisateur qui sont attributs d'une instance " +"de classe ne sont pas converties en méthodes liées ; ceci n'a lieu que pour " +"les fonctions qui sont attributs de la classe." #: ../Doc/reference/datamodel.rst:618 msgid "Generator functions" -msgstr "" +msgstr "Fonctions générateurs" #: ../Doc/reference/datamodel.rst:610 msgid "" @@ -1077,10 +1116,19 @@ msgid "" "raised and the iterator will have reached the end of the set of values to be " "returned." msgstr "" +"Une fonction ou une méthode qui utilise l'instruction :keyword:`yield` (voir " +"la section :ref:`yield`) est appelée :dfn:`fonction générateur`. Une telle " +"fonction, lorsqu'elle est appelée, retourne toujours un objet itérateur qui " +"peut être utilisé pour exécuter le corps de la fonction : appeler la " +"méthode :meth:`iterator.__next__` de l'itérateur exécute la fonction jusqu'à " +"ce qu'elle renvoie une valeur à l'aide de l'instruction :keyword:`yield`. " +"Quand la fonction exécute l'instruction :keyword:`return` ou se termine, une " +"exception :exc:`StopIteration` est levée et l'itérateur a atteint la fin de " +"l'ensemble de valeurs qu'il peut prendre." #: ../Doc/reference/datamodel.rst:628 msgid "Coroutine functions" -msgstr "" +msgstr "Fonctions coroutines" #: ../Doc/reference/datamodel.rst:624 msgid "" @@ -1090,10 +1138,15 @@ msgid "" "as :keyword:`async with` and :keyword:`async for` statements. See also the :" "ref:`coroutine-objects` section." msgstr "" +"Une fonction ou méthode définie en utilisant :keyword:`async def` est " +"appelée :dfn:`fonction coroutine`. Une telle fonction, quand elle est " +"appelée, renvoie un objet :term:`coroutine`. Elle peut contenir des " +"expressions :keyword:`await` ou :keyword:`async with` ou des instructions :" +"keyword:`async for`. Voir également la section :ref:`coroutine-objects`." #: ../Doc/reference/datamodel.rst:647 msgid "Asynchronous generator functions" -msgstr "" +msgstr "Fonctions générateurs asynchrones" #: ../Doc/reference/datamodel.rst:635 msgid "" @@ -1103,6 +1156,11 @@ msgid "" "object which can be used in an :keyword:`async for` statement to execute the " "body of the function." msgstr "" +"Une fonction ou une méthode définie avec :keyword:`async def` et qui utilise " +"l'instruction :keyword:`yield` est appelée :dfn:`fonction générateur " +"asynchrone`. Une telle fonction, quand elle est appelée, renvoie un objet " +"itérateur asynchrone qui peut être utilisé dans des instructions :keyword:" +"`async for` pour exécuter le corps de la fonction." #: ../Doc/reference/datamodel.rst:641 msgid "" @@ -1113,6 +1171,12 @@ msgid "" "`StopAsyncIteration` exception is raised and the asynchronous iterator will " "have reached the end of the set of values to be yielded." msgstr "" +"Appeler la méthode :meth:`aiterator.__anext__` de l'itérateur asynchrone " +"renvoie un :term:`awaitable` qui, lorsqu'on l'attend, s'exécute jusqu'à ce " +"qu'il fournisse une valeur à l'aide de l'expression :keyword:`yield`. Quand " +"la fonction exécute une instruction vide :keyword:`return` ou arrive à la " +"fin, une exception :exc:`StopAsynciteration` est levée et l'itérateur " +"asynchrone a atteint la fin de l'ensemble des valeurs qu'il peut produire." #: ../Doc/reference/datamodel.rst:662 msgid "Built-in functions" @@ -1129,10 +1193,19 @@ msgid "" "``None`` (but see the next item); :attr:`__module__` is the name of the " "module the function was defined in or ``None`` if unavailable." msgstr "" +"Un objet fonction native est une enveloppe autour d'une fonction C. Nous " +"pouvons citer :func:`len` et :func:`math.sin` (:mod:`math` est un module " +"standard natif) comme fonctions natives. Le nombre et le type des arguments " +"sont déterminés par la fonction C. Des attributs spéciaux en lecture seule " +"existent : :attr:`__doc__` contient la chaîne de documentation de la " +"fonction (ou ``None`` s'il n'y en a pas) ; :attr:`~definition.__name__` est " +"le nom de la fonction ; :attr:`__self__` est défini à ``None`` ; :attr:" +"`__module__` est le nom du module où la fonction est définie ou ``None`` " +"s'il n'est pas disponible." #: ../Doc/reference/datamodel.rst:674 msgid "Built-in methods" -msgstr "" +msgstr "Méthodes natives" #: ../Doc/reference/datamodel.rst:670 msgid "" @@ -1142,6 +1215,11 @@ msgid "" "*alist* is a list object. In this case, the special read-only attribute :" "attr:`__self__` is set to the object denoted by *alist*." msgstr "" +"Ce sont des fonctions natives déguisées, contenant un objet passé à une " +"fonction C en tant qu'argument supplémentaire implicite. Un exemple de " +"méthode native est ``une_liste.append()`` (une_liste étant un objet liste). " +"Dans ce cas, l'attribut spécial en lecture seul :attr:`__self__` est défini " +"à l'objet *une_liste*." #: ../Doc/reference/datamodel.rst:681 msgid "Classes" @@ -1155,16 +1233,23 @@ msgid "" "`__new__` and, in the typical case, to :meth:`__init__` to initialize the " "new instance." msgstr "" +"Les classes sont des appelables. Ces objets sont normalement utilisés pour " +"créer des instances d'elles-mêmes mais des variations sont possibles pour " +"les types de classes qui surchargent :meth:`__new__`. Les arguments de " +"l'appel sont passés à :meth:`__new__` et, dans le cas classique, :meth:" +"`__new__` initialise une nouvelle instance." #: ../Doc/reference/datamodel.rst:686 msgid "Class Instances" -msgstr "" +msgstr "Instances de classe" #: ../Doc/reference/datamodel.rst:684 msgid "" "Instances of arbitrary classes can be made callable by defining a :meth:" "`__call__` method in their class." msgstr "" +"Les instances d'une classe peuvent devenir des appelables si vous définissez " +"la méthode :meth:`__call__` de leur classe." #: ../Doc/reference/datamodel.rst:736 msgid "Modules" @@ -1183,12 +1268,25 @@ msgid "" "object does not contain the code object used to initialize the module (since " "it isn't needed once the initialization is done)." msgstr "" +"Les modules constituent l'organisation de base du code Python et sont créés " +"par le :ref:`mécanisme d'import ` soit avec l'instruction :" +"keyword:`import` (voir :keyword:`import`), soit en appelant des fonctions " +"telles que :func:`importlib.import_module` ou la fonction native :func:" +"`__import__`. Un objet module possède un espace de noms implémenté par un " +"objet dictionnaire (c'est le dictionnaire référencé par l'attribut " +"``__globals__`` des fonctions définies dans le module). Les références à un " +"attribut sont traduites en recherches dans ce dictionnaire, par exemple ``m." +"x`` est équivalent à ``m.__dict__[\"x\"]``. Un objet module ne contient pas " +"l'objet code utilisé pour initialiser le module (puisque celui-ci n'est plus " +"nécessaire une fois l'initialisation terminée)." #: ../Doc/reference/datamodel.rst:705 msgid "" "Attribute assignment updates the module's namespace dictionary, e.g., ``m.x " "= 1`` is equivalent to ``m.__dict__[\"x\"] = 1``." msgstr "" +"L'assignation d'un attribut met à jour le dictionnaire d'espace de noms du " +"module, par exemple ``m.x = 1`` est équivalent à ``m.__dict__[\"x\"] = 1``." #: ../Doc/reference/datamodel.rst:715 msgid "" @@ -1203,12 +1301,25 @@ msgid "" "loaded dynamically from a shared library, it is the pathname of the shared " "library file." msgstr "" +"Attributs prédéfinis (en lecture-écriture) : :attr:`__name__` est le nom du " +"module ; :attr:`__doc__` est la chaîne de documentation du module (ou " +"``None`` s'il n'y en a pas) ; :attr:`__annotations__` (optionnel) est un " +"dictionnaire contenant les g :term:`Annotations de variables ` collectées durant l'exécution du corps du module ; :attr:" +"`__file__` est le chemin vers le fichier à partir duquel le module a été " +"chargé, s'il a été chargé depuis un fichier. L'attribut :attr:`__file__` " +"peut être manquant pour certains types de modules, tels que les modules C " +"qui sont statiquement liés à l'interpréteur ; pour les modules d'extension " +"chargés dynamiquement à partir d'une bibliothèque partagée, c'est le chemin " +"vers le fichier de la bibliothèque partagée." #: ../Doc/reference/datamodel.rst:728 msgid "" "Special read-only attribute: :attr:`~object.__dict__` is the module's " "namespace as a dictionary object." msgstr "" +"Attribut spécial en lecture seule : :attr:`~object.__dict__` est l'objet " +"dictionnaire répertoriant l'espace de noms du module." #: ../Doc/reference/datamodel.rst:733 msgid "" @@ -1217,10 +1328,15 @@ msgid "" "still has live references. To avoid this, copy the dictionary or keep the " "module around while using its dictionary directly." msgstr "" +"en raison de la manière dont CPython nettoie les dictionnaires de modules, " +"le dictionnaire du module est effacé quand le module n'est plus visible, " +"même si le dictionnaire possède encore des références actives. Pour éviter " +"ceci, copiez le dictionnaire ou gardez le module dans votre champ de " +"visibilité tant que vous utilisez le dictionnaire directement." #: ../Doc/reference/datamodel.rst:795 msgid "Custom classes" -msgstr "Classes particularisées" +msgstr "Classes déclarées par le développeur" #: ../Doc/reference/datamodel.rst:739 msgid "" @@ -1237,6 +1353,21 @@ msgid "" "found in the documentation accompanying the 2.3 release at https://www." "python.org/download/releases/2.3/mro/." msgstr "" +"Le type d'une classe déclarée par le développeur est créé au moment de la " +"définition de la classe (voir la section :ref:`class`). Une classe possède " +"un espace de noms implémenté sous la forme d'un objet dictionnaire. Les " +"références vers les attributs de la classe sont traduits en recherches dans " +"ce dictionnaire, par exemple ``C.x`` est traduit en ``C.__dict__[\"x\"]`` " +"(bien qu'il existe un certain nombre de fonctions automatiques qui " +"permettent de trouver des attributs par d'autres moyens). Si le nom " +"d'attribut n'est pas trouvé dans ce dictionnaire, la recherche continue dans " +"les classes de base. Les classes de base sont trouvées en utilisant la " +"méthode de résolution d'ordre (*method resolution order* en anglais, ou MRO) " +"C3 qui a un comportement cohérent même en présence d'héritages en \"diamant" +"\", où différentes branches d'héritages conduisent vers un ancêtre commun. " +"Vous trouverez plus de détails sur la MRO C3 utilisée par Python dans la " +"documentation de la version 2.3 disponible sur https://www.python.org/" +"download/releases/2.3/mro/." #: ../Doc/reference/datamodel.rst:763 msgid "" @@ -1248,18 +1379,29 @@ msgid "" "attributes retrieved from a class may differ from those actually contained " "in its :attr:`~object.__dict__`." msgstr "" +"Quand une référence à un attribut de classe (disons la classe :class:`C`) " +"pointe vers un objet méthode de classe, elle est transformée en objet " +"méthode d'instance dont l'attribut :attr:`__self__` est :class:`C`. Quand " +"elle pointe vers un objet méthode statique, elle est transformée en objet " +"encapsulé par l'objet méthode statique. Reportez-vous à la section :ref:" +"`descriptors` pour une autre manière dont les attributs d'une classe " +"diffèrent de ceux réellement contenus dans son :attr:`~objet.__dict__`." #: ../Doc/reference/datamodel.rst:773 msgid "" "Class attribute assignments update the class's dictionary, never the " "dictionary of a base class." msgstr "" +"Les assignations d'un attribut de classe mettent à jour le dictionnaire de " +"la classe, jamais le dictionnaire d'une classe de base." #: ../Doc/reference/datamodel.rst:778 msgid "" "A class object can be called (see above) to yield a class instance (see " "below)." msgstr "" +"Un objet classe peut être appelé (voir ci-dessus) pour produire une instance " +"de classe (voir ci-dessous)." #: ../Doc/reference/datamodel.rst:788 msgid "" @@ -1272,10 +1414,19 @@ msgid "" "(optional) is a dictionary containing :term:`variable annotations ` collected during class body execution." msgstr "" +"Attributs spéciaux : :attr:`~definition.__name__` est le nom de la classe ; :" +"attr:`__module__` est le nom du module dans lequel la classe est définie ; :" +"attr:`~object.__dict__` est le dictionnaire contenant l'espace de noms de la " +"classe ; :attr:`~class.__bases__` est un tuple contenant les classes de " +"base, dans l'ordre d'apparition dans la liste des classes de base ; :attr:" +"`__doc__` est la chaîne de documentation de la classe (ou ``None`` si elle " +"n'existe pas) ; :attr:`__annotations__` (optionnel) est un dictionnaire " +"contenant les :term:`annotations de variables ` " +"collectées durant l'exécution du corps de la classe." #: ../Doc/reference/datamodel.rst:838 msgid "Class instances" -msgstr "" +msgstr "Instances de classes" #: ../Doc/reference/datamodel.rst:804 msgid "" @@ -1293,6 +1444,22 @@ msgid "" "class attribute is found, and the object's class has a :meth:`__getattr__` " "method, that is called to satisfy the lookup." msgstr "" +"Une instance de classe est créée en appelant un objet classe (voir ci-" +"dessus). Une instance de classe possède un espace de noms implémenté sous la " +"forme d'un dictionnaire qui est le premier endroit où sont recherchées les " +"références aux attributs. Quand un attribut n'est pas trouvé dans ce " +"dictionnaire et que la classe de l'instance contient un attribut avec ce " +"nom, la recherche continue avec les attributs de la classe. Si un attribut " +"de classe est trouvé et que c'est un objet fonction défini par " +"l'utilisateur, il est transformé en objet méthode d'instance dont " +"l'attribut :attr:`__self__` est l'instance. Les objets méthodes statiques et " +"méthodes de classe sont aussi transformés ; reportez-vous ci-dessous à " +"\"Classes\". Lisez la section :ref:`descriptors` pour une autre façon de " +"récupérer les attributs d'une classe, où la récupération *via* ses instances " +"peut différer des objets réellement stockés dans le :attr:`objet.__dict__` " +"de la classe. Si aucun attribut de classe n'est trouvé et que la classe de " +"l'objet possède une méthode :meth:`__getattr__`, cette méthode est appelée " +"pour rechercher une correspondance." #: ../Doc/reference/datamodel.rst:820 msgid "" @@ -1301,22 +1468,31 @@ msgid "" "`__delattr__` method, this is called instead of updating the instance " "dictionary directly." msgstr "" +"Les assignations et effacement d'attributs mettent à jour le dictionnaire de " +"l'instance, jamais le dictionnaire de la classe. Si la classe possède une " +"méthode :meth:`__setattr__` ou :meth:`__delattr__`, elle est appelée au lieu " +"de mettre à jour le dictionnaire de l'instance directement." #: ../Doc/reference/datamodel.rst:830 msgid "" "Class instances can pretend to be numbers, sequences, or mappings if they " "have methods with certain special names. See section :ref:`specialnames`." msgstr "" +"Les instances de classes peuvent prétendre être des nombres, des séquences " +"ou des tableaux de correspondance si elles ont des méthodes avec des noms " +"spéciaux. Voir la section :ref:`specialnames`." #: ../Doc/reference/datamodel.rst:837 msgid "" "Special attributes: :attr:`~object.__dict__` is the attribute dictionary; :" "attr:`~instance.__class__` is the instance's class." msgstr "" +"Attributs spéciaux : :attr:`objet.__dict__` est le dictionnaire des " +"attributs ; :attr:`~instace.__class__` est la classe de l'instance." #: ../Doc/reference/datamodel.rst:864 msgid "I/O objects (also known as file objects)" -msgstr "" +msgstr "Objets Entrées-Sorties (ou objets fichiers)" #: ../Doc/reference/datamodel.rst:854 msgid "" @@ -1326,6 +1502,11 @@ msgid "" "makefile` method of socket objects (and perhaps by other functions or " "methods provided by extension modules)." msgstr "" +"Un :term:`objet fichier` représente un fichier ouvert. Différentes " +"raccourcis existent pour créer des objets fichiers : la fonction native :" +"func:`open` et aussi :func:`os.popen`, :func:`os.fdopen` ou la méthode :meth:" +"`~socket.socket.makefile` des objets sockets (et sûrement d'autres fonctions " +"ou méthodes fournies par les modules d'extensions)." #: ../Doc/reference/datamodel.rst:860 msgid "" @@ -1334,10 +1515,15 @@ msgid "" "and error streams; they are all open in text mode and therefore follow the " "interface defined by the :class:`io.TextIOBase` abstract class." msgstr "" +"Les objets ``sys.stdin``, ``sys.stdout`` et ``sys.stderr`` sont initialisés " +"à des objets fichiers correspondant à l'entrée standard, la sortie standard " +"et le flux d'erreurs de l'interpréteur ; ils sont tous ouverts en mode texte " +"et se conforment donc à l'interface définie par la classe abstraite :class:" +"`io.TextIOBase`." #: ../Doc/reference/datamodel.rst:1070 msgid "Internal types" -msgstr "" +msgstr "Types internes" #: ../Doc/reference/datamodel.rst:871 msgid "" @@ -1345,6 +1531,9 @@ msgid "" "Their definitions may change with future versions of the interpreter, but " "they are mentioned here for completeness." msgstr "" +"Quelques types utilisés en interne par l'interpréteur sont accessibles à " +"l'utilisateur. Leur définition peut changer dans les futures versions de " +"l'interpréteur mais ils sont donnés ci-dessous à fin d'exhaustivité." #: ../Doc/reference/datamodel.rst:939 msgid "Code objects" @@ -1361,6 +1550,15 @@ msgid "" "run-time). Unlike function objects, code objects are immutable and contain " "no references (directly or indirectly) to mutable objects." msgstr "" +"Un objet code représente le code Python sous sa forme compilée en :term:" +"`bytecode`. La différence entre un objet code et un objet fonction est que " +"l'objet fonction contient une référence explicite vers les globales de la " +"fonction (le module dans lequel elle est définie) alors qu'un objet code ne " +"contient aucun contexte ; par ailleurs, les valeurs par défaut des arguments " +"sont stockées dans l'objet fonction, pas de l'objet code (parce que ce sont " +"des valeurs calculées au moment de l'exécution). Contrairement aux objets " +"fonctions, les objets codes sont immuables et ne contiennent aucune " +"référence (directe ou indirecte) à des objets muables." #: ../Doc/reference/datamodel.rst:903 msgid "" @@ -1382,6 +1580,25 @@ msgid "" "size (including local variables); :attr:`co_flags` is an integer encoding a " "number of flags for the interpreter." msgstr "" +"Attributs spéciaux en lecture seule : :attr:`co_name` donne le nom de la " +"fonction ; :attr:`co_argcount` est le nombre d'arguments positionnels (y " +"compris les arguments avec des valeurs par défaut) ; :attr:`co_nlocals` est " +"le nombre de variables locales utilisées par la fonction (y compris les " +"arguments) ; :attr:`co_varnames` est un tuple contenant le nom des variables " +"locales (en commençant par les noms des arguments) ; :attr:`co_cellvars` est " +"un tuple contenant les noms des variables locales qui sont référencées par " +"des fonctions imbriquées ; :attr:`co_freevars` est un tuple contenant les " +"noms des variables libres ; :attr:`co_code` est une chaîne représentant la " +"séquence des instructions de *bytecode* ; :attr:`co_consts` est un tuple " +"contenant les littéraux utilisés par le *bytecode* ; :attr:`co_names` est un " +"tuple contenant les noms utilisés par le *bytecode* ; :attr:`co_filename` " +"est le nom de fichier à partir duquel le code a été compilé ; :attr:" +"`co_firstlineno` est numéro de la première ligne de la fonction ; :attr:" +"`co_lnotab` est une chaîne qui code la correspondance entre les différents " +"endroits du *bytecode* et les numéros de lignes (pour les détails, regardez " +"le code source de l'interpréteur) ; :attr:`co_stacksize` est la taille de " +"pile nécessaire (y compris pour les variables locales) ; :attr:`co_flags` " +"est un entier qui code différents drapeaux pour l'interpréteur." #: ../Doc/reference/datamodel.rst:922 msgid "" @@ -1391,6 +1608,12 @@ msgid "" "``**keywords`` syntax to accept arbitrary keyword arguments; bit ``0x20`` is " "set if the function is a generator." msgstr "" +"Les drapeaux suivants sont codés par des bits dans :attr:`co_flags` : le bit " +"``0x04`` est positionné à 1 si la fonction utilise la syntaxe ``*arguments`` " +"pour accepter un nombre arbitraire d'arguments positionnels ; le bit " +"``0x08`` est positionné à 1 si la fonction utilise la syntaxe ``**keywords`` " +"pour accepter un nombre arbitraire d'arguments nommés ; bit ``0x20`` est " +"positionné à 1 si la fonction est un générateur." #: ../Doc/reference/datamodel.rst:928 msgid "" @@ -1400,26 +1623,37 @@ msgid "" "compiled with future division enabled; bits ``0x10`` and ``0x1000`` were " "used in earlier versions of Python." msgstr "" +"Les déclarations de fonctionnalité future ``from __future__ import " +"division`` utilisent aussi des bits dans :attr:`co_flags` pour indiquer si " +"l'objet code a été compilé avec une fonctionnalité future : le bit " +"``0x2000`` est positionné à 1 si la fonction a été compilée avec la division " +"future activée ; les bits ``0x10`` et ``0x1000`` étaient utilisés dans les " +"versions antérieures de Python." #: ../Doc/reference/datamodel.rst:934 msgid "Other bits in :attr:`co_flags` are reserved for internal use." -msgstr "" +msgstr "Les autres bits de :attr:`co_flags` sont réservés à un usage interne." #: ../Doc/reference/datamodel.rst:938 msgid "" "If a code object represents a function, the first item in :attr:`co_consts` " "is the documentation string of the function, or ``None`` if undefined." msgstr "" +"Si l'objet code représente une fonction, le premier élément dans :attr:" +"`co_consts` est la chaîne de documentation de la fonction (ou ``None`` s'il " +"n'y en a pas)." #: ../Doc/reference/datamodel.rst:988 msgid "Frame objects" -msgstr "" +msgstr "Objets cadres" #: ../Doc/reference/datamodel.rst:946 msgid "" "Frame objects represent execution frames. They may occur in traceback " "objects (see below)." msgstr "" +"Un objet cadre représente le cadre d'exécution. Ils apparaissent dans des " +"objets traces (voir plus loin)." #: ../Doc/reference/datamodel.rst:957 msgid "" @@ -1431,6 +1665,14 @@ msgid "" "names; :attr:`f_lasti` gives the precise instruction (this is an index into " "the bytecode string of the code object)." msgstr "" +"Attributs spéciaux en lecture seule : :attr:`f_back` pointe vers le cadre " +"précédent (l'appelant) ou ``None`` si c'est le pied de la pile d'appel ; :" +"attr:`f_code` est l'objet code en cours d'exécution dans ce cadre ; :attr:" +"`f_locals` est le dictionnaire dans lequel sont cherchées les variables " +"locales ; :attr:`f_globals` est utilisé pour les variables globales ; :attr:" +"`f_builtins` est utilisé pour les noms natifs ; :attr:`f_lasti` donne " +"l'instruction précise (c'est un indice dans la chaîne de *bytecode* de " +"l'objet code)." #: ../Doc/reference/datamodel.rst:969 msgid "" @@ -1441,10 +1683,17 @@ msgid "" "for the bottom-most frame). A debugger can implement a Jump command (aka " "Set Next Statement) by writing to f_lineno." msgstr "" +"Attributs spéciaux en lecture-écriture : :attr:`f_trace`, s'il ne vaut pas " +"``None``, est une fonction appelée au début de chaque ligne de code source " +"(c'est utilisé par le débogueur) ; :attr:`f_lineno` est le numéro de la " +"ligne courante du cadre --- écrire dedans depuis une fonction trace fait " +"sauter à la ligne demandée (seulement pour le cadre le plus bas). Un " +"débogueur peut implémenter une commande \"sauter vers\" en écrivant dans " +"f_lineno." #: ../Doc/reference/datamodel.rst:976 msgid "Frame objects support one method:" -msgstr "" +msgstr "Les objets cadres comprennent une méthode :" #: ../Doc/reference/datamodel.rst:980 msgid "" @@ -1453,14 +1702,19 @@ msgid "" "This helps break reference cycles involving frame objects (for example when " "catching an exception and storing its traceback for later use)." msgstr "" +"Cette méthode efface toutes les références aux variables locales conservées " +"dans le cadre. Par ailleurs, si le cadre est celui d'un générateur, le " +"générateur se termine. Ceci permet de casser des références cycliques qui " +"incluent des objets cadres (par exemple, lors de la capture d'une exception " +"et du stockage de la pile d'appels pour une utilisation future)." #: ../Doc/reference/datamodel.rst:986 msgid ":exc:`RuntimeError` is raised if the frame is currently executing." -msgstr "" +msgstr ":exc:`RuntimeError` est levée si le cadre est en cours d'exécution." #: ../Doc/reference/datamodel.rst:1026 msgid "Traceback objects" -msgstr "" +msgstr "Objets traces" #: ../Doc/reference/datamodel.rst:1001 msgid "" @@ -1475,6 +1729,17 @@ msgid "" "stream; if the interpreter is interactive, it is also made available to the " "user as ``sys.last_traceback``." msgstr "" +"Un objet trace représente la pile d'appels d'une exception. Il est créé au " +"moment où l'exception est levée. Quand l'interpréteur recherche un " +"gestionnaire d'exception en remontant la pile d'exécution, un objet trace " +"est inséré devant l'objet trace courant à chaque nouveau niveau. Quand il " +"entre dans le gestionnaire d'exception, la pile d'appels est rendue " +"accessible au programme (voir la section :ref:`try`). Elle est accessible " +"par le troisième élément du tuple renvoyé par ``sys.exc_info()``. Quand le " +"programme ne dispose pas d'un gestionnaire adéquat, la pile d'appels est " +"écrite (joliment formatée) sur le flux d'erreurs standard ; si " +"l'interpréteur est interactif, la pile d'appels est rendue accessible à " +"l'utilisateur en tant que ``sys.last_traceback``." #: ../Doc/reference/datamodel.rst:1019 msgid "" @@ -1487,16 +1752,28 @@ msgid "" "of its frame object if the exception occurred in a :keyword:`try` statement " "with no matching except clause or with a finally clause." msgstr "" +"Attributs spéciaux en lecture seule : attr:`tb_next` est le prochain niveau " +"dans la pile d'appels (vers le cadre où l'exception a été levée) ou ``None`` " +"s'il n'y a pas de prochain niveau ; :attr:`tb_frame` pointe vers le cadre " +"d'exécution du niveau courant ; :attr:`tb_lineno` donne le numéro de ligne " +"où l'exception a été levée ; :attr:`tb_lasti` indique l'instruction " +"précise. Le numéro de ligne et la dernière instruction dans la trace " +"peuvent différer du numéro de ligne de l'objet cadre si l'exception a eu " +"lieu dans une instruction :keyword:`try` sans qu'il n'y ait de clause :" +"keyword:`except` adéquate ou sans clause *finally* ." #: ../Doc/reference/datamodel.rst:1052 msgid "Slice objects" -msgstr "" +msgstr "Objets découpes" #: ../Doc/reference/datamodel.rst:1031 msgid "" "Slice objects are used to represent slices for :meth:`__getitem__` methods. " "They are also created by the built-in :func:`slice` function." msgstr "" +"Un objet découpe est utilisé pour représenter les découpes des méthodes :" +"meth:`__getitem__`. Ils sont aussi créés par la fonction native :func:" +"`slice`." #: ../Doc/reference/datamodel.rst:1039 msgid "" @@ -1504,10 +1781,14 @@ msgid "" "`~slice.stop` is the upper bound; :attr:`~slice.step` is the step value; " "each is ``None`` if omitted. These attributes can have any type." msgstr "" +"Attributs spéciaux en lecture seule : :attr:`~decoupe.start` est la borne " +"inférieure ; :attr:`~decoupe.stop` est la borne supérieure ; :attr:`~decoupe." +"step` est la valeur du pas ; chaque attribut vaut ``None`` s'il est omis. " +"Ces attributs peuvent être de n'importe quel type." #: ../Doc/reference/datamodel.rst:1043 msgid "Slice objects support one method:" -msgstr "" +msgstr "Les objets découpes comprennent une méthode :" #: ../Doc/reference/datamodel.rst:1047 msgid "" @@ -1518,10 +1799,16 @@ msgid "" "stride length of the slice. Missing or out-of-bounds indices are handled in " "a manner consistent with regular slices." msgstr "" +"Cette méthode prend un argument entier *length* et calcule les informations " +"de la découpe que l'objet découpe décrit s'il est appliqué à une séquence de " +"*length* éléments. Elle renvoie un tuple de trois entiers ; respectivement, " +"ce sont les indices de *début* et *fin* ainsi que le *pas* de découpe. Les " +"indices manquants ou en dehors sont gérés de manière cohérente avec les " +"découpes normales." #: ../Doc/reference/datamodel.rst:1062 msgid "Static method objects" -msgstr "" +msgstr "Objets méthodes statiques" #: ../Doc/reference/datamodel.rst:1055 msgid "" @@ -1534,10 +1821,19 @@ msgid "" "callable, although the objects they wrap usually are. Static method objects " "are created by the built-in :func:`staticmethod` constructor." msgstr "" +"Les objets méthodes statiques permettent la transformation des objets " +"fonctions en objets méthodes décrits au-dessus. Un objet méthode statique " +"encapsule tout autre objet, souvent un objet méthode définie par " +"l'utilisateur. Quand un objet méthode statique est récupéré depuis une " +"classe ou une instance de classe, l'objet réellement renvoyé est un objet " +"encapsulé, qui n'a pas vocation à être transformé encore une fois. Les " +"objets méthodes statiques ne sont pas appelables en tant que tels, bien que " +"les objets qu'ils encapsulent le soient souvent. Les objets méthodes " +"statiques sont créés par le constructeur natif :func:`staticmethod`." #: ../Doc/reference/datamodel.rst:1070 msgid "Class method objects" -msgstr "" +msgstr "Objets méthodes de classes" #: ../Doc/reference/datamodel.rst:1065 msgid "" @@ -1547,6 +1843,12 @@ msgid "" "retrieval is described above, under \"User-defined methods\". Class method " "objects are created by the built-in :func:`classmethod` constructor." msgstr "" +"Un objet méthode de classe, comme un objet méthode statique, encapsule un " +"autre objet afin de modifier la façon dont cet objet est récupéré depuis les " +"classes et instances de classes. Le comportement des objets méthodes de " +"classes dans le cas d'une telle récupération est décrit plus haut, dans " +"\"méthodes définies par l'utilisateur\". Les objets méthodes de classes sont " +"créés par le constructeur natif :func:`classmethod`." #: ../Doc/reference/datamodel.rst:1075 msgid "Special method names" @@ -3235,6 +3537,10 @@ msgid "" "controlled conditions. It generally isn't a good idea though, since it can " "lead to some very strange behaviour if it is handled incorrectly." msgstr "" +"Il *est* possible, dans certains cas, de changer le type d'un objet, sous " +"certaines conditions. Cependant, ce n'est généralement pas une bonne idée " +"car cela peut conduire à un comportement très étrange si ce n'est pas géré " +"correctement." #: ../Doc/reference/datamodel.rst:2673 msgid ""