|
Original |
Translation |
|
18
|
Floating point numbers only have 32 or 64 bits of precision, so the digits are cut off at some point, and the resulting number is 0.199999999999999996 in decimal, not 0.2.
|
Les nombres à virgule flottante ont une précision de seulement 32 ou 64 bits, donc les chiffres finissent par être tronqués, et le nombre résultant est 0.199999999999999996 en décimal, pas 0.2.
|
|
19
|
A floating point number's ``repr()`` function prints as many digits are necessary to make ``eval(repr(f)) == f`` true for any float f. The ``str()`` function prints fewer digits and this often results in the more sensible number that was probably intended::
|
La fonction ``repr()`` d'un nombre décimal affiche autant de chiffres que nécessaire pour rendre l'expression ``eval(repr(f)) == f`` vraie pour tout nombre décimal f. La fonction ``str()`` affiche moins de chiffres et correspond généralement plus au nombre attendu ::
|
|
20
|
>>> 1.1 - 0.9 0.20000000000000007 >>> print(1.1 - 0.9) 0.2
|
>>> 1.1 - 0.9 0.20000000000000007 >>> print(1.1 - 0.9) 0.2
|
|
21
|
One of the consequences of this is that it is error-prone to compare the result of some computation to a float with ``==``. Tiny inaccuracies may mean that ``==`` fails. Instead, you have to check that the difference between the two numbers is less than a certain threshold::
|
En conséquence comparer le résultat d'un calcul avec un nombre flottant avec l'opérateur '==' est propice à l'obtention d'erreurs. D'infimes imprécisions peuvent faire qu'un test d'égalité avec "==" échoue. Au lieu de cela, vous devez vérifier que la différence entre les deux chiffres est inférieure à un certain seuil ::
|
|
22
|
|
23
|
Please see the chapter on :ref:`floating point arithmetic <tut-fp-issues>` in the Python tutorial for more information.
|
Veuillez vous référer au chapitre sur :ref:`floating point arithmetic <tut-fp-issues>` du tutoriel python pour de plus amples informations.
|
|
24
|
Why are Python strings immutable?
|
Pourquoi les chaînes de caractères Python sont-elles immuable ?
|
|
25
|
There are several advantages.
|
Il y a plusieurs avantages.
|
|
26
|
One is performance: knowing that a string is immutable means we can allocate space for it at creation time, and the storage requirements are fixed and unchanging. This is also one of the reasons for the distinction between tuples and lists.
|
La première concerne la performance : savoir qu'une chaîne de caractères est immuable signifie que l'allocation mémoire allouée lors de la création de cette chaîne est fixe et figé. C'est aussi l'une des raisons pour lesquelles on fait la distinction entre les tuples et les listes.
|
|
27
|
Another advantage is that strings in Python are considered as "elemental" as numbers. No amount of activity will change the value 8 to anything else, and in Python, no amount of activity will change the string "eight" to anything else.
|
Un autre avantage est que les chaînes en Python sont considérées aussi "élémentaires" que les nombres. Aucun processus ne changera la valeur du nombre 8 en autre chose, et en Python, aucun processus changera la chaîne de caractère "huit" en autre chose.
|