Quiz d'auto-évaluation

Présentation & objectifs

Les quiz suivants sont là pour vous aider à vérifier que vous avez compris les articles que vous deviez étudier. Ils sont fournis pour l’auto-évaluation et ne seront ni notés ni stockés.

N’hésitez pas à nous contacter sur le serveur Discord pour toute précision/explication !

Quiz

--- shuffle: true --- # Programmes et langages de programmation Lesquelles des affirmations sur le langage Python sont fausses ? - [ ] Python est un langage de programmation procédural. - [X] Le compilateur Python converti le code source en code exécutable par la machine. - [ ] Le langage Python permet de créer des classes et de les instancier pour créer des objets. - [X] Python est un langage de programmation compilé. # Programmes et langages de programmation Laquelle des affirmations suivantes décrit le mieux la différence fondamentale entre un langage compilé (par exemple, C++) et un langage interprété (par exemple, Python) ? - [ ] Les langages compilés sont toujours plus rapides que les langages interprétés. - [x] Les langages compilés nécessitent une étape de compilation distincte avant leur exécution, tandis que les langages interprétés sont exécutés ligne par ligne par un interpréteur au moment de l'exécution. - [ ] Les langages interprétés ne peuvent être utilisés que pour le développement web, tandis que les langages compilés sont utilisés pour les logiciels système. - [ ] Les langages compilés sont indépendants de la plate-forme, tandis que les langages interprétés dépendent de la plate-forme. # Programmes et langages de programmation Une équipe de développement lance un nouveau projet visant à créer un moteur de rendu graphique haute performance pour les jeux vidéo. Parmi les critères suivants, lequel est le PLUS important pour choisir le langage de programmation adapté à ce projet ? - [ ] Langage de programmation doit être celui qui le plus utilisé dans l'entreprise. - [ ] Le langage doit disposer d'une communauté très importante et active pour assurer son support. - [ ] Le langage doit être celui que l'équipe de développement souhaite le plus apprendre. - [X] Le langage doit offrir un contrôle de mémoire de bas niveau et une vitesse d'exécution élevée.
--- shuffle: true --- # Programmation orientée objet en Python Quel est l'objectif principal de la méthode `__init__` dans une classe Python ? - [ ] Elle sert à supprimer un objet et à libérer de la mémoire. - [x] Il s'agit d'une méthode spéciale qui est automatiquement appelée lorsqu'un nouvel objet est instancié, utilisée pour initialiser ses attributs. - [ ] Elle sert à convertir l'objet en une représentation sous forme de chaîne. - [ ] Il s'agit d'une méthode qui doit être appelée manuellement pour créer une instance d'une classe. # Programmation orientée objet en Python En POO Python, quel est le rôle du paramètre `self` dans la définition d'une méthode ? - [ ] Il s'agit d'un mot-clé réservé qui fait référence à la classe parente. - [ ] Il s'agit d'un espace réservé qui doit être remplacé par le nom de l'objet lors de l'appel de la méthode. - [x] Il s'agit d'une référence à l'instance actuelle de la classe, utilisée pour accéder aux variables et méthodes appartenant à cet objet. - [ ] Il s'agit d'un paramètre facultatif qui n'est utilisé que dans certaines méthodes d'une classe. # Programmation orientée objet en Python Une classe Python utilise un double trait de soulignement (__) comme préfixe pour un attribut. Quel est l'objectif principal de cette technique ? - [ ] Rendre l'attribut constant et impossible à modifier. - [x] Indiquer que l'attribut est destiné à un usage interne uniquement et empêcher tout accès direct accidentel depuis l'extérieur de la classe. - [ ] Créer automatiquement une méthode pour lire et pour modifier l'attribut. - [ ] Améliorer les performances du programme en rendant l'attribut privé. # Programmation orientée objet en Python Dans le contexte d'une classe Python, quelle est la différence fondamentale entre `self.balance = 10` et `balance = 10` à l'intérieur d'une méthode `def m (self) -> None:` ? - [ ] `self.balance = 10` crée une variable de classe, tandis que `balance = 10` crée une variable d'instance. - [ ] `self.balance = 10` crée une variable globale, tandis que `balance = 10` crée une variable locale. - [x] `self.balance = 10` crée ou met à jour un attribut d'instance, tandis que `balance = 10` crée une variable locale qui est supprimée après l'exécution de la méthode. - [ ] Il n'y a aucune différence fonctionnelle ; les deux instructions accomplissent la même chose. # Programmation orientée objet en Python En Python, une classe `Dog` hérite d'une classe `Animal`. Quel est l'objectif principal de cette relation ? - [ ] Permettre à la classe `Dog` de masquer complètement tous les attributs et méthodes de la classe `Animal`. - [x] Permettre à la classe `Dog` de réutiliser et d'étendre les propriétés et les comportements définis dans la classe `Animal`. - [ ] Empêcher la classe `Animal` d'être instanciée seule. - [ ] Forcer la classe `Dog` à exécuter immédiatement le constructeur de la classe `Animal` lors de l'importation # Programmation orientée objet en Python On veut créer en Python une classe `Dog` comme une sous-classe d'une classe `Animal` existante. Avec quelle ligne de code devrait démarrer la définition de la nouvelle classe ? - [x] `class Dog(Animal):` - [ ] `class Animal(Dog):` - [ ] `class Dog inherits Animal:` - [ ] Aucune des propositions formulées.