Récapitulatif des types Python — pourquoi les types comptent et la porte vers les classes

Récapitule les types de base de Python et fais ton premier pas vers la programmation orientée objet avec class.

Qu'est-ce qu'un « type », au juste ?

Jusqu'ici tu as rencontré beaucoup de types — int, float, str, bool, list, dict, tuple, set et d'autres. Choisir le bon type pour la tâche est ce qui compte le plus en pratique.

Le type décide de « ce que tu peux faire »
5 + 3(int)8(addition)'hi' + '!'(str)'hi!'(concaténation)++

Comme le montre l'exemple, même l'opérateur + exécute des opérations différentes selon le type.

Autrement dit, choisir un type différent selon l'usage est la façon dont tu changes ce qu'une variable peut faire.

Tous les types vus jusqu'ici, en un coup d'œil

Organisons les types de Python Basics selon ce à quoi tu les utilises. Que tu veuilles traiter du « calcul numérique », de l'« information textuelle » ou d'un « ensemble de plusieurs valeurs », le bon type tombe naturellement.

TypeUsage typiqueExemple
intCalculer des prix ou des quantités5, 100, -3
floatMontants TTC ou taux de remise3.14, 0.5
boolSuivre l'état de connexion ou la dispo d'un stockTrue, False
strStocker des noms d'utilisateur ou des commentaires'hello'
listUn panier ou une liste ordonnée de résultats de recherche[1, 2, 3]
tupleDes paires fixes, comme latitude/longitude(1, 2, 3)
dictContenir des infos utilisateur (id / name / email){'a': 1}
setDédupliquer des tags ou vérifier l'appartenance{1, 2, 3}

Garde aussi en tête si un type est modifiable (mutable) ou non modifiable (immuable). list / dict / set sont mutables ; tout le reste est immuable.

Tu peux définir tes propres types avec class

Tout ce qu'on a vu jusque-là — int / list / dict et leurs amis — est un type fourni par Python (un type intégré). Dans les vrais projets, beaucoup de concepts apparaissent que les types intégrés ne savent pas vraiment représenter seuls : « Utilisateur », « Produit », « Commande »… Python te permet de définir tes propres types avec class — c'est la porte d'entrée de la programmation orientée objet (OOP). On reviendra en détail sur l'OOP dans de futurs articles.

Classes et instances
class Point(plan)Point(3, 4)(appel)p(instance)utilisecrée
# Définir un nouveau type Point (une coordonnée)
class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

p = Point(3, 4)   # créer une instance de Point
print(p.x)        # 3

Un vrai cours d'OOP arrive dans une autre série

Classes, héritage, polymorphisme et le reste de la programmation orientée objet seront couverts dans une série dédiée à part. Pour l'instant, il suffit de savoir que en plus des types intégrés, tu peux aussi construire les tiens.

QUIZ

Vérification des connaissances

Répondez à chaque question une par une.

Question 1Parmi ces propositions, laquelle décrit le mieux l'intérêt de « penser aux types » en Python ?

Question 2Parmi les types suivants, lequel est mutable (modifiable) ?

Question 3Quel mot-clé utilises-tu pour définir ton propre nouveau type en Python ?