QCM Python - Programmation Orientée Objet – Partie 2

Question 1 sur 20

1. Quelle est la sortie de `print(MyClass.__dict__)` où `MyClass` est une classe avec des attributs et des méthodes définis ?

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

La propriété __dict__ retourne un dictionnaire des attributs et des méthodes de la classe.

Question 2 sur 20

2. Que fait `MyClass.__call__()` dans une classe ?

  • A. Permet à une instance de la classe d'être appelée comme une fonction
  • B. Crée une nouvelle instance de la classe
  • C. Définit une méthode de classe
  • D. Appelle une méthode de l'instance
A

La méthode __call__() permet à une instance d'être appelée comme une fonction.

Question 3 sur 20

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

  • A. Tuple des classes parentes
  • B. Liste des méthodes de la classe
  • C. Nom de la classe
  • D. `None`
A

La propriété __bases__ retourne un tuple contenant les classes parentes de la classe.

Question 4 sur 20

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

  • A. Nom de la classe
  • B. Nom de la méthode
  • C. Nom du module
  • D. `None`
A

La propriété __name__ retourne le nom de la classe.

Question 5 sur 20

5. Que fait `MyClass.__getitem__(self, key)` dans une classe ?

  • A. Permet d'accéder aux éléments de l'objet avec la syntaxe `obj[key]`
  • B. Crée un nouvel élément dans l'objet
  • C. Supprime un élément de l'objet
  • D. Modifie un élément de l'objet
A

La méthode __getitem__() permet d'accéder aux éléments de l'objet avec la syntaxe obj[key].

Question 6 sur 20

6. Que fait `MyClass.__setitem__(self, key, value)` dans une classe ?

  • A. Permet de modifier les éléments de l'objet avec la syntaxe `obj[key] = value`
  • B. Crée un nouvel élément dans l'objet
  • C. Supprime un élément de l'objet
  • D. Accède à un élément de l'objet
A

La méthode __setitem__() permet de modifier les éléments de l'objet avec la syntaxe obj[key] = value.

Question 7 sur 20

7. Quelle est la sortie de `print(MyClass.__doc__)` où `MyClass` est une classe avec une docstring ?

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

La propriété __doc__ retourne la docstring de la classe.

Question 8 sur 20

8. Que fait `MyClass.__contains__(self, item)` dans une classe ?

  • A. Permet de vérifier si un élément est contenu dans l'objet avec la syntaxe `item in obj`
  • B. Crée un nouvel élément dans l'objet
  • C. Supprime un élément de l'objet
  • D. Modifie un élément de l'objet
A

La méthode __contains__() permet de vérifier si un élément est contenu dans l'objet avec la syntaxe item in obj.

Question 9 sur 20

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

  • A. Représentation de la classe sous forme de chaîne de caractères
  • B. Nom de la classe
  • C. Liste des attributs
  • D. `None`
A

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

Question 10 sur 20

10. Que fait `MyClass.__enter__()` dans une classe ?

  • A. Initialise un contexte pour une gestion de ressources
  • B. Crée une nouvelle instance de la classe
  • C. Définit une méthode d'instance
  • D. Appelle une méthode de la classe
A

La méthode __enter__() est utilisée dans une déclaration with pour initialiser un contexte de gestion de ressources.

Question 11 sur 20

11. Que fait `MyClass.__exit__(self, exc_type, exc_value, traceback)` dans une classe ?

  • A. Nettoie le contexte après la gestion des ressources dans une déclaration with
  • B. Crée une nouvelle instance de la classe
  • C. Définit une méthode d'instance
  • D. Appelle une méthode de la classe
A

La méthode __exit__() est utilisée dans une déclaration with pour nettoyer les ressources après la gestion de contexte.

Question 12 sur 20

12. Quelle est la sortie de `print(MyClass.__class__.__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 `MyClass.__hash__()` dans une classe ?

  • A. Retourne un entier utilisé pour l'identification des objets
  • B. Crée une nouvelle instance de la classe
  • C. Définit une méthode d'instance
  • D. Appelle une méthode de la classe
A

La méthode __hash__() retourne un entier utilisé pour l'identification des objets dans des structures telles que les ensembles et les dictionnaires.

Question 14 sur 20

14. Que fait `MyClass.__eq__(self, other)` dans une classe ?

  • A. Compare deux objets pour l'égalité
  • B. Crée une nouvelle instance de la classe
  • C. Définit une méthode d'instance
  • D. Appelle une méthode de la classe
A

La méthode __eq__() permet de comparer deux objets pour l'égalité.

Question 15 sur 20

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

  • A. Taille en octets de l'objet
  • B. Nom de la classe
  • C. Liste des attributs
  • D. `None`
A

La méthode __sizeof__() retourne la taille en octets de l'objet.

Question 16 sur 20

16. Que fait `MyClass.__delattr__(self, 'attribute')` dans une classe ?

  • 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 l'attribut de l'objet.

Question 17 sur 20

17. Quelle est la sortie de `print(MyClass.__str__())` où `MyClass` est une classe définie avec une méthode __str__ ?

  • A. Chaîne de caractères représentant l'objet
  • B. Nom de la classe
  • C. Liste des attributs
  • D. `None`
A

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

Question 18 sur 20

18. Que fait `MyClass.__iter__()` dans une classe ?

  • A. Retourne un itérateur pour l'objet
  • B. Crée une nouvelle instance de la classe
  • C. Définit une méthode d'instance
  • D. Appelle une méthode de la classe
A

La méthode __iter__() retourne un itérateur pour l'objet, ce qui permet de le parcourir dans une boucle.

Question 19 sur 20

19. Quelle est la sortie de `print(MyClass.__reversed__())` où `MyClass` est une classe définie avec une méthode __reversed__ ?

  • A. Objets dans l'ordre inversé
  • B. Nom de la classe
  • C. Liste des attributs
  • D. `None`
A

La méthode __reversed__() retourne les objets dans l'ordre inversé.

Question 20 sur 20

20. Que fait `MyClass.__eq__(self, other)` dans une classe ?

  • A. Compare deux objets pour l'égalité
  • B. Crée une nouvelle instance de la classe
  • C. Définit une méthode d'instance
  • D. Appelle une méthode de la classe
A

La méthode __eq__() compare deux objets pour l'égalité.

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.