QCM Python – 100 Questions
1. Le typage en Python est :
A. Statique
B. Dynamique
C. Fort
→B
2. Quelle fonction retourne le type d’une variable ?
A. typeof
B. class
C. type
→C
3. input() retourne par défaut :
A. int
B. float
C. str
→C
4. Pour convertir une chaîne en entier on utilise :
A. str()
B. int()
C. float()
→B
5. L’opérateur ** sert à :
A. La division
B. La puissance
C. Le modulo
→B
6. L’opérateur // signifie :
A. Division réelle
B. Division entière
C. Modulo
→B
7. a = b = c = 8 est une :
A. Affectation parallèle
B. Affectation multiple
C. Affectation conditionnelle
→B
8. x, y = 2, 5 est une :
A. Affectation multiple
B. Affectation parallèle
C. Affectation dynamique
→B
9. L’opérateur logique ET en Python est :
A. &&
B. and
C. &
→B
10.L’opérateur logique OU est :
A. or
B. ||
C. ou
→A
11.Quelle instruction correspond à un test alternatif ?
A. for
B. if
C. def
→B
12.elif signifie :
A. Fin du if
B. Sinon si
C. Sinon
→B
13.else s’exécute quand :
A. Le if est vrai
B. Aucun test n’est vrai
C. Le programme s’arrête
→B
14.match est utilisé pour :
A. Les boucles
B. Les fonctions
C. Les choix multiples
→C
15.case other sert à :
A. Quitter le match
B. Cas par défaut
C. Tester une condition
→B
16.Une boucle sert à :
A. Tester une condition
B. Répéter des instructions
C. Créer une variable
→B
17.Quelle boucle parcourt une séquence ?
A. if
B. for
C. def
→B
18.range(5) génère :
A. 1 à 5
B. 0 à 5
C. 0 à 4
→C
19.range(1,5) affiche :
A. 0 1 2 3 4
B. 1 2 3 4
C. 1 2 3 4 5
→B
20.range(1,10,3) donne :
A. 1 3 5 7 9
B. 1 4 7
C. 1 2 3
→B
21.while répète tant que :
A. La condition est vraie
B. La condition est fausse
C. Le programme continue
→A
22.break permet de :
A. Continuer
B. Quitter la boucle
C. Redémarrer
→B
23.continue permet de :
A. Quitter la boucle
B. Passer à l’itération suivante
C. Arrêter le programme
→B
24.Une fonction est définie avec :
A. func
B. def
C. function
→B
25.Une fonction peut retourner une valeur avec :
A. print
B. return
C. yield
→B
26.Une fonction sans paramètres et sans retour est :
A. APAR
B. SPAR
C. SPSR
→C
27.Une fonction récursive :
A. Appelle une autre fonction
B. S’appelle elle-même
C. Ne retourne rien
→B
28.factorielle() est un exemple de :
A. Fonction simple
B. Fonction récursive
C. Fonction anonyme
→B
29.Un paramètre par défaut :
A. Est obligatoire
B. A une valeur initiale
C. Est privé
→B
30.Un module est :
A. Une classe
B. Un fichier .py
C. Une variable
→B
31.Le module math sert à :
A. Fichiers
B. Calculs mathématiques
C. Dates
→B
32.[Link]() calcule :
A. La puissance
B. La racine carrée
C. Le logarithme
→B
33.[Link](a,b) retourne :
A. Un réel
B. Un entier
C. Une liste
→B
34.[Link]() retourne :
A. L’heure seulement
B. La date seulement
C. Date et heure
→C
35.[Link]() permet de :
A. Continuer
B. Quitter le programme
C. Redémarrer
→B
36.Une chaîne est :
A. Mutable
B. Immutable
C. Modifiable
→B
37.len(ch) retourne :
A. Le nombre de mots
B. Le nombre de caractères
C. L’indice
→B
38.upper() convertit en :
A. Minuscules
B. Majuscules
C. Symboles
→B
39.lower() convertit en :
A. Majuscules
B. Minuscules
C. Chiffres
→B
40.strip() supprime :
A. Les lettres
B. Les espaces
C. Les chiffres
→B
41.replace() :
A. Modifie la chaîne originale
B. Retourne une copie
C. Supprime la chaîne
→B
42.find() retourne :
A. Une erreur
B. -1 si non trouvé
C. None
→B
43.Une liste est :
A. Immutable
B. Mutable
C. Privée
→B
44.append() ajoute :
A. Au début
B. À la fin
C. À un index donné
→B
45.insert() ajoute :
A. À la fin
B. À une position donnée
C. En supprimant
→B
46.pop() supprime :
A. Une valeur
B. Un index
C. Toute la liste
→B
47.remove() supprime :
A. Par index
B. Par valeur
C. Tout
→B
48.sort() :
A. Crée une nouvelle liste
B. Modifie la liste originale
C. Ne trie pas
→B
49.reverse() :
A. Trie
B. Inverse l’ordre
C. Supprime
→B
50.list(range(5)) donne :
A. [1,2,3,4,5]
B. [0,1,2,3,4]
C. [0,1,2,3,4,5]
→B
51.Un dictionnaire est :
A. Ordonné
B. Non ordonné
C. Indexé
→B
52.Un dictionnaire contient :
A. Des valeurs
B. Des clés
C. Des paires clé-valeur
→C
53.keys() retourne :
A. Les valeurs
B. Les clés
C. Les paires
→B
54.values() retourne :
A. Les clés
B. Les valeurs
C. Les index
→B
55.items() retourne :
A. Une liste
B. Des tuples clé-valeur
C. Des chaînes
→B
56.get() retourne :
A. Une erreur
B. None si absent
C. Faux
→B
57.pop() sur un dictionnaire :
A. Supprime une clé
B. Supprime une valeur
C. Vide le dictionnaire
→A
58.Un tuple est :
A. Mutable
B. Immutable
C. Modifiable
→B
59.Un tuple peut contenir :
A. Un seul type
B. Plusieurs types
C. Seulement des entiers
→B
60.tuple() permet de :
A. Modifier
B. Convertir
C. Supprimer
→B
61.count() dans un tuple :
A. Compte les éléments
B. Modifie le tuple
C. Supprime
→A
62.Mode r signifie :
A. Écriture
B. Lecture
C. Ajout
→B
63.Mode w :
A. Ajoute
B. Lit
C. Écrase
→C
64.read() lit :
A. Une ligne
B. Tout le fichier
C. Rien
→B
65.readlines() retourne :
A. Une chaîne
B. Une liste
C. Un dictionnaire
→B
66.write() retourne :
A. Rien
B. Le nombre de caractères
C. Une erreur
→B
67.Une classe est :
A. Un objet
B. Un modèle
C. Une variable
→B
68.Un objet est :
A. Une classe
B. Une instance
C. Une fonction
→B
69.Le constructeur est :
A. class
B. init
C. new
→B
70.self représente :
A. La classe
B. L’objet courant
C. Le programme
→B
71.Attribut public :
A. _x
B. __x
C. x
→C
72.Attribut protégé :
A. __x
B. _x
C. x
→B
73.Attribut privé :
A. x
B. _x
C. __x
→C
74.L’héritage permet :
A. Copier une classe
B. Réutiliser une classe
C. Supprimer une classe
→B
75.super().__init__() sert à :
A. Créer un objet
B. Appeler le constructeur parent
C. Détruire l’objet
→B
76.L’héritage multiple signifie :
A. Une classe hérite de plusieurs classes
B. Plusieurs objets
C. Plusieurs méthodes
→A
77.Le polymorphisme permet :
A. Même comportement
B. Comportements différents
C. Aucune méthode
→B
78.La redéfinition correspond à :
A. Héritage
B. Overriding
C. Overloading
→B
79.La surcharge d’opérateurs utilise :
A. def
B. add
C. class
→B
80.Une classe abstraite :
A. Peut être instanciée
B. Ne peut pas être instanciée
C. Est privée
→B
81.@abstractmethod sert à :
A. Créer une classe
B. Déclarer une méthode abstraite
C. Exécuter une méthode
→B
82.Le Web est :
A. Un réseau
B. Une application d’Internet
C. Un langage
→B
83.HTTP est un :
A. Navigateur
B. Protocole
C. Serveur
→B
84.Un navigateur sert à :
A. Stocker des données
B. Afficher des pages web
C. Héberger un site
→B
85.Front-end concerne :
A. Base de données
B. Interface utilisateur
C. Serveur
→B
86.Back-end concerne :
A. Interface
B. Logique serveur
C. Design
→B
87.Python est :
A. Compilé uniquement
B. Interprété
C. Assembleur
→B
88.Un fichier Python a l’extension :
A. .pt
B. .py
C. .exe
→B
89.Une liste peut contenir :
A. Un seul type
B. Plusieurs types
C. Seulement des entiers
→B
90.dir(str) affiche :
A. Le contenu de la chaîne
B. Les méthodes de str
C. La longueur
→B
91.Python est utilisé pour :
A. Web seulement
B. Desktop seulement
C. Plusieurs domaines
→C
Quel est l’objectif principal de la POO ?
A. Accélérer l’exécution du programme
B. Organiser le code à l’aide d’objets
C. Réduire l’utilisation de la mémoire
✅B
2. Un objet est :
A. Une classe abstraite
B. Une instance d’une classe
C. Une méthode
✅B
3. Une classe est :
A. Un objet concret
B. Un modèle décrivant des objets
C. Une variable
✅ Réponse : B
4. Quel est le rôle du constructeur ?
A. Détruire un objet
B. Initialiser les attributs d’un objet
C. Afficher les informations
✅ Réponse : B
5. En Python, le constructeur s’appelle :
A. class
B. new
C. init
✅ Réponse : C
6. Le mot-clé self représente :
A. La classe
B. L’objet courant
C. Le programme
✅ Réponse : B
7. Un attribut public est déclaré :
A. __nom
B. _nom
C. nom
✅ Réponse : C
8. Un attribut protégé est précédé par :
A. #
B. _
C. __
✅ Réponse : B
9. Un attribut privé est précédé par :
A. _
B. __
C. #
✅ Réponse : B
10. L’encapsulation permet :
A. De dupliquer le code
B. De cacher les détails internes
C. D’accélérer le programme
✅ Réponse : B
11. L’héritage permet :
A. De créer plusieurs objets
B. De réutiliser les attributs et méthodes d’une classe
C. De supprimer une classe
✅ Réponse : B
12. Une classe dérivée est :
A. Une classe mère
B. Une classe qui hérite d’une autre
C. Une classe abstraite
✅ Réponse : B
13. super().__init__() sert à :
A. Créer un objet
B. Appeler le constructeur de la classe mère
C. Supprimer l’objet
✅ Réponse : B
14. L’héritage multiple signifie :
A. Une classe hérite d’une seule classe
B. Une classe hérite de plusieurs classes
C. Plusieurs objets dans une classe
✅ Réponse : B
15. Le polymorphisme est :
A. L’utilisation d’une seule méthode
B. La capacité d’avoir plusieurs comportements
C. La suppression des méthodes
✅ Réponse : B
16. La redéfinition de méthode correspond à :
A. Overloading
B. Overriding
C. Encapsulation
✅ Réponse : B
17. En Python, la surcharge de méthodes est :
A. Automatiquement supportée
B. Non supportée nativement
C. Obligatoire
✅ Réponse : B
18. Quelle méthode permet la surcharge de l’opérateur + ?
A. sum
B. add
C. plus
✅ Réponse : B
19. Une classe abstraite :
A. Peut être instanciée
B. Ne peut pas être instanciée
C. Ne contient aucune méthode
✅ Réponse : B
20. @abstractmethod sert à :
A. Définir une méthode privée
B. Déclarer une méthode abstraite
C. Exécuter une méthode
✅ Réponse : B