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. Est-il possible d’accéder à une méthode de classe via une instance, sans créer de nouvelle instance de la classe ?
A Non, une méthode de classe ne peut être appelée que via la classe.
B Oui, une méthode de classe peut être appelée directement via une instance.
C Oui, mais uniquement si la méthode est statique.
D Oui, mais seulement si l’attribut est public.
B
En Python, les méthodes de classe peuvent être appelées aussi bien via l’instance que via la classe. Cependant, il est recommandé d’utiliser la classe pour des raisons de lisibilité et de structure.
2. Quelles sont les méthodes qui commencent et finissent par deux caractères de soulignement « __ » ?
A Méthodes spéciales
B Méthodes intégrées
C Méthodes supplémentaires
D Méthodes définies par l’utilisateur
A
Les méthodes spéciales en Python sont des méthodes qui commencent et finissent par deux caractères de soulignement (__). Ces méthodes sont souvent appelées méthodes magiques ou dunder methods (abréviation de « double underscore »). Elles sont utilisées pour définir des comportements spéciaux dans les classes, comme l’ajout, la soustraction, la comparaison, et la gestion des attributs. Par exemple:
__init__(self) : constructeur d’une classe.
__str__(self) : pour définir la représentation en chaîne de caractères d’un objet.
__add__(self, other) : pour définir le comportement de l’opérateur + pour les objets de la classe.
3. Lequel de ces champs est un champ de données privé?
Des variables telles que self.__y sont des membres privés de la classe.
4. À quoi sert setattr() ?
A Pour définir un attribut
B Pour accéder à l’attribut de l’objet
C Vérifier si un attribut existe ou non
D Supprimer un attribut
A
setattr(obj, name, value) est utilisé pour définir un attribut. Si l’attribut n’existe pas, il sera créé. Prenons un exemple :
class Person:
name = "Alex"
age = 25
country = "Schrway"
setattr(Person, 'age', 30)
5. Quelles sont les méthodes que l’objet « iterator » doit implémenter?
A __iter__()
B __iter__() et __next__()
C __iter__() et __super__()
D __iter__(), __super__() et __next__()
B
Prenons un exemple :
class MaClasse:
def __init__(self):
self.language = ['Python','Java','PHP','C']
self.i = -1
def __iter__(self):
return self
def __next__(self):
self.i += 1
if self.i == len(self.language):
raise StopIteration
else:
return self.language[self.i]
o = MaClasse() #création de l'objet
Myiterator = iter(o) #création de l'itérateur
print(next(Myiterator))
print(next(Myiterator))
print(next(Myiterator))
La sortie:
Python
Java
PHP
C
6. Quelle est la sortie du code suivant?
class Point:
def __init__(self, x = 0, y = 0):
self.x = x
self.y = y
def __sub__(self, other):
x = self.x + other.x
y = self.y + other.y
return Point(x,y)
point1 = Point(30, 40)
point2 = Point(10, 20)
point3 = point1 - point2
print(point3.x, point3.y)
A 20 30
B 40 60
C 10 20
D 20 40
B
7. Quelle est la sortie du code suivant?
class MaClasse:
def __init__(self, id):
self.id = id
id = 20
o = MaClasse(10)
print o.id
A 20
B 10
C None
D Erreur
B
L’instanciation de la classe «MaClasse» appelle automatiquement la méthode __init__ et transmet l’objet en tant que paramètre self. 10 est affecté à l’attribut de données de l’objet appelé id.
8. Laquelle des fonctions suivantes convertit un « string » en « float » en python?
Astr(x)
Bfloat(x)
Clong(x [,base] )
Dint(x [,base])
B
La fonction float(x) permet de convertir un « string » (ou tout autre type compatible) en un nombre à virgule flottante (float) en Python, par exemple: print(float("3.14")) #3.14
9. En python 3, que fait l’opérateur // ?
A Division entière
B Retourne le reste
C Division du float par zéro
D idem a ** b
A
L’opérateur // effectue une division entière en Python 3, ce qui signifie qu’il renvoie le quotient de la division en entier, en ignorant la partie décimale. Par exemple, 5/2 retournera 2.5 et 5 // 2 renverra 2.
10. En Python, laquelle des fonctions suivantes vérifie dans une chaîne de caractères que tous les caractères sont des chiffres?
Aisdigit()
Bisalnum()
Ccapitalize()
Dshuffle(lst)
A
La méthode isdigit() vérifie si la chaîne est composée uniquement de chiffres
str = "123"; # Y'a que des chiffres dans cette chaîne de caractères
print str.isdigit() #True
str = "exemple de chaîne de caractères!!!";
print str.isdigit() #False
Exercice Python Corrigé En Ligne – Partie 1Avec des exercices corrigés en Python, vous pratiquerez divers concepts du langage Python. Vous commencerez par des exercices Python de base à des exercices plus…Lire plus