XIV. Annexes▲
XIV-A. Gestion des accents▲
En première ou deuxième ligne d'un script, il faut insérer la ligne :
# -*- coding: utf-8 -*-
ou bien
# -*- coding: latin-1 -*-
Il s'agit d'un pseudocommentaire indiquant à Python le système de codage utilisé, ici l'utf8 (ou le latin-1) qui comprend les caractères spéciaux comme les caractères accentués, les apostrophes, les cédilles…
XIV-B. Les égalités : attention▲
Il faut savoir que Python n'est pas un logiciel de calcul formel, en tous cas pas sans l'importation d'un module adéquat. Donc a priori, il ne fait pas de calcul exact et il faut considérer que les valeurs numériques sont approchées. Il faut donc être prudent quand on teste si une égalité est vraie ou fausse.
2.
3.
4.
5.
6.
7.
>>>
from
math import
sqrt
>>>
a =
sqrt
(
2
)
>>>
b =
sqrt
(
3
)
>>>
c =
sqrt
(
5
)
>>>
# testons maintenant une égalité
>>>
a**
2
+
b**
2
==
c**
2
False
Le résultat n'est pas celui attendu. En effet, on a bien
XIV-C. Différences entre Python2 et Python3▲
Pour connaître toutes les différences entre Python2 et Python3, vous pouvez consulter cette section du site officiel. Mais voici celles qui sont les plus importantes pour le débutant.
XIV-C-1. print▲
C'est désormais une fonction. Pour l'utiliser, il faut donc obligatoirement utiliser des parenthèses.
XIV-C-2. La division▲
Plus besoin du from
__future__
import
division qui était nécessaire pour que la division (/) soit bien décimale. Avec Python3, on a directement :
>>>
7
/
2
3.5
Avec Python2, on avait :
2.
3.
4.
5.
6.
>>>
7
/
2
3
>>>
from
__future__
import
division
>>>
# la division est maintenant décimale
>>>
7
/
2
3.5
XIV-C-3. imput▲
Cette fonction renvoie automatiquement une chaîne de caractères, même s'il est demandé de saisir un nombre.
XIV-C-4. range▲
XIV-D. Messages d'erreur▲
Pour tout savoir, il faut se rendre à la documentation officielle. Pour faire simple, disons qu'il y a deux types d'erreurs :
- les erreurs de syntaxe, par exemple l'oubli d'un : à la fin d'une ligne
if
; - les autres erreurs sont appelées exceptions.
Voyons les plus courantes pour le débutant.
2.
3.
4.
5.
>>>
a =
0
>>>
1
/
a
Traceback (
most recent call last):
File "<stdin>"
, line 1
, in
<
module>
ZeroDivisionError
: integer division or
modulo by zero
Le message d'erreur ici est composé de trois lignes, mais c'est la dernière ligne qui doit être lue avec attention. Cette dernière rappelle que la division par zéro n'est pas autorisée. Le nom de l'exception ZeroDivisionError est d'ailleurs très clair.
Il faut aussi faire attention aux index des listes et se rappeler que la numérotation des listes commence à 0.
L'exception IndexError indique ici que l'on est allé trop loin dans la numérotation.
Il faut aussi se rappeler que l'on ne peut pas faire d'opérations avec des variables qui n'ont pas été préalablement définies.
2.
3.
4.
>>>
b +
2
Traceback (
most recent call last):
File "<stdin>"
, line 1
, in
<
module>
NameError
: name 'b'
is
not
defined
L'exception NameError nous dit bien que la variable b n'a pas été définie.