Python 07 : variables et types de données

Représenter les inscriptions à une formation NKILItech avec des nombres, du texte et des collections. Le chapitre suivant explique les conversions de types.

Chapitre rédigé pour compléter cette ancienne adresse. Les exemples et exercices ci-dessous sont originaux.

1. Associer un nom à une valeur

Une affectation associe un nom à un objet. Le nom peut ensuite désigner une autre valeur. Choisissez des noms lisibles : nombre_places décrit mieux le programme que x.

formation = "Python débutant"
nombre_places = 12
prix = 15000.0
ouverte = True
print(formation, nombre_places, prix, ouverte)
print(type(nombre_places).__name__)  # int

2. Choisir une structure adaptée

BesoinTypeExemple
Nombre de placesint12
Mesure décimalefloat2.5
Nom de formationstr"Python"
État ouvert/ferméboolTrue
Liste ordonnée de nomslist["Amina", "Joel"]
Association nom/valeurdict{"places": 12}

Un flottant est une approximation binaire : pour des montants exacts, préférez des entiers dans la plus petite unité choisie ou un type décimal adapté. Une chaîne conserve le texte, y compris les zéros initiaux d’un identifiant.

3. Mutation et copie

inscrits = ["Amina", "Joel"]
alias = inscrits
copie = inscrits.copy()
alias.append("Samira")
print(inscrits)  # ["Amina", "Joel", "Samira"]
print(copie)    # ["Amina", "Joel"]

Les deux premiers noms désignent la même liste. La copie est une nouvelle liste ; pour des listes imbriquées, cette copie reste superficielle. Le dessin distingue l’objet et les noms qui le désignent.

Schéma des étapesinscrits et alias : deux noms puis Une liste partagée : Amina, Joel, Samira puis copie : une autre liste, Amina et Joelinscrits et alias : deux nomsUne liste partagée : Amina, Joel, Samiracopie : une autre liste, Amina et Joel
Schéma pédagogique original PandaCodeur.

4. Vérifier ses choix

Quel type choisir pour le code étudiant 0017 ?

Voir le corrigé expliqué

Une chaîne "0017", car il s’agit d’un identifiant et les zéros font partie de sa représentation.

Quel résultat produit len(["Amina", "Joel"]) ?

Voir le corrigé expliqué

2, le nombre d’éléments de la liste. Cela ne compte pas les caractères des noms.

Une variable booléenne peut-elle remplacer le texte "oui" ?

Voir le corrigé expliqué

Oui, pour représenter un état : ouverte = True. Le texte et le booléen n’ont toutefois pas le même type ; bool("False") vaut True, car la chaîne est non vide.

Référence : Documentation Python : types intégrés.