QCM Python – Partie 32

Bienvenue dans notre QCM Python ! Que vous soyez débutant ou déjà expérimenté en programmation, ce questionnaire à choix multiples est l’occasion parfaite de tester vos connaissances en Python. Grâce à des questions couvrant tous les niveaux, vous pourrez évaluer votre maîtrise des concepts clés du langage, comme les structures de données, les fonctions, les modules et bien plus. Si vous cherchez à améliorer vos compétences ou à vous préparer pour un examen, ce QCM Python est fait pour vous. Lancez-vous et découvrez où vous en êtes !
 
 

1. Que fait l’opérateur in en Python ?

A Il vérifie si un élément existe dans une collection (liste, dictionnaire, etc.)

B Il permet d’ajouter un élément à une liste

C Il permet de créer une liste

D Il remplace un élément dans une liste

A
L’opérateur in permet de vérifier la présence d’un élément dans une séquence, comme une liste, un tuple, ou une chaîne de caractères. Par exemple :

mon_list = [1, 2, 3]
print(2 in mon_list)  # Affiche True

 

 

2. Que fait la fonction zip() en Python ?

A Elle combine deux listes élément par élément dans un dictionnaire

B Elle additionne les éléments de deux listes

C Elle renvoie une séquence de tuples combinant les éléments de plusieurs listes

D Elle inverse l’ordre des éléments d’une liste

C
La fonction zip() prend plusieurs itérables et les combine en tuples. Par exemple :

a = [1, 2, 3]
b = ['a', 'b', 'c']
print(list(zip(a, b)))  # Affiche [(1, 'a'), (2, 'b'), (3, 'c')]

 

 

3. Quel est le résultat de l’exécution du code suivant ?
class Animal:
    @classmethod
    def parler(cls):
        print("L'animal parle")

class Chien(Animal):
    @classmethod
    def parler(cls):
        print("Le chien aboie")

Chien.parler()

A "L'animal parle"

B "Le chien aboie"

C "L'animal parle" puis "Le chien aboie"

D L’erreur TypeError se produit

B
Ici, la méthode parler est redéfinie dans la classe Chien. Lorsque vous appelez Chien.parler(), la méthode parler de Chien est utilisée, car la méthode est spécifique à la sous-classe et remplace celle de la classe parente.

 

 
 

4. Que permettent de faire les méthodes __eq__ et __ne__ en Python ?

A Elles permettent de comparer deux objets pour l’égalité (==) et l’inégalité (!=).

B Elles permettent de déterminer la valeur d’un attribut particulier dans un objet.

C Elles sont utilisées pour comparer deux objets en fonction de leur type.

D Elles permettent de définir des méthodes statiques pour les classes.

A
Les méthodes __eq__ et __ne__ sont utilisées pour définir les comportements des opérateurs == (égalité) et != (inégalité), respectivement, lorsqu’ils sont utilisés avec des objets de votre classe.

 

 

5. Que fait la fonction super() dans une sous-classe ?

A Elle permet d’appeler une méthode ou un constructeur de la classe parente.

B Elle permet d’appeler une méthode de la classe actuelle uniquement.

C Elle remplace la méthode de la classe parente.

D Elle supprime l’héritage dans la sous-classe.

A
La fonction super() permet d’appeler des méthodes de la classe parente dans une sous-classe. Elle est souvent utilisée pour appeler le constructeur de la classe parente dans une sous-classe.

 

 

6. Quelle est la différence principale entre __init__ et __new__ ?

A Il n’y a aucune différence, les deux méthodes ont la même fonction.

B __init__ est utilisé pour détruire l’objet, tandis que __new__ est utilisé pour initialiser l’objet.

C __new__ est une méthode spéciale appelée uniquement dans les classes dérivées.

D __init__ est utilisé pour initialiser les attributs de l’objet, tandis que __new__ est utilisé pour créer l’objet lui-même.

D
__new__ est responsable de la création de l’objet, tandis que __init__ est responsable de l’initialisation de l’objet après sa création. En général, __new__ est rarement redéfini, mais il peut être utile dans des cas comme la création de classes singleton.

 

 
 

7. Comment accédez-vous à une classe imbriquée dans une autre classe en Python ?

A Vous pouvez y accéder en utilisant un point (.) après le nom de la classe extérieure.

B Vous devez instancier la classe imbriquée avant de l’utiliser.

C Vous accédez à la classe imbriquée uniquement avec une méthode @staticmethod.

D Les classes imbriquées ne sont pas autorisées en Python.

A
En Python, une classe imbriquée (ou classe interne) peut être accédée en utilisant le nom de la classe externe suivi du nom de la classe imbriquée.

 

 

8. Quel est l’effet de tenter d’instancier une classe abstraite en Python ?

A Cela entraînera une erreur NameError.

B Cela fonctionne normalement, car les classes abstraites peuvent être instanciées.

C Cela entraînera une erreur TypeError.

D Cela entraînera une erreur AttributeError.

C
Une classe abstraite ne peut pas être instanciée directement. Si vous tentez de créer une instance d’une classe qui contient des méthodes abstraites non implémentées, Python lèvera une erreur TypeError. Exemple :

from abc import ABC, abstractmethod

class Animal(ABC):
    @abstractmethod
    def parler(self):
        pass

# Essayer d'instancier une classe abstraite provoque une erreur
# animal = Animal()  # Lève TypeError: Can't instantiate abstract class Animal with abstract methods parler

 

 

9. Que fait un décorateur d’instance en Python ?

A Il permet de modifier le comportement d’une méthode d’instance.

B Il permet de transformer un attribut en méthode de la classe.

C Il permet de modifier le comportement d’une méthode statique.

D Il permet de créer des instances de classe supplémentaires.

A
Un décorateur d’instance est utilisé pour modifier ou enrichir le comportement d’une méthode d’instance. Par exemple, il peut être utilisé pour ajouter des fonctionnalités de mise en cache, de journalisation ou de validation des entrées.

 

 
 

10. Quelle est la fonction des méthodes __getitem__ et __setitem__ ?

A Elles sont utilisées pour obtenir et modifier des éléments d’une collection, comme une liste ou un dictionnaire.

B Elles permettent d’initialiser un objet à partir d’un élément.

C Elles définissent la logique des opérations de multiplication et division pour une classe.

D Elles sont utilisées uniquement dans des classes abstraites.

A
Les méthodes __getitem__ et __setitem__ sont utilisées pour définir le comportement d’accès et de modification des éléments dans une collection personnalisée, comme une liste ou un dictionnaire.

 

Exercice Python Corrigé

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *