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... orrespondent aux paramètres du constructeur. Ceci inclut les positions des paramètres – dans notre con... e deuxième paramètre donné.
</note>
Lorsque nous instancions un objet, nous devons habituellement l’a
ble dans la base de données ======
Dans le [[120_installer_flask|chapitre précédent]] vous avez appri... un projet. Avant de voir comment afficher la page index.html, créons une base de données dans laquelle... it d'un outil de gestion visuel dont le principal intérêt est l'interface graphique. Nous pouvons dire que les bases de données sont l'Excel des applicati
=====
Nous avons réussi à afficher le template ''index.html'' ainsi que les feuilles de style. Mais n... ie.
Flask offre, par exemple, une méthode plutôt intéressante pour faire appel à des fichiers qui se ... t : ''/static/css/bootstrap/bootstrap.min.css''.
Intégrez-la dans ''index.html'' ! Mais si vous vous contentez d'insérer la méthode telle quelle dans le
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
-ce pas ? C'est le moment d'afficher le contenu d'index.html !
===== Comprenez l'architecture modèle... mpose pas vraiment de structure, il la propose. S'inspirant du **modèle MVC** (**M**odèle / **V**ue / ... nées : c'est la représentation, la structure de l'information utile.
Dans Flask, le modèle de chaque ... tem dans la base de données ;
* les attributs d'instance exposés.
L'appel à **''db.Column''** crée
tes** – où les données ont une position et sont **indexables** – et des **dictionnaires** – où on attr... 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... hon>
class Person:
"""Personne."""
def __init__(self, name):
"""Donne un nom."""
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... on se produit. Dans ce cas, l’exception donne des informations sur l’erreur en elle-même.
Toutes les
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à écrit des conditions ''if'' et utilisé les indentations pour montrer où le code doit se résoudr... de ''calculate_area'' ci-dessus. Les méthodes d’instance incluent **toujours** « self » en premier p
précédents, j'ai volontairement laissé de côté l'interaction avec Facebook, autrement dit l'authentif... e code à une application qui manipulera de vraies informations.
Comment faire cela ? **Créez simplement une nouvelle application dans Facebook mais indiquez dans le titre qu'elle ne sera utilisée qu'à... tester le parcours utilisateur avec votre compte indéfiniment ! Facebook vous permet de créer un vrai
sting-python|projet Calculatrice sur GitHub]], et installez l’application.
Regardons un peu à quoi re... e simplement les quatre opérateurs de base pour l’instant (addition, soustraction, multiplication et d... code de ce fichier est en charge de demander les informations nécessaires à l’utilisateur à l’aide de... contenues dans ''view.py''. Cela permet ensuite d'interagir avec les fonctions dans le fichier ''opera
iste un paquet Python ? =====
Les modules Python intégrés et des paquets Python sont des éléments de ... éutilisés.
Les fonctionnalités considérées comme indispensables pour tous les développeurs Python ont... par défaut à Python. Elles ne nécessitent aucune installation, et sont disponibles dans les modules c... iothèque standard** de Python. Les modules Python intégrés sont des fichiers individuels d'extension "
ils correspondent. Vous avez peut-être également indiqué la date dans le nom du fichier : myfile22062... bug rétrocompatible, le numéro de **patch** est incrémenté.
* Si elle consiste en un élément de no... nnalité rétrocompatible, le numéro **minor** est incrémenté.
* Si elle n'est pas rétrocompatible , alors **major** est incrémenté. Il s'agit alors d'un « breaking change »
rg/en/latest/|Pytest]], vous devez au préalable l'installer. Pour cela, utilisez PyPI en exécutant la ... mmande suivante dans le terminal :
<code bash>
# installer avec la version la plus recente (-U == upgrade)
pip install -U pytest
</code>
Vérifiez que Pytest est installé en tapant la commande ''pytest''. Pytest va
lass PersonException(Exception):
pass
class InvalidDOBPersonException(PersonException):
pass
try:
raise InvalidDOBPersonException("Invalid Date of Birth")
except PersonException:
print("PersonException caught")
except InvalidDOBPersonException("Invalid Date of Birth"):
om/fr/|Openclassrooms]]
====== Ajoutez un peu d'intelligence ! ======
Vous avez vu, dans les chapit... ent créer une application Flask, la configurer et intégrer des fonctionnalités intéressantes telles que l'authentification par Facebook.
Dans ce chapitre... g Library) pour générer l'image.
Commencez par l'installer en utilisant PIP :
<code bash>
pip3 instal