1. Quelle est la sortie de print(type(type).__class__)
?
<class 'type'>
<class 'object'>
<class 'int'>
<class 'type'>
En Python, la classe type
est une instance de type
elle-même. Donc, type(type).__class__
est de type type
.
2. Quelle est la sortie de print(issubclass(type, object))
?
En Python, type
est une sous-classe de object
, donc issubclass(type, object)
renvoie True
.
3. Que fait la méthode __delattr__()
dans une classe Python ?
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.
4. Quelle est la sortie de print(len({'a': 1, 'b': 2}))
?
La fonction len()
retourne le nombre de paires clé-valeur dans un dictionnaire. Dans ce cas, il y a 2 paires.
5. Que fait la méthode __getattr__()
?
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.
6. Que fait l'expression super().__mro__
?
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.
7. Quelle est la sortie de print(type([]).__bases__)
?
<class 'object'>)
<class 'list'>)
<class 'type'>)
<class 'object'>, <class 'type'>)
Les listes en Python héritent de la classe object
, donc type([]).__bases__
retourne une base de classe contenant object
.
8. Que fait la méthode __contains__()
?
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
.
9. Quelle est la sortie de print(type(1).__class__.__mro__)
?
<class 'type'>, <class 'object'>)
<class 'object'>, <class 'int'>)
<class 'type'>, <class 'int'>, <class 'object'>)
<class 'int'>, <class 'type'>, <class 'object'>)
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'>
.
10. Que fait l'expression type(object())
?
<class 'object'>
<class 'type'>
<class 'NoneType'>
<class 'int'>
La fonction type()
appliquée à une instance d'object
retourne la classe de l'objet, qui est <class 'object'>
.
11. Que fait dir()
quand il est appelé sans arguments ?
Lorsque dir()
est appelé sans arguments, il affiche les noms dans l'espace de noms local actuel.
12. Que fait la méthode __call__()
?
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.
13. Que fait la méthode __new__()
?
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.
14. Quelle est la sortie de print((lambda x: x + 2)(5))
?
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
.
15. Que fait la méthode __enter__()
dans le contexte d'un gestionnaire de contexte ?
with
.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.
16. Que fait la méthode __exit__()
dans le contexte d'un gestionnaire de contexte ?
with
.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.
17. Quelle est la sortie de print((1, 2) + (3, 4))
?
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)
.
18. Que fait la méthode __del__()
?
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.
19. Quelle est la sortie de print({'a': 1, 'b': 2}.get('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
.
20. Quelle est la sortie de print('abc'.upper())
?
La méthode upper()
convertit tous les caractères d'une chaîne en majuscules. Donc, 'abc'.upper()
retourne ABC
.
21. Que fait la méthode __iter__()
?
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
.
22. Quelle est la sortie de print(bool([]))
?
En Python, une liste vide est considérée comme False
dans un contexte booléen.
23. Que fait la méthode __add__()
?
La méthode __add__()
est utilisée pour définir le comportement de l'addition (+) entre deux objets.
24. Quelle est la sortie de print(1 << 2)
?
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
.
25. Que fait la méthode __eq__()
?
La méthode __eq__()
est utilisée pour définir le comportement de l'égalité (==) entre deux objets.
26. Quelle est la sortie de print([1, 2, 3] * 2)
?
L'opérateur *
répète les éléments d'une liste. Donc, [1, 2, 3] * 2
donne [1, 2, 3, 1, 2, 3]
.
27. Que fait la méthode __str__()
?
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()
.
28. Quelle est la sortie de print((1, 2) * 2)
?
L'opérateur *
répète les éléments d'un tuple. Donc, (1, 2) * 2
donne (1, 2, 1, 2)
.
29. Que fait la méthode __repr__()
?
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.
30. Quelle est la sortie de print((3, 2, 1).index(2))
?
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
.
31. Que fait la méthode __hash__()
?
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.
32. Quelle est la sortie de print((2 ** 3) * 2)
?
L'opérateur **
est l'opérateur d'exponentiation, donc 2 ** 3
est 8
. En multipliant ce résultat par 2
, on obtient 16
.
33. Que fait la méthode __len__()
?
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.
34. Que fait la méthode __contains__()
?
La méthode __contains__()
vérifie si un élément est présent dans un objet, utilisé par l'opérateur in
.
35. Quelle est la sortie de print('hello'.replace('e', '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
.
36. Que fait la méthode __getitem__()
?
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.
37. Quelle est la sortie de print(len('Python'))
?
La fonction len()
retourne la longueur d'une chaîne. La chaîne 'Python'
a une longueur de 6
.
38. Que fait la méthode __reversed__()
?
La méthode __reversed__()
retourne un itérateur qui permet de parcourir l'objet en ordre inverse.
39. Que fait la méthode __contains__()
?
La méthode __contains__()
vérifie si un élément est présent dans un objet, utilisée par l'opérateur in
.
40. Quelle est la sortie de print('abc'.startswith('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.