Python > Le language > Types de données

Types de données

En Python, les variables ne sont pas explicitement typées. Tous les types sont des objets :

5          # int : Littéral numérique entier
8768L      # long : Littéral numérique entier long (rare)
5.0        # float : Littéral numérique flottant
.5         # float : Littéral numérique flottant
5.         # float : Littéral numérique flottant
"Salut !"  # str : Chaîne littérale
'Salut !'  # str : Chaîne littérale
u"Salut !" # unicode : Chaîne Unicode littérale
True       # bool : Littéral booléen
False      # bool : Littéral booléen
None       # Absence de valeur !

Note : sys.maxint indique la valeur maximale permise pour un entier ; une valeur supérieure est automatiquement convertie en entier long.

Définition de unicode (cf. fr.wikipedia.org/wiki/Unicode) : Unicode est une norme informatique, développée par le Consortium Unicode, qui vise à donner à tout caractère de n'importe quel système d'écriture un nom et un identifiant numérique, et ce de manière unifiée, quelle que soit la plate-forme informatique ou le logiciel.

Affectation

x = 98       # Affectation simple
y = 98 > 50  # 'y' sera True ou False
x = y
x == y       # Attention, test d'égalité ! Retourne True dans notre cas.
l1 = l2 = [] # Affectation multiple

Séquences et types composés

En plus des types simples, Python supporte des types composés qui permettent de créer des structures de données complexes :

  • Une séquence est un regroupement de valeurs indexées. Les indices commencent toujours à 0 et augmentent de 1 en 1.
  • Un tuple est une séquence non-modifiable : (76, -5, 876, 71)
  • Une list est une séquence modifiable : [76, -5, 876, 71]
  • Un dict est un regroupement de couples clé/valeur : {'nom': 'Dupuis', 'prenom': 'Jacques', 'age': 30}
  • Pour accéder aux éléments, on utilise l’indice ou la clé :

    # Tuple
    t = (76, -5, 876, 71)
    print t[2]	# Affiche 876
    
    # Liste
    l = [76, -5, 876, 71]
    l[1] = 10	# Impossible avec un tuple !
    print l[1]  # Affiche 10
    
    # Dictionnaire
    d = {'nom': 'Dupuis', 'prenom': 'Jacques', 'age': 30}
    print d['prenom']	# Affiche Jacques
    d['prenom'] = 'Jean'
    print d['prenom']	# Affiche Jean
    

    On peut combiner ces types à volonté pour former des structures complexes :

    promo = {
        'annee': '2009-2010',
        'etudiants': ({'nom': 'Dupuis',  'prenom': 'Jacques', 'age': 30},
                      {'nom': 'Martin',  'prenom': 'Louis',   'age': 18}
                      {'nom': 'Laronne', 'prenom': 'Emilie',  'age': 25},
                      ),
    }
    

    Ceci s'avère très utile pour modéliser les phénomènes réels que nous voulons traiter dans nos programmes.

    Sylvain Boureliou - sylvain.boureliou@gmail.com - www.boureliou.com