wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Quiz POO python

Total questions: 26

Worksheet time: 13mins

Name
Class
Date
1.

C'est quoi l'héritage multi-niveaux ?

a)

Classe C hérite de B qui hérite de A

b)

Classe C hérite de A et B en même temps

c)

Classe C hérite seulement de A ou de B

d)

Classe C est indépendante de A et B

2.

C'est quoi le problème du diamant dans l'héritage multiple ?

a)

Une classe ne peut pas avoir de constructeur

b)

Deux classes mères héritent d'une même classe et une classe fille hérite des deux

c)

Une classe hérite de quatre classes en même temps

d)

Le code devient trop long à écrire

3.

Que signifie MRO en Python ?

a)

Multiple Resolution Object

b)

Method Resolution Order

c)

Module Reference Organization

d)

Main Runtime Operation

4.

Quelle est la syntaxe correcte pour l'héritage multiple en Python ?

a)

class C(A)(B):

b)

class C extends A, B:

c)

class C(A, B):

d)

class C inherits A, B:

5.

Comment afficher l'ordre de résolution des méthodes (MRO) d'une classe ?

a)

Classe.order()

b)

Classe.__mro__

c)

Classe.resolution()

d)

Classe.__heritage__

6.

Qu'est-ce que la redéfinition (Override) d'une méthode ?

a)

Créer une méthode avec le même nom mais des paramètres différents

b)

Réécrire une méthode héritée dans la classe fille avec le même nom

c)

Supprimer une méthode de la classe parent

d)

Renommer une méthode existante

7.

Python supporte-t-il nativement la surcharge de méthodes (Overload) ?

a)

Oui, comme en Java

b)

Non, la dernière définition écrase les précédentes

c)

Oui, mais seulement pour les méthodes statiques

d)

Oui, avec le décorateur @overload

8.

Que fait super().__init__() dans une classe fille ?

a)

Supprime le constructeur de la classe parent

b)

Appelle le constructeur de la classe parent

c)

Crée une nouvelle instance de la classe parent

d)

Initialise les attributs statiques

9.

Comment simuler la surcharge de méthodes en Python ?

a)

En utilisant des paramètres par défaut ou *args

b)

En créant plusieurs fichiers Python

c)

En utilisant le décorateur @override

d)

Ce n'est pas possible en Python

10.

Si une classe fille redéfinit une méthode, quelle version sera exécutée ?

a)

Toujours la méthode de la classe parent

b)

La méthode de la classe fille

c)

Les deux méthodes en même temps

d)

Cela provoque une erreur

11.

Une méthode d'instance a accès à :

a)

Les attributs de classe uniquement

b)

Les attributs d'instance uniquement

c)

Rien du tout

d)

Les attributs de classe et d'instance

12.

Une méthode d'instance a accès à :

a)

Les attributs de classe uniquement

b)

Les attributs d'instance uniquement

c)

Rien du tout

d)

Les attributs de classe et d'instance

13.

Une méthode de classe (@classmethod) a accès à :

a)

Les attributs de classe uniquement

b)

Les attributs d'instance uniquement

c)

Rien du tout

d)

Les attributs de classe et d'instance

14.

Une méthode statique (@staticmethod) a accès à :

a)

Les attributs de classe uniquement

b)

Les attributs d'instance uniquement

c)

Rien du tout (ni self, ni cls)

d)

Les attributs de classe et d'instance

15.

Quel est le premier paramètre d'une méthode de classe ?

a)

self

b)

cls

c)

this

d)

class

16.

Comment créer un compteur qui compte le nombre d'instances créées ?

a)

Utiliser un attribut d'instance

b)

Utiliser un attribut de classe et l'incrémenter dans __init__

c)

Utiliser une variable globale

d)

Ce n'est pas possible en Python

17.

Quelle méthode spéciale permet de définir le comportement de l'opérateur == ?

a)

__equal__()

b)

__eq__()

c)

__compare__()

d)

__is__()

18.

Quelle méthode spéciale est appelée par print(objet) ?

a)

__print__()

b)

__repr__()

c)

__str__()

d)

__display__()

19.

Quelle méthode permet de définir l'addition entre deux objets avec + ?

a)

__plus__()

b)

__sum__()

c)

__add__()

d)

__addition__()

20.

Quelle méthode permet d'utiliser len(objet) ?

a)

__length__()

b)

__size__()

c)

__len__()

d)

__count__()

21.

Quelle méthode permet de définir l'opérateur < (inférieur à) ?

a)

__less__()

b)

__lt__()

c)

__inf__()

d)

__smaller__()

22.

La relation "Une Voiture A UN Moteur" représente :

a)

L'héritage

b)

La composition

c)

L'abstraction

d)

L'encapsulation

23.

La relation "Un Chien EST UN Animal" représente :

a)

L'héritage

b)

La composition

c)

L'agrégation

d)

La surcharge

24.

Que retourne isinstance(chien, Animal) si Chien hérite de Animal ?

a)

False

b)

True

c)

Une erreur

d)

None

25.

De quelle classe toutes les classes Python héritent-elles automatiquement ?

a)

Base

b)

object

c)

Class

d)

Parent

26.

Quelle fonction vérifie si une classe hérite d'une autre classe ?

a)

isinstance()

b)

issubclass()

c)

inherits()

d)

isparent()