You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Proposition de quelques modifs, notamment remplcement des expressions
entre balises code par la version anglais (encodage -> encoding) suivi
de la trad française entre parenthèses pour respecter les noms
d'arguments dans la doc Python. À discuter.
Copy file name to clipboardExpand all lines: 00-whats-new.html
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -28,14 +28,14 @@ <h2 id=divingin><i>a.k.a.</i> « le niveau -1 »</h2>
28
28
29
29
<p>Python 3 est livré avec un script nommé <code>2to3</code>. Apprenez à l’utiliser. Aimez-le. Utilisez-le. <ahref=porting-code-to-python-3-with-2to3.html>Porter du code vers Python 3 avec <code>2to3</code></a> est une référence de toutes les choses que l’outil <code>2to3</code> peut corriger automatiquement. Comme la plupart sont des changements de syntaxe, c’est un bon point de départ pour apprendre beaucoup de choses sur les changements de syntaxe dans Python 3 (<code>print</code> est désormais une fonction, <code>`x`</code> ne marche pas, etc.).
30
30
31
-
<p><ahref=case-study-porting-chardet-to-python-3.html>Étude de cas : porter <code>chardet</code>à Python 3</a> documente mon travail (finalement couronné de succès) pour porter une bibliothèque non triviale de Python 2 à Python 3. Ça peut vous aider. Ou peut-être pas. Il y a une courbe d’apprentissage assez raide, car vous devez tout d’abord comprendre à peu près la bibliothèque, pour comprendre pourquoi le code ne fonctionne plus et comment le corriger. Beaucoup de problèmes tournent autour des chaînes de caractères. À ce propos…
31
+
<p><ahref=case-study-porting-chardet-to-python-3.html>Étude de cas : porter <code>chardet</code>vers Python 3</a> documente mon travail (finalement couronné de succès) pour porter une bibliothèque non triviale de Python 2 à Python 3. Ça peut vous aider. Ou peut-être pas. Il y a une courbe d’apprentissage assez raide, car vous devez tout d’abord comprendre à peu près la bibliothèque, pour comprendre pourquoi le code ne fonctionne plus et comment le corriger. Beaucoup de problèmes tournent autour des chaînes de caractères. À ce propos…
32
32
33
-
<p>Chaînes de caractères. Waouh. Par où commencer. Python 2 a des « chaînes de caractères » et des « chaînes de caractères Unicode »… Python 3 a des « octets » et des « chaînes de caractères ». Ce qui signifie que toutes les chaînes de caractères sont maintenant Unicode, et que si vous voulez avoir affaire à des sacs d’octets, il vous faudra utiliser le nouveau type <code>bytes</code>. Python 3 ne fera <em>jamais</em> de conversion implicite entre les chaînes de caractères et les octets, donc si vous n’êtes pas sûr lequel des deux vous avez à un moment donné, votre code va presque certainement mal fonctionner. Lisez <ahref=strings.html>le chapitre sur les chaînes de caractères</a> pour plus de détails.
33
+
<p>Chaînes de caractères. Waouh. Par où commencer. Python 2 a des « chaînes de caractères » et des « chaînes de caractères Unicode »… Python 3 a des « octets » et des « chaînes de caractères ». Ce qui signifie que toutes les chaînes de caractères sont maintenant Unicode, et que si vous voulez avoir affaire à des sacs d’octets, il vous faudra utiliser le nouveau type <code>bytes</code>. Python 3 ne fera <em>jamais</em> de conversion implicite entre les chaînes de caractères et les octets, donc si vous n’êtes pas sûr de savoir à quel type vous avez affaire à un moment donné, votre code va presque certainement mal fonctionner. Lisez <ahref=strings.html>le chapitre sur les chaînes de caractères</a> pour plus de détails.
34
34
35
-
<p>L’opposition entre octets et chaînes de caractères revient de façon récurrente tout au long du livre.
35
+
<p>Les différences entre octets et chaînes de caractères reviennentt de façon récurrente tout au long du livre.
36
36
37
37
<ul>
38
-
<li>Dans <ahref=files.html>Fichiers</a>, vous apprendrez la différence entre lire des fichiers en mode « binaire » et en mode « texte ». Lire (et écrire !) les fichiers en mode texte nécessite un paramètre d’<code>encodage</code>. Certaines méthodes concernant les fichiers texte comptent les caractères, d’autres les octets. Si votre code suppose qu’un caractère == un octet, il <em>va</em> mal fonctionner sur les caractères de plusieurs octets.
38
+
<li>Dans <ahref=files.html>Fichiers</a>, vous apprendrez la différence entre lire des fichiers en mode « binaire » et en mode « texte ». Lire (et écrire !) les fichiers en mode texte nécessite un paramètre <code>encoding</code> (encodage). Certaines méthodes concernant les fichiers texte comptent les caractères, d’autres les octets. Si votre code suppose qu’un caractère == un octet, il <em>va</em> mal fonctionner sur les caractères de plusieurs octets.
39
39
<li>Dans <ahref=http-web-services.html>Services Web <abbr>HTTP</abbr></a>, le module <code>httplib2</code> récupère les en-têtes et les données qui transitent par <abbr>HTTP</abbr>. Les en-têtes <abbr>HTTP</abbr> sont renvoyées sous forme de chaînes de caractères, mais le corps <abbr>HTTP</abbr> est renvoyé sous forme d’octets.
40
40
<li>Dans <ahref=serializing.html>Sérialisation d’objets Python</a>, vous apprendrez pourquoi le module <code>pickle</code> dans Python 3 définit un nouveau format de données qui n’est pas rétrocompatible avec Python 2 (Indice : c’est à cause des octets et des chaînes de caractères). De plus, Python 3 supporte la sérialisation d’objets vers et depuis <abbr>JSON</abbr>, qui n’a même pas de type <code>bytes</code>. Je vais vous montrer comment bidouiller pour contourner ça.
41
41
<li>Dans <ahref=case-study-porting-chardet-to-python-3.html>Étude de cas : porter <code>chardet</code> à Python 3</a>, c’est simplement un satané bazar d’octets et de chaînes de caractères, partout.
0 commit comments