réez et utilisez des objets Python ======
===== Instanciez un objet =====
Vous vous souvenez de not... ceci :
<code python>
class Rectangle:
def __init__(self, length, width, color="red"):
se... r créer des objets d’une classe spécifique. À la fin du chapitre précédent, nous avons écrit quelques constructeurs. Utilisons-les enfin pour créer un objet.
Voici un exemple qui crée u
tes** – où les données ont une position et sont **indexables** – et des **dictionnaires** – où on attr... List = [5, 4, 3, 2, 1, "boom"]
</code>
<note warning>
Les dictionnaires se doivent d’avoir des clés *... s muables et immuables (en anglais)]] pourra vous intéresser.
</note>
Attendez une seconde, je ne peux pas modifier un entier (int) ? Si je dis que x = 5, je peux paramétrer x par
lle est la plus claire ?**
- DatabaseField, StringDatabaseField, DateDatabaseField
- Level, Cave, Building
- Button, Start, Quit
++++ Réponse|
Choix 1. ... té ?**(Plusieurs réponses possibles).
- Les définitions de classe et de méthode sont chargées.
- ... omme tout autre code du fichier que vous avez originellement appelé. C’est pourquoi %%if __name__ ==
]].
====== Écrivez une classe Python ======
Maintenant que nous savons ce qu’est une classe, voyon... sent cette classe (ses « **attributs** ») sont définies en dessous dans sa portée (« scope », en anglais), avec une indentation supplémentaire de 4 espaces.
<note>
Un « scope » en Python est défini par le niveau d’indentation. Vous avez déjà écri
''FilmCassetteVHS'' hérite de ''FilmCassette''.
Ainsi, les attributs de ''Film'' **se retrouvent** da... ont généralement plusieurs hiérarchies d’héritage indépendantes pour les classes qui ne partagent **pa... de base commune de toute façon, non ?
Si ! Néanmoins, on ne fait généralement pas figurer ''Object'' ... mmes d’héritage, car il n’est pas très utile de l’inclure. Nous discuterons davantage de la modélisati
s différentes parties de votre code.
Cela pose moins de problèmes lorsque vous débutez en tant que développeur, mais dès que vous aurez besoin que quelqu’un d’autre utilise un projet, ou que v... sible**. Vous serez même surpris de voir à quel point il est **difficile** de revenir à un projet aprè... t important de structurer son code, car cela **diminue les efforts nécessaires à sa maintenance et à s
orte quel langage de programmation depuis un certain temps a déjà rencontré une **exception**. Une exc... omme ''NameError'', ''ZeroDivisionError'', ou ''IndexError'' – sont toutes des exceptions **intégrées** qui sont lancées par les éléments internes de Python lui-même.
Nous pouvons également lance
sion du problème en code.
Pour ce faire, vous affinerez probablement un processus qui vous convient a... on du projet et des différents processus et contraintes avec lesquels vous travaillerez.
Certains développeurs préfèrent planifier à l’avance, et identif... oivent trouver leur place dans le système, en dessinant des diagrammes (par exemple, des diagrammes UM
code python>
from abc import ABC # permet de définir des classes de base
class Shape(ABC):
def ... return 0
class Square(Shape):
def __init__(self, length):
self.length = length
... e abstraite est **une classe qui ne peut pas être instanciée** – la seule façon de l’utiliser est de c... cle, Carré, Triangle, etc., sans laisser personne instancier une ''Shape''.
<note>
Une classe abstrai
odèle (ou une recette) qui peut être utilisé pour instancier des objets.
++++
**Voici la différence... ier paramètre. Les fonctions, quant à elles, sont indépendantes des classes.
++++
**Parmi ces signat... structeur, laquelle est correcte ?**
- %%def __init__(self name date_of_birth)%%
- %%def init(self, name, date_of_birth)%%
- %%def __init__(name, d
rivez une sous-classe en Python ======
===== Définissez la syntaxe de l’héritage =====
L’élément principal de syntaxe utilisé pour définir les sous-classes se trouve dans la définition de classe elle-même : ''class FilmCassette(Film)''.
**parent**, qui contient les attributs du parent ainsi que d’autres attributs spécifiques à l’enfant.
... e est constituée de films. En grand puriste, certains de ses films sont en format cassette ! 📼
Voici ... êmes attributs et aussi ''magnetic_tape'' et ''rewind()''. A droite, il y a une instance d'un Film avec le ''name: Blade Runner'', ainsi qu'une instance d
t ======
===== Découvrez les classes =====
Imaginez que vous n'ayez que quelques heures pour épater... s retrouver après un long voyage. Pour rendre cet instant unique, vous avez tout préparé : vous compte... ez donc du placard, et suivez méticuleusement les instructions... jusqu'à arriver au résultat !
Ce principe de recette se retrouve en programmation orien
**Une classe de base abstraite** :
- peut être instanciée, mais il faudrait en hériter.
- ne peut pas être instanciée, mais on peut en hériter.
- ne peut pas être instanciée et on ne peut pas en hériter.
++++ Répon... les concepts qui ne peuvent pas exister de façon indépendante. Par exemple, à quoi ressemblerait un a
s ======
Félicitations : vous êtes parvenu à la fin du cours ! Si vous débutez en programmation orien... artir de plans que l’on appelle des **classes** – interagissent pour produire des comportements.
Les ... omposer un problème** en parties plus petites qui interagissent, et découper notre programme en **modu... en **paquets**.
===== Les exceptions =====
Enfin, nous avons découvert – en acquérant des connaiss