QCM : Introduction à la Programmation Orientée Objet en Python — 12 questions

Questions et réponses du QCM

1. Quel énoncé décrit le mieux la programmation orientée objet ?

Elle impose d’écrire uniquement des fonctions indépendantes
Elle consiste à stocker les données dans des tableaux sans comportement
Elle organise le code autour d’objets créés à partir de classes
Elle interdit l’utilisation d’attributs et de méthodes

Elle organise le code autour d’objets créés à partir de classes

Explication

La programmation orientée objet organise le code autour d’objets manipulés via des classes. Les autres propositions décrivent des approches qui ne correspondent pas à cette organisation.

2. Dans une classe, quel rôle jouent les attributs et les méthodes ?

Les attributs exécutent des calculs et les méthodes stockent des valeurs
Les attributs décrivent l’état de l’objet et les méthodes réalisent des actions sur lui
Les attributs remplacent les objets et les méthodes remplacent les classes
Les attributs servent uniquement à afficher le nom de la classe

Les attributs décrivent l’état de l’objet et les méthodes réalisent des actions sur lui

Explication

Les attributs sont des propriétés liées à l’objet, tandis que les méthodes sont des fonctions qui agissent sur cet objet. C’est la distinction centrale entre état et comportement.

3. Quel mot-clé sert à définir l’en-tête d’une classe en Python ?

def
class
init
self

class

Explication

Le mot-clé class introduit une définition de classe en Python. def sert à définir une méthode, tandis que self désigne l’objet courant.

4. Pourquoi la méthode __init__ est-elle particulière dans une classe Python ?

Elle remplace le nom de la classe lors de l’instanciation
Elle est appelée automatiquement à la création d’un objet pour initialiser ses attributs
Elle sert à appeler une méthode sans utiliser l’objet
Elle permet de lire directement un attribut sans point

Elle est appelée automatiquement à la création d’un objet pour initialiser ses attributs

Explication

__init__ est le constructeur : il s’exécute automatiquement lors de la création d’une instance afin d’initialiser ses attributs. Les autres propositions ne décrivent pas son rôle.

5. Comment accède-t-on à la valeur d’un attribut appartenant à une instance ?

en écrivant nom_objet.nom_attribut
en écrivant nom_attribut(nom_objet)
en écrivant nom_objet[nom_attribut]
en écrivant nom_objet->nom_attribut

en écrivant nom_objet.nom_attribut

Explication

Pour lire un attribut d’instance, on utilise la notation avec le point : nom_objet.nom_attribut. C’est la syntaxe standard d’accès aux membres liés à l’objet.

6. Quelle différence distingue une méthode d’une fonction indépendante dans ce contexte ?

La méthode est liée à un objet et s’appelle via l’instance
La fonction dépend toujours d’un attribut d’instance
La fonction est définie uniquement à l’intérieur d’un constructeur
La méthode ne prend jamais de paramètres

La méthode est liée à un objet et s’appelle via l’instance

Explication

Une méthode appartient à une classe et agit sur un objet précis via l’instance. Une fonction indépendante n’est pas liée à un objet particulier.

7. Dans un constructeur défini avec def __init__(self, mq="Peugeot"), que se passe-t-il lors de Voiture() ?

L’attribut reçoit la valeur par défaut Peugeot
La création échoue car un argument est obligatoire
L’objet est créé avec une marque aléatoire
La valeur de mq devient automatiquement None

L’attribut reçoit la valeur par défaut Peugeot

Explication

Si aucun argument n’est fourni, la valeur par défaut du paramètre est utilisée, ici "Peugeot". C’est précisément le rôle d’un paramètre par défaut.

8. Comment rendre une marque obligatoire au moment de la création d’une instance ?

En supprimant la valeur par défaut du paramètre du constructeur
En ajoutant un second constructeur dans la classe
En remplaçant le constructeur par une méthode d’affichage
En donnant toujours la même valeur dans print

En supprimant la valeur par défaut du paramètre du constructeur

Explication

Pour imposer une valeur, il faut retirer la possibilité d’utiliser une valeur par défaut dans le constructeur. L’utilisateur devra alors fournir l’argument à la création.

9. Que fait mise_en_marche() lorsque l’attribut estenmarche vaut déjà True ?

Elle modifie quantite_essence sans message
Elle remet estenmarche à False et arrête la voiture
Elle efface l’attribut estenmarche
Elle affiche que l’action est inutile car la voiture est déjà en marche

Elle affiche que l’action est inutile car la voiture est déjà en marche

Explication

Quand la voiture est déjà en marche, la méthode ne change rien et signale que l’action est inutile. Elle ne doit pas inverser l’état.

10. Que se passe-t-il si consommation_essence(v) est appelée alors que la voiture est à l’arrêt ?

La voiture passe automatiquement en marche
Le réservoir est rempli à 50 litres
Le carburant n’est pas modifié et un message d’impossibilité est affiché
La quantité d’essence diminue quand même

Le carburant n’est pas modifié et un message d’impossibilité est affiché

Explication

Si la voiture est arrêtée, la consommation ne doit pas s’effectuer et la méthode affiche un message d’impossibilité. Le carburant reste inchangé.

11. Quel est le rôle de l’attribut quantite_essence dans une instance de voiture ?

Décrire la marque de la voiture
Enregistrer la vitesse de déplacement
Indiquer si la voiture est en marche
Stocker le volume de carburant restant

Stocker le volume de carburant restant

Explication

quantite_essence représente la quantité d’essence encore disponible dans la voiture. L’état de marche est suivi par un autre attribut, estenmarche.

12. Que se passe-t-il lorsqu’une voiture en marche consomme une quantité d’essence supérieure à ce qu’il reste ?

Le carburant devient négatif et la voiture continue
La consommation est ignorée et aucun changement n’a lieu
La voiture est arrêtée et le message « panne d’essence » s’affiche
La voiture se met en marche avec le carburant restant

La voiture est arrêtée et le message « panne d’essence » s’affiche

Explication

Si la voiture fonctionne et qu’il n’y a plus assez d’essence après consommation, la méthode met estenmarche à False et affiche « panne d’essence ». Elle signale aussi la quantité restante.

Révisez avec les flashcards

Mémorisez les réponses avec 12 flashcards sur Introduction à la Programmation Orientée Objet en Python.

Programmation orientée objet — définition ?

Organisation du code autour d’objets et classes

Classe Python — rôle ?

Définir la structure d’un objet

Constructeur __init__ — fonction ?

Initialise les attributs d’une instance

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Introduction à la Programmation Orientée Objet en Python.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM