QCM Python - Programmation Orientée Objet – Partie 1

Question 1 sur 20

1. Quelle est la sortie de `print(type(type(int)))` ?

  • A. <class 'type'>
  • B. `<class 'int'>
  • C. <class 'object'>
  • D. <class 'function'>
A

En Python, type() retourne la classe du type, et type(type(int)) retourne le type de type lui-même, qui est une instance de type.

Question 2 sur 20

2. Quelle est la sortie de `print(isinstance(5, int))` ?

  • A. `True`
  • B. `False`
  • C. `None`
  • D. `Error`
A

La fonction isinstance() vérifie si un objet est une instance d'une classe ou d'un tuple de classes.

Question 3 sur 20

3. Quelle est la sortie de `print(issubclass(bool, int))` ?

  • A. `True`
  • B. `False`
  • C. `None`
  • D. `Error`
A

La fonction issubclass() vérifie si une classe est une sous-classe d'une autre classe.

Question 4 sur 20

4. Que fait `super().__init__()` dans une méthode d'initialisation d'une sous-classe ?

  • A. Appelle le constructeur de la classe parente
  • B. Crée une nouvelle instance de la sous-classe
  • C. Réinitialise l'objet
  • D. Appelle une méthode de classe
A

La fonction super() permet d'appeler des méthodes de la classe parente depuis la sous-classe.

Question 5 sur 20

5. Quelle est la sortie de `print(MyClass.__bases__)` où `MyClass` est une classe définie ?

  • A. Tuple contenant les classes parentes
  • B. Liste contenant les classes parentes
  • C. Nom de la classe parente
  • D. `None`
A

La propriété __bases__ retourne un tuple contenant les classes parentes d'une classe.

Question 6 sur 20

6. Quelle est la sortie de `print(hasattr(obj, 'attribute'))` si `obj` est un objet sans l'attribut `attribute` ?

  • A. `False`
  • B. `True`
  • C. `None`
  • D. `Error`
A

La fonction hasattr() vérifie si un objet a un attribut ou une méthode spécifié(e).

Question 7 sur 20

7. Que fait `classmethod` dans une définition de méthode ?

  • A. Définit une méthode qui reçoit la classe comme premier argument
  • B. Définit une méthode qui reçoit l'objet comme premier argument
  • C. Crée une méthode d'instance
  • D. Crée une méthode statique
A

Le décorateur classmethod indique que la méthode reçoit la classe comme premier argument au lieu de l'instance.

Question 8 sur 20

8. Que fait `staticmethod` dans une définition de méthode ?

  • A. Définit une méthode qui ne dépend ni de l'instance ni de la classe
  • B. Définit une méthode qui reçoit la classe comme premier argument
  • C. Définit une méthode d'instance
  • D. Crée une méthode de classe
A

Le décorateur staticmethod crée une méthode qui n'a pas accès à l'instance ou à la classe.

Question 9 sur 20

9. Que fait `property` dans une définition de classe ?

  • A. Crée une propriété qui peut être accédée comme un attribut mais est en réalité une méthode
  • B. Définit une méthode de classe
  • C. Crée une méthode statique
  • D. Définit une méthode d'instance
A

Le décorateur property permet de définir une méthode qui peut être accédée comme un attribut.

Question 10 sur 20

10. Quelle est la sortie de `print(MyClass.__dict__)` où `MyClass` est une classe définie ?

  • A. Dictionnaire des attributs de classe
  • B. Liste des attributs de classe
  • C. Nom de la classe
  • D. `None`
A

La propriété __dict__ retourne un dictionnaire des attributs d'une classe ou d'une instance.

Question 11 sur 20

11. Que fait `super().method()` dans une méthode d'une sous-classe ?

  • A. Appelle la méthode de la classe parente
  • B. Crée une nouvelle instance de la classe parente
  • C. Modifie l'attribut de la classe parente
  • D. Appelle une méthode de l'instance
A

La fonction super() permet d'appeler une méthode de la classe parente.

Question 12 sur 20

12. Quelle est la sortie de `print(MyClass.__mro__)` où `MyClass` est une classe définie ?

  • A. Tuple de la méthode de résolution de l'ordre
  • B. Liste des méthodes de la classe
  • C. Nom de la classe
  • D. `None`
A

La propriété __mro__ retourne un tuple représentant la méthode de résolution de l'ordre pour une classe.

Question 13 sur 20

13. Que fait `class MyClass:` ?

  • A. Définit une nouvelle classe appelée `MyClass`
  • B. Crée une instance de la classe `MyClass`
  • C. Appelle la classe `MyClass`
  • D. Définit une fonction appelée `MyClass`
A

La syntaxe class MyClass: est utilisée pour définir une nouvelle classe en Python.

Question 14 sur 20

14. Que fait `MyClass.__new__(cls)` ?

  • A. Crée une nouvelle instance de la classe
  • B. Appelle le constructeur de la classe
  • C. Modifie les attributs de la classe
  • D. Appelle une méthode de l'instance
A

La méthode __new__() est utilisée pour créer une nouvelle instance d'une classe.

Question 15 sur 20

15. Quelle est la sortie de `print(MyClass.__init__)` où `MyClass` est une classe définie ?

  • A. Référence à la méthode d'initialisation
  • B. Nom de la méthode d'initialisation
  • C. Liste des attributs de la classe
  • D. `None`
A

La propriété __init__ retourne une référence à la méthode d'initialisation de la classe.

Question 16 sur 20

16. Que fait `MyClass.__delattr__(obj, 'attribute')` ?

  • A. Supprime l'attribut `attribute` de l'objet
  • B. Crée un nouvel attribut `attribute` pour l'objet
  • C. Modifie l'attribut `attribute` de l'objet
  • D. Appelle la méthode d'initialisation
A

La méthode __delattr__() supprime un attribut de l'objet.

Question 17 sur 20

17. Que fait `MyClass.__setattr__(obj, 'attribute', value)` ?

  • A. Définit l'attribut `attribute` de l'objet avec la valeur `value`
  • B. Supprime l'attribut `attribute` de l'objet
  • C. Crée un nouvel objet
  • D. Appelle la méthode d'initialisation
A

La méthode __setattr__() définit un attribut de l'objet avec une valeur spécifiée.

Question 18 sur 20

18. Quelle est la sortie de `print(MyClass.__repr__)` où `MyClass` est une classe définie ?

  • A. Référence à la méthode __repr__
  • B. Nom de la méthode __repr__
  • C. Liste des attributs de la classe
  • D. `None`
A

La propriété __repr__ retourne une référence à la méthode __repr__ de la classe.

Question 19 sur 20

19. Que fait `MyClass.__str__()` dans une classe définie ?

  • A. Retourne une chaîne de caractères représentant l'objet
  • B. Retourne le type de l'objet
  • C. Crée une nouvelle instance de la classe
  • D. Appelle le constructeur de la classe
A

La méthode __str__() retourne une chaîne de caractères représentant l'objet, souvent utilisée pour l'affichage.

Question 20 sur 20

20. Quelle est la sortie de `print(MyClass.__class__)` où `MyClass` est une classe définie ?

  • A. ``
  • B. ``
  • C. ``
  • D. `None`
A

La propriété __class__ retourne la classe de l'objet, pour une classe, cela retourne ``.

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.