Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Aperçu

Les objets

Voici la première page de la leçon. Lis-la et essaie les activités. La suite est dans le cours complet.

40 minutes

La fiche du joueur

Un club de foot garde une fiche pour chaque joueur. Sur chaque fiche : le nom et le nombre de buts.

Toutes les fiches ont la même forme. Et il y a des gestes que l’on fait sur une fiche : ajouter un but, remettre à zéro.

En Python, on peut décrire cette forme une fois, puis fabriquer autant de fiches qu’on veut.

Mots-clés

MotCe que ça veut direExemple
ClasseLe plan d’une sorte d’objet. C’est le moule qui sert à fabriquer des fiches.class Joueur:
ObjetUne chose fabriquée avec une classe. Une fiche remplie.lina = Joueur("Lina")
AttributUne information gardée par l’objet.lina.buts
MéthodeUne action que l’objet sait faire. C’est une fonction rangée dans la classe.lina.marquer()
selfDans une méthode, le mot qui veut dire « cet objet-ci ».self.buts
__init__La méthode qui prépare un objet neuf, au moment où on le crée.def __init__(self, nom):

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Une classe, des objets

On écrit class, le nom de la classe avec une majuscule, et deux-points.

Pour fabriquer un objet, on écrit le nom de la classe avec des parenthèses : Joueur().

Ensuite, on peut lui accrocher des attributs avec un point : lina.nom = "Lina".

À toi : deux fiches à la main

Code: python
class Joueur:
    pass


lina = Joueur()
lina.nom = "Lina"
lina.buts = 0

karim = Joueur()
karim.nom = "Karim"
karim.buts = 2

print(lina.nom, lina.buts)
print(karim.nom, karim.buts)

# Crée un troisième joueur, avec ton prénom et 5 buts.

Préparer l’objet tout seul

Remplir chaque fiche à la main, c’est long. On risque d’oublier un attribut.

La méthode __init__ est lancée toute seule quand on crée l’objet. Elle y met les attributs de départ.

Elle a toujours self en premier : c’est l’objet en train d’être fabriqué.

À toi : __init__ et marquer

Code: python
class Joueur:
    def __init__(self, nom):
        # self veut dire : ce joueur-ci, celui qu'on est en train de créer.
        self.nom = nom
        self.buts = 0

    def marquer(self):
        self.buts = self.buts + 1


lina = Joueur("Lina")
print(lina.nom, lina.buts)

lina.marquer()
lina.marquer()
print(lina.nom, lina.buts)

# Appelle lina.marquer() encore une fois. Combien de buts maintenant ?

Exemple travaillé : lina = Joueur("Lina")

ÉtapeCe que fait PythonCe qui existe
1Il fabrique un objet videun objet sans attribut
2Il lance __init__ avec self = cet objet, nom = "Lina"l’objet attend ses attributs
3self.nom = nom range le prénomlina.nom vaut "Lina"
4self.buts = 0 range le zérolina.buts vaut 0
5Il donne l’objet à la variable linalina désigne la fiche

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Contrôle rapide

À toi de jouer

Contrôle rapide

4 questions
Essayez : vos réponses sont notées ici puis oubliées. Connectez-vous si vous voulez conserver votre score et reprendre là où vous en étiez.Se connecter pour conserver mon score

Tes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.

Les méthodes

Une méthode est une fonction écrite dans la classe. On l’appelle avec un point : lina.marquer().

On ne donne pas self à l’appel : Python met tout seul l’objet devant le point.

Dans lina.marquer(), self désigne lina. Dans karim.marquer(), c’est karim.

La leçon continue

8 parties de plus de cette leçon se trouvent dans le cours complet, avec les exercices et la vérification finale. Un compte te donne tout.