, mais c’est un peu complexe, et leur utilité est plus rare. Si vous souhaitez en savoir plus, [[https://medium.com/@meghamohan/mutable-and-immutable-side-of-... dit, les méthodes ou attributs d’un objet **sont plus importants** que son type ou sa classe.
Prenons ... ire à d’autres langages. Cette possibilité est de plus en plus utilisée – suivez le guide de styles du p
===
===== Pourquoi structurer son code ? =====
Plus les projets de programmation se complexifient, plus ils deviennent difficiles à comprendre. À mesure que vous ajoutez de plus en plus de classes, bibliothèques et fonctions à votre code, il devient plus ardu de découvrir où se ca
les différents tests, imaginons le logiciel "Crocoplus". Il s'agit d'un système de gestion destiné aux z... s types de tests, et nous allons les aborder sans plus tarder.
==== Les tests unitaires ====
Les tests... partie d'une fonctionnalité.
Dans le projet Crocoplus, un test unitaire pourrait valider que la fonctio... s automatiquement par l'ordinateur. Cela les rend plus rapides à exécuter et plus fiables. Ils correspon
utres développeurs préfèrent adopter une approche plus concrète par le prototypage, et essaieront de com... lorsqu’une classe « is-a » (« est-une ») version plus spécialisée d’une autre classe. Il existe égaleme... uelques attributs à implémenter. Dans sa forme la plus pure, l'interface n'implémente pas les attributs,... es ailes. L'idée est de découper une classe en de plus petites classes spécialisées et ensuite les affec
que trois classes qui gèrent la calculatrice. De plus, la calculatrice gère simplement les quatre opéra... t bien une addition. Mais imaginez un projet bien plus gros. Des classes comme celle-ci peuvent se compt... , une erreur sera précisément **repérée** et donc plus **rapidement corrigée**.
===== Déterminez ce qu... odifier mon code pour l'améliorer, cela va casser plusieurs tests alors même que mon programme fonctionn
ies de noms de classes suivantes, laquelle est la plus claire ?**
- DatabaseField, StringDatabaseFiel... ue se passe-t-il lorsqu’un module est importé ?**(Plusieurs réponses possibles).
- Les définitions de... e programme va planter ?**
- Quand il n’y aura plus de méthodes ou fonctions auxquelles passer l’exce... jusqu’à ce qu’elle soit attrapée ou qu’il n’y ait plus d’endroit où aller – c’est à ce moment-là que ça
très similaire à un grand tableau Excel contenant plusieurs feuilles. Nous pouvons chercher des données,... rez les types de bases de données ====
Il existe plusieurs types de bases de données. Plus précisément, ce sont plutôt des **Systèmes de Gestion de Bases de ... h>
touch app.db
</code>
C'est tout ! Vous n'avez plus rien à faire. Revenons maintenant à Flask et voyo
r le web choisissent de séparer les fichiers dans plusieurs dossiers distincts. Cela peut paraître un pe... ncore) le chiffre associé à chacun.
Nous verrons plus tard que Facebook renvoie les valeurs ''male'' ou... un énumérable pour gérer le genre. Pour en savoir plus, lisez la [[https://docs.python.org/3/library/enu... lles décident du contenu à afficher sur une page. Plus spécifiquement, ce sont elles qui génèrent le con
t-ce que l’héritage ? =====
L’une des choses les plus utiles de la programmation orientée objet, c’est ... ''rewind()'', nous obtiendrions donc une erreur ! Plus d’informations à ce sujet au chapitre 5.
</note>
... s l’héritage en programmation orientée objet pour plusieurs raisons différentes, mais liées entre elles :
==== La réutilisabilité ====
La raison la plus simple est la même que celle pour laquelle nous é
erait à quel présentateur télé vous ressemblez le plus ? Nous allons réaliser une application semblable ... a analysé son profil et choisi la description la plus proche de sa personnalité. Ellen voit sur la page... ique grâce à un des langages de programmation les plus populaires du monde : **Python**.
De quels outil... ensemble de modules qui permettent de développer plus rapidement en fournissant des fonctionnalités cou
tème de versioning des paquets =====
Le moyen le plus simple pour installer une version de paquet Pytho... n doutez, la version 2.1.0 . Il existe toutefois plusieurs façons différentes de préciser la version du... exemple :
<code bash>
# Installer la version la plus élevée disponible au-dessus de 2.2
# mais pas 3.0... install requests~=2.2
# Installer la version la plus élevée disponible au-dessus de 2.1.0
# mais pas l
r de planter.
Prenons un exemple. Le problème le plus évident qui pourrait survenir ici serait une erre... ge** dans le programme (bubbling). Python ne fait plus les choses dans l’ordre, mais lance plutôt contin... er jusqu’à ce qu’elle soit gérée ou qu’elle n’ait plus nulle part où aller. Dans ce dernier cas, le prog... mauvaise pratique ! Utilisez toujours des erreurs plus ciblées pour être sûr de ne pas passer sous silen
nouvelle méthode : ''print_on_image()'' qui prend plusieurs arguments : l'image de base sur laquelle écr... ption =====
Écrire la description demande un peu plus de réflexion. Avez-vous trouvé pourquoi ?
Si vou... faut donc :
* découper la phrase d'origine en plusieurs sous-phrases,
* imprimer ces dernières sur... st_name.capitalize(), 70, 50)
# retournes plusieurs chaines sans couper au milieu des mots
onvention, commencent par une majuscule. S’il y a plusieurs mots dans le nom d’une classe, on utilise gé... tement interne de la classe. En Python, il existe plusieurs méthodes magiques, qui commencent et se term... ts avec **différentes longueurs et largeurs**. De plus, les attributs définis dans la méthode magique ''... tes les classes héritent, mais nous y reviendrons plus tard.
</note>
===== À vous de jouer : écrivez de
1, color="pink")
</code>
La deuxième option est plus explicite, et moins susceptible de prêter à confusion si vous avez plusieurs paramètres optionnels.
<note>
vous pouvez a... et votre programme va planter (nous y reviendrons plus tard).
</note>
Nous pouvons également assigner d... gle)''! Vous avouerez que la première version est plus élégante et compréhensible.
</note>
===== Découv