Top 40 QCM sur PYTHON avec corrigés

Question 1 sur 40

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

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

En Python, la classe type est une instance de type elle-même. Donc, type(type).__class__ est de type type.

Question 2 sur 40

2. Quelle est la sortie de print(issubclass(type, object)) ?

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

En Python, type est une sous-classe de object, donc issubclass(type, object) renvoie True.

Question 3 sur 40

3. Que fait la méthode __delattr__() dans une classe Python ?

  • A. Supprime un attribut de l'objet.
  • B. Définit un attribut sur l'objet.
  • C. Retourne un attribut de l'objet.
  • D. Initialise l'objet avec des attributs.
A

La méthode __delattr__() est utilisée pour supprimer un attribut de l'objet. Elle est appelée lorsque l'on utilise del sur un attribut.

Question 4 sur 40

4. Quelle est la sortie de print(len({'a': 1, 'b': 2})) ?

  • A. 2
  • B. 1
  • C. 3
  • D. 0
A

La fonction len() retourne le nombre de paires clé-valeur dans un dictionnaire. Dans ce cas, il y a 2 paires.

Question 5 sur 40

5. Que fait la méthode __getattr__() ?

  • A. Retourne la valeur d'un attribut si celui-ci est accessible.
  • B. Retourne un attribut de l'objet.
  • C. Définit un attribut sur l'objet.
  • D. Supprime un attribut de l'objet.
A

La méthode __getattr__() est appelée lorsque l'attribut demandé n'est pas trouvé dans l'objet. Elle permet de définir un comportement par défaut pour les attributs inexistants.

Question 6 sur 40

6. Que fait l'expression super().__mro__ ?

  • A. Affiche l'ordre de résolution de méthode de la classe actuelle.
  • B. Affiche les méthodes de la classe actuelle.
  • C. Affiche les sous-classes de la classe actuelle.
  • D. Affiche les attributs de la classe actuelle.
A

La méthode __mro__ retourne l'ordre de résolution des méthodes pour une classe, ce qui montre l'ordre dans lequel les classes parente sont consultées pour la résolution de méthode.

Question 7 sur 40

7. Quelle est la sortie de print(type([]).__bases__) ?

  • A. (<class 'object'>)
  • B. (<class 'list'>)
  • C. (<class 'type'>)
  • D. (<class 'object'>, <class 'type'>)
A

Les listes en Python héritent de la classe object, donc type([]).__bases__ retourne une base de classe contenant object.

Question 8 sur 40

8. Que fait la méthode __contains__() ?

  • A. Vérifie si un élément est présent dans l'objet.
  • B. Définit un élément à un index spécifié.
  • C. Retourne un élément à partir de l'index spécifié.
  • D. Supprime un élément de l'objet.
A

La méthode __contains__() est utilisée pour vérifier si un élément est présent dans un objet, généralement pour les opérations in.

Question 9 sur 40

9. Quelle est la sortie de print(type(1).__class__.__mro__) ?

  • A. (<class 'type'>, <class 'object'>)
  • B. (<class 'object'>, <class 'int'>)
  • C. (<class 'type'>, <class 'int'>, <class 'object'>)
  • D. (<class 'int'>, <class 'type'>, <class 'object'>)
A

La méthode __mro__ pour type(1).__class__ donne l'ordre de résolution des méthodes de type, qui est <class 'type'>, <class 'object'>.

Question 10 sur 40

10. Que fait l'expression type(object()) ?

  • A. Retourne <class 'object'>
  • B. Retourne <class 'type'>
  • C. Retourne <class 'NoneType'>
  • D. Retourne <class 'int'>
A

La fonction type() appliquée à une instance d'object retourne la classe de l'objet, qui est <class 'object'>.

Question 11 sur 40

11. Que fait dir() quand il est appelé sans arguments ?

  • A. Affiche les attributs et méthodes de l'espace de noms actuel.
  • B. Affiche les attributs d'un objet spécifié.
  • C. Affiche les attributs d'un module spécifié.
  • D. Affiche les méthodes d'une classe spécifiée.
A

Lorsque dir() est appelé sans arguments, il affiche les noms dans l'espace de noms local actuel.

Question 12 sur 40

12. Que fait la méthode __call__() ?

  • A. Permet à une instance de la classe d'être appelée comme une fonction.
  • B. Permet à une instance de la classe d'être utilisée comme un itérateur.
  • C. Permet à une instance de la classe d'être indexée.
  • D. Permet à une instance de la classe d'être définie.
A

La méthode __call__() permet à une instance de classe d'être appelée comme une fonction. Cela est utile pour créer des objets qui se comportent comme des fonctions.

Question 13 sur 40

13. Que fait la méthode __new__() ?

  • A. Crée une nouvelle instance d'une classe.
  • B. Initialise une instance d'une classe.
  • C. Supprime une instance d'une classe.
  • D. Retourne une instance existante d'une classe.
A

La méthode __new__() est responsable de la création d'une nouvelle instance d'une classe, avant que __init__() ne soit appelé pour l'initialiser.

Question 14 sur 40

14. Quelle est la sortie de print((lambda x: x + 2)(5)) ?

  • A. 7
  • B. 5
  • C. 2
  • D. 10
A

La fonction lambda lambda x: x + 2 prend un argument x et ajoute 2 à celui-ci. Lorsque 5 est passé comme argument, le résultat est 7.

Question 15 sur 40

15. Que fait la méthode __enter__() dans le contexte d'un gestionnaire de contexte ?

  • A. Initialise et prépare l'objet pour l'utilisation dans le bloc with.
  • B. Définit les attributs de l'objet.
  • C. Supprime l'objet du contexte.
  • D. Retourne l'objet du gestionnaire de contexte.
A

La méthode __enter__() est appelée lorsque l'exécution entre dans le bloc with, permettant à l'objet de préparer les ressources nécessaires.

Question 16 sur 40

16. Que fait la méthode __exit__() dans le contexte d'un gestionnaire de contexte ?

  • A. Nettoie les ressources et effectue les actions nécessaires lors de la sortie du bloc with.
  • B. Définit les attributs de l'objet.
  • C. Supprime l'objet du contexte.
  • D. Initialise l'objet avec des attributs.
A

La méthode __exit__() est appelée lorsque l'exécution sort du bloc with, permettant à l'objet de nettoyer les ressources et effectuer les actions nécessaires.

Question 17 sur 40

17. Quelle est la sortie de print((1, 2) + (3, 4)) ?

  • A. (1, 2, 3, 4)
  • B. (4, 5)
  • C. (1, 2) (3, 4)
  • D. (1, 2, 3)
A

Les tuples en Python peuvent être concaténés à l'aide de l'opérateur +. La concaténation de (1, 2) et (3, 4) donne (1, 2, 3, 4).

Question 18 sur 40

18. Que fait la méthode __del__() ?

  • A. Définit des attributs sur l'objet.
  • B. Initialise l'objet avec des attributs.
  • C. Supprime une instance d'une classe.
  • D. Retourne les attributs d'une instance d'une classe.
C

La méthode __del__() est appelée lorsque l'objet est supprimé, permettant de définir des actions à effectuer lors de la suppression de l'objet.

Question 19 sur 40

19. Quelle est la sortie de print({'a': 1, 'b': 2}.get('a')) ?

  • A. 1
  • B. 2
  • C. None
  • D. Error
A

La méthode get() sur un dictionnaire retourne la valeur associée à la clé spécifiée. Pour la clé 'a', la valeur est 1.

Question 20 sur 40

20. Quelle est la sortie de print('abc'.upper()) ?

  • A. ABC
  • B. abc
  • C. Abc
  • D. None
A

La méthode upper() convertit tous les caractères d'une chaîne en majuscules. Donc, 'abc'.upper() retourne ABC.

Question 21 sur 40

21. Que fait la méthode __iter__() ?

  • A. Rend l'objet itérable.
  • B. Retourne la longueur de l'objet.
  • C. Définit un élément à un index spécifié.
  • D. Initialise un attribut sur l'objet.
A

La méthode __iter__() rend l'objet itérable en retournant un itérateur pour l'objet. Cela permet d'utiliser l'objet dans des boucles for.

Question 22 sur 40

22. Quelle est la sortie de print(bool([])) ?

  • A. False
  • B. True
  • C. 0
  • D. Error
A

En Python, une liste vide est considérée comme False dans un contexte booléen.

Question 23 sur 40

23. Que fait la méthode __add__() ?

  • A. Définit le comportement de l'addition entre deux objets.
  • B. Définit le comportement de la soustraction entre deux objets.
  • C. Définit le comportement de la multiplication entre deux objets.
  • D. Définit le comportement de la division entre deux objets.
A

La méthode __add__() est utilisée pour définir le comportement de l'addition (+) entre deux objets.

Question 24 sur 40

24. Quelle est la sortie de print(1 << 2) ?

  • A. 4
  • B. 2
  • C. 8
  • D. 1
A

L'opérateur << est l'opérateur de décalage binaire à gauche. Il décale les bits de 1 de 2 positions vers la gauche, ce qui donne 4.

Question 25 sur 40

25. Que fait la méthode __eq__() ?

  • A. Définit le comportement de l'égalité entre deux objets.
  • B. Définit le comportement de l'inégalité entre deux objets.
  • C. Définit le comportement de la comparaison supérieure entre deux objets.
  • D. Définit le comportement de la comparaison inférieure entre deux objets.
A

La méthode __eq__() est utilisée pour définir le comportement de l'égalité (==) entre deux objets.

Question 26 sur 40

26. Quelle est la sortie de print([1, 2, 3] * 2) ?

  • A. [1, 2, 3, 1, 2, 3]
  • B. [1, 2, 3]
  • C. [2, 3, 4]
  • D. [1, 2]
A

L'opérateur * répète les éléments d'une liste. Donc, [1, 2, 3] * 2 donne [1, 2, 3, 1, 2, 3].

Question 27 sur 40

27. Que fait la méthode __str__() ?

  • A. Définit la représentation en chaîne de l'objet.
  • B. Définit le comportement de l'addition entre deux objets.
  • C. Définit la représentation binaire de l'objet.
  • D. Définit la longueur de l'objet.
A

La méthode __str__() est utilisée pour définir la représentation en chaîne (chaîne de caractères) d'un objet, ce qui est utilisé par la fonction str().

Question 28 sur 40

28. Quelle est la sortie de print((1, 2) * 2) ?

  • A. (1, 2, 1, 2)
  • B. (2, 4)
  • C. (1, 2)
  • D. (1, 2, 2)
A

L'opérateur * répète les éléments d'un tuple. Donc, (1, 2) * 2 donne (1, 2, 1, 2).

Question 29 sur 40

29. Que fait la méthode __repr__() ?

  • A. Définit une représentation formelle de l'objet, souvent utilisée pour le débogage.
  • B. Définit le comportement de l'égalité entre deux objets.
  • C. Définit la longueur de l'objet.
  • D. Définit la représentation binaire de l'objet.
A

La méthode __repr__() est utilisée pour définir une représentation formelle de l'objet qui devrait idéalement être un code Python valide représentant l'objet, souvent utilisée pour le débogage.

Question 30 sur 40

30. Quelle est la sortie de print((3, 2, 1).index(2)) ?

  • A. 1
  • B. 2
  • C. 3
  • D. 0
A

La méthode index() retourne l'index de la première occurrence de l'élément spécifié. Pour 2 dans le tuple (3, 2, 1), l'index est 1.

Question 31 sur 40

31. Que fait la méthode __hash__() ?

  • A. Retourne un code de hachage pour l'objet.
  • B. Retourne la longueur de l'objet.
  • C. Retourne la représentation en chaîne de l'objet.
  • D. Retourne un attribut de l'objet.
A

La méthode __hash__() retourne un code de hachage pour l'objet, utilisé principalement pour les structures de données basées sur des tables de hachage, comme les ensembles et les dictionnaires.

Question 32 sur 40

32. Quelle est la sortie de print((2 ** 3) * 2) ?

  • A. 16
  • B. 8
  • C. 6
  • D. 10
A

L'opérateur ** est l'opérateur d'exponentiation, donc 2 ** 3 est 8. En multipliant ce résultat par 2, on obtient 16.

Question 33 sur 40

33. Que fait la méthode __len__() ?

  • A. Retourne la longueur de l'objet.
  • B. Retourne un code de hachage pour l'objet.
  • C. Retourne la représentation en chaîne de l'objet.
  • D. Retourne un attribut de l'objet.
A

La méthode __len__() retourne la longueur (le nombre d'éléments) d'un objet, généralement pour les conteneurs comme les listes, les chaînes, etc.

Question 34 sur 40

34. Que fait la méthode __contains__() ?

  • A. Vérifie si un élément est présent dans l'objet.
  • B. Retourne un élément de l'objet.
  • C. Définit un élément dans l'objet.
  • D. Supprime un élément de l'objet.
A

La méthode __contains__() vérifie si un élément est présent dans un objet, utilisé par l'opérateur in.

Question 35 sur 40

35. Quelle est la sortie de print('hello'.replace('e', 'a')) ?

  • A. hallo
  • B. hello
  • C. halla
  • D. hella
A

La méthode replace() remplace toutes les occurrences d'un sous-ensemble de la chaîne par un autre sous-ensemble. Donc, 'hello'.replace('e', 'a') donne hallo.

Question 36 sur 40

36. Que fait la méthode __getitem__() ?

  • A. Retourne un élément de l'objet à un index spécifié.
  • B. Définit un élément à un index spécifié.
  • C. Supprime un élément de l'objet à un index spécifié.
  • D. Retourne la longueur de l'objet.
A

La méthode __getitem__() retourne un élément de l'objet à un index spécifié, permettant l'accès aux éléments de l'objet de manière similaire aux indices des listes et des tuples.

Question 37 sur 40

37. Quelle est la sortie de print(len('Python')) ?

  • A. 6
  • B. 7
  • C. 5
  • D. 8
A

La fonction len() retourne la longueur d'une chaîne. La chaîne 'Python' a une longueur de 6.

Question 38 sur 40

38. Que fait la méthode __reversed__() ?

  • A. Retourne un itérateur pour parcourir l'objet en ordre inverse.
  • B. Définit l'ordre des éléments dans l'objet.
  • C. Retourne la longueur de l'objet.
  • D. Supprime un élément de l'objet.
A

La méthode __reversed__() retourne un itérateur qui permet de parcourir l'objet en ordre inverse.

Question 39 sur 40

39. Que fait la méthode __contains__() ?

  • A. Vérifie si un élément est présent dans l'objet.
  • B. Retourne un élément de l'objet.
  • C. Définit un élément dans l'objet.
  • D. Supprime un élément de l'objet.
A

La méthode __contains__() vérifie si un élément est présent dans un objet, utilisée par l'opérateur in.

Question 40 sur 40

40. Quelle est la sortie de print('abc'.startswith('a')) ?

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

La méthode startswith() vérifie si la chaîne commence par le sous-ensemble spécifié. Ici, 'abc'.startswith('a') retourne True.

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.