2021-05-04 08:55:42 +02:00
<!--
title: Python
description:
published: true
2021-05-20 17:12:13 +02:00
date: 2021-05-20T14:35:33.423Z
2021-05-04 08:55:42 +02:00
tags:
editor: ckeditor
dateCreated: 2021-04-28T19:56:01.357Z
-->
2021-05-04 08:59:14 +02:00
< figure class = "image image_resized" style = "width:76.66%;" > < img src = "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Python_logo_and_wordmark.svg/1200px-Python_logo_and_wordmark.svg.png" alt = "Fichier:Python logo and wordmark.svg — Wikipédia" > < / figure >
< h1 > Les bases du langage< / h1 >
< h2 > Algébrie< / h2 >
< figure class = "table" >
< table style = "background-color:rgb(255, 255, 255);" >
< thead >
< tr >
< th style = "background-color:rgb(239, 241, 243);border-bottom:2px solid rgb(158, 158, 158);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > < strong > Opérateur< / strong > < / th >
< th style = "background-color:rgb(239, 241, 243);border-bottom:2px solid rgb(158, 158, 158);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > < strong > Usage< / strong > < / th >
< / tr >
< / thead >
< tbody >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > < strong > +< / strong > < / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Additionne deux nombres< / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > < strong > -< / strong > < / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Soustrait deux nombres< / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > < strong > *< / strong > < / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Multiplie deux nombres< / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > < strong > /< / strong > < / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Divise deux nombres< / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > < strong > //< / strong > < / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Retourne le nombre entier d'une division< / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > < strong > %< / strong > < / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Retourne le reste d'une division< / td >
< / tr >
< / tbody >
< / table >
< / figure >
< p > < i > Exemple :< / i > < / p >
< pre > < code class = "language-python" > > > > 2+3
# Le résultat sera 5
> > > 3*3
# Le résultat sera 9< / code > < / pre >
< p > < / p >
< h2 > Les variables< / h2 >
< h3 > Les bases< / h3 >
< ul >
< li > Déclaration d'une variable :< / li >
< / ul >
< pre > < code class = "language-python" > nom_variable = valeur< / code > < / pre >
2021-05-09 15:08:30 +02:00
< p > < / p >
2021-05-04 08:59:14 +02:00
< blockquote >
< ol >
< li > Le nom de la variable ne peut être composé que de lettres, majuscules ou minuscules, de chiffres et du symbole souligné « _ » (appelé underscore en anglais).< / li >
< li > Le nom de la variable ne peut pas commencer par un chiffre.< br > 3.Le langage Python est sensible à la casse, ce qui signifie que des lettres majuscules et minuscules ne constituent pas la même variable (la variable AGE est différente de aGe, elle-même différente de age).< / li >
< / ol >
< / blockquote >
< p > Il existe 2 conventions principales pour nommer une variable :< / p >
< ol >
< li > On remplace les espaces par un < strong > _< / strong > : < code > mon_age< / code > < / li >
< li > On écrit le début de chaque mot, sauf le premier, avec une majuscule : < code > monAge< / code > < br > Pour affecter une valeur à cette variable :< / li >
< / ol >
< pre > < code class = "language-python" > monAge = 19< / code > < / pre >
< p > On peut interagir avec cette variable en modifiant son contenu comme bon nous semble :< / p >
< pre > < code class = "language-python" > monAge = 19
# monAge vaut 19
monAge = monAge + 4
# monAge vaut 23
monAge = monAge * 2
# monAge vaut 46< / code > < / pre >
< p > < / p >
< h3 > Différents types de données< / h3 >
< figure class = "table" >
< table style = "background-color:rgb(255, 255, 255);" >
< thead >
< tr >
< th style = "background-color:rgb(239, 241, 243);border-bottom:2px solid rgb(158, 158, 158);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > < strong > Type de donnée< / strong > < / th >
< th style = "background-color:rgb(239, 241, 243);border-bottom:2px solid rgb(158, 158, 158);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > < strong > Commentaire< / strong > < / th >
< / tr >
< / thead >
< tbody >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Nombres entiers (int)< / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Nombre sans virgule : < code > 3< / code > < / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Nombres flottants (float)< / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Nombre avec virgule : < code > 3.2442< / code > < / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Chaine de caractères< / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Contient des lettres, des phrases : < code > Bonjour !< / code > < / td >
< / tr >
< / tbody >
< / table >
< / figure >
< p > Pour les chaines de caractères, il faut faire attention aux types de guillements utilisés :< / p >
< pre > < code class = "language-python" > maPhrase = 'J'aime le python'
# Syntaxe incorrecte !
# Pour corriger cela, il faut échapper le ' :
maPhrase = 'J\'aime le python'
# Affiche bien la phrase
maPhrase = "j'aime le python"
# J'aime le python
maPhrase = """j'aime
le
python"""
# Les trois guillemets permettent de ne pas avoir à échapper les caractères, et permettent de faire un retour à la ligne sans utiliser \n< / code > < / pre >
< p > < / p >
< h3 > trucs et astuces< / h3 >
< h4 > Incrémenter des variables< / h4 >
< p > Lorsqu'il s'agit d'incrémenter des variables, on peut faire de plusieurs façons :< / p >
< pre > < code class = "language-python" > # Méthode 1 : Rajouter la valeur à la variable
maVariable = 1
maVariable = maVariable + 1
# Méthode 2 : Incrémenter directement la variable
maVariable = 1
maVariable += 1< / code > < / pre >
< p > < / p >
< h4 > Permutation de variable< / h4 >
< pre > < code class = "language-python" > > > > a = 5
> > > b = 32
> > > a,b = b,a # permutation
> > > a
32
> > > b
5
> > > < / code > < / pre >
< p > < / p >
< h4 > Affecter la même valeur à plusieurs variables< / h4 >
< pre > < code class = "language-python" > > > > x = y = 3
> > > x
3
> > > y
3
> > > < / code > < / pre >
< p > < / p >
< h2 > Les fonctions< / h2 >
< p > Syntaxe d'une fonction :< / p >
< pre > < code class = "language-python" > nom_de_la_fonction(parametre_1,parametre_2,…,parametre_n)< / code > < / pre >
< p > < / p >
< h3 > Fonctions de base< / h3 >
< ul >
< li > La fonction < strong > type< / strong > < br > Cette fonction permet de retourner le type d'une variable.< / li >
< / ul >
< pre > < code class = "language-python" > a=3
type(a)
# retourne < class 'int'> < / code > < / pre >
< p > < / p >
< ul >
< li > La fonction < strong > print< / strong > < br > Cette fonction ne sert uniquement qu'à afficher du texte ou une variable. Contrairement à la console qui est capable d'afficher une variable sans avoir à appeler cette fonction, sur un < strong > IDE< / strong > vous serez obligé de vous en servir.< / li >
< / ul >
< pre > < code class = "language-python" > > > > a = 3
> > > print(a)
> > > a = a + 3
> > > b = a - 2
> > > print("a =", a, "et b =", b)< / code > < / pre >
< p > < / p >
< ul >
< li > La fonction < strong > input< / strong > < br > Cette fonction permet de récupérer la saisie d'un utilisateur.< / li >
< / ul >
< pre > < code class = "language-python" > choix = input("Faite votre choix : ")< / code > < / pre >
< p > < / p >
< p > Par défaut, la valeur sera une chaine de caractères. Pour la convertir en entier, on peut utiliser ceci :< / p >
< pre > < code class = "language-python" > annee = input("Saisir une annee : ")
annee = int(annee)< / code > < / pre >
< p > < / p >
< h1 > Structures conditionnelles< / h1 >
< h2 > IF< / h2 >
< p > La structure conditionnelle < strong > IF< / strong > permet de faire un < strong > choix< / strong > . Cela permet de rendre le code < i > intelligent< / i > .< br > Dans un langage courant, cela donnerait ceci :< / p >
< pre > < code class = "language-plaintext" > Si < réfrigérateur_vide = 1>
Alors Afficher "Faire des courses"
Fin si< / code > < / pre >
< p > En python, cela donnerait :< / p >
< pre > < code class = "language-python" > refrigerateur_vide = 1
if refrigerateur_vide=1:
print "Faire des courses"< / code > < / pre >
< p > < / p >
< blockquote >
< p > < strong > Attention :< / strong > Dans d'autres langages de programmation tel que le < strong > C#< / strong > , la fonction est délimitée par < strong > {}< / strong > . En python, la fonction commence par < strong > :< / strong > et c'est l'indentation qui délimite.< / p >
< / blockquote >
< p > < i > Démonstration :< / i > < / p >
< pre > < code class = "language-python" > refrigerateur_vide = 1
if refrigerateur_vide=1: #Je débute le IF
print "Aller faire des courses" # Je suis dans le IF
print "Je suis encore de le IF"
print "Ici aussi"
print "Ici non, mon IF est terminé"< / code > < / pre >
< p > < / p >
< h2 > IF ELSE< / h2 >
< p > Je peux également grâce au < strong > ELSE< / strong > définir une action si ma condition est fausse.< / p >
< pre > < code class = "language-python" > refrigerateur_vide = 1
if refrigerateur_vide=1: # Si le frigo est vide, alors ...
print "Faire des courses"
else: # Sinon ...
print "Ne pas faire de courses"< / code > < / pre >
< p > < / p >
< h2 > ELIF< / h2 >
< p > Cette condition permet d'avoir < strong > plusieurs conditions< / strong > dans une clause IF.< / p >
< pre > < code class = "language-python" > refrigerateur_vide = 1
if refrigerateur_vide=1: # Si le frigo est vide, alors ...
print "Faire des courses"
elif refrigerateur_vide=0.5: # Si le frigo est presque vide, alors ...
print "Faire de petites courses"
else: # Sinon ...
print "Ne pas faire de courses"< / code > < / pre >
< p > < / p >
< h2 > Opérateurs de comparaison< / h2 >
< figure class = "table" >
< table style = "background-color:rgb(255, 255, 255);" >
< thead >
< tr >
< th style = "background-color:rgb(239, 241, 243);border-bottom:2px solid rgb(158, 158, 158);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > < strong > Opérateur< / strong > < / th >
< th style = "background-color:rgb(239, 241, 243);border-bottom:2px solid rgb(158, 158, 158);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > < strong > Signification< / strong > < / th >
< / tr >
< / thead >
< tbody >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > < < / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Strictement inférieur à< / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > > < / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Strictement supérieur à< / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > < =< / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Inférieur ou égal à< / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > > =< / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Supérieur ou égal à< / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > ==< / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Égal à< / td >
< / tr >
< tr >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;text-align:center;" > !=< / td >
< td style = "border-bottom:1px solid rgb(238, 238, 238);border-left:1px solid rgb(207, 216, 220);border-right:1px solid rgb(207, 216, 220);border-top:1px solid rgb(207, 216, 220);padding:0.75rem;" > Différent de< / td >
< / tr >
< / tbody >
< / table >
< / figure >
< blockquote >
< p > < strong > Attention :< / strong > Pour tester l'égalité de deux valeurs, on utilise < strong > ==< / strong > et non < strong > =< / strong > qui lui sert à l'affectation de valeurs< / p >
< / blockquote >
< blockquote >
< p > < strong > Info :< / strong > Une condition renvoie uniquement deux valeurs : < strong > True< / strong > ou < strong > False< / strong > (vrai ou faux). Si le test est correcte, il renverra < strong > True< / strong > , sinon < strong > False< / strong > .< / p >
< / blockquote >
< p > < / p >
< h2 > Plusieurs conditions pour une clause IF< / h2 >
< p > Si un test à besoin de plusieurs conditions pour être vrai, on peut combiner plusieurs conditions pour une seule clause IF.< / p >
< pre > < code class = "language-python" > permis=False
majeur=True
if permis==True and majeur == True: # Pour que je puisse conduire, il faut que j'ai mon permis et que je sois majeur
print "Je peux conduire"
else:
print "Je ne peux pas conduire"< / code > < / pre >
< p > < / p >
< h1 > Les boucles< / h1 >
< h2 > La boucle < strong > WHILE< / strong > < / h2 >
2021-05-09 15:08:30 +02:00
< p > La boucle < strong > while< / strong > (ou tant que) répète une série d'instructions tant qu'une condition n'est pas vraie.< br > Syntaxe :< / p >
2021-05-04 08:59:14 +02:00
< pre > < code class = "language-python" > while condition:
instruction1
instruction2
...< / code > < / pre >
< p > < i > Exemple : Je veux répéter une instruction tant que i n'est pas égal à 10 :< / i > < / p >
< pre > < code class = "language-python" > i = 0
while 1 != 10:
print ("i ne vaut pas 10")
i+=1< / code > < / pre >
2021-05-09 15:08:30 +02:00
< p > < / p >
2021-05-04 08:59:14 +02:00
< blockquote >
< p > < strong > Attention< / strong > : Il ne faut pas oublier d'incrémenter le compteur, sinon la boucle sera infinie !< / p >
< / blockquote >
2021-05-09 15:11:25 +02:00
< p > < / p >
2021-05-11 17:57:38 +02:00
< h1 > Fonctions avancées< / h1 >
2021-05-12 14:59:34 +02:00
< h2 > Le constructeur< / h2 >
2021-05-11 17:57:38 +02:00
< p > Un constructeur est une méthode spéciale d'une classe qui permet de construire un objet, de lui donner des attributs.< / p >
2021-05-11 21:03:32 +02:00
< p > Le nom de cette méthode est “ __init__ ” et prend en premier argument “ self ”, qui représente l'objet courant, qui est cours de création.< / p >
2021-05-11 21:11:35 +02:00
< p > < i > Exemple : je crée un constructeur permettant de définir une personne < / i > < / p >
2021-05-12 15:20:04 +02:00
< pre > < code class = "language-python" > class People:
2021-05-11 21:11:35 +02:00
def __init__(self,firstname,lastname,age):
self.firstname = firstname
self.lastname = lastname
self.age = age< / code > < / pre >
2021-05-11 21:22:37 +02:00
< p > Notre fonction init demande 3 paramètres, “ self ” étant un paramètre spécial. < / p >
< p > Grâce à ce constructeur il ne reste qu'à créer des objets : < / p >
2021-05-12 15:20:04 +02:00
< pre > < code class = "language-python" > > > > chuck = People("Chuck","Norris",81)< / code > < / pre >
2021-05-11 21:22:37 +02:00
< p > L'objet “chuck” a été créé, on peut désormais accéder à ses différents attributs, les lire et les modifier.< / p >
2021-05-12 15:20:04 +02:00
< pre > < code class = "language-python" > > > > chuck.firstname
2021-05-11 21:22:37 +02:00
'Chuck'
> > > chuck.firstname = "Chucky"
> > > chuck.firstname
'Chucky'< / code > < / pre >
2021-05-12 14:59:34 +02:00
< h2 > Le représentateur< / h2 >
< p > Reprenons l'exemple précédent. Lorsque l'on souhaite afficher notre objet, la valeur retournée n'est pas tout à fait celle attendue.< / p >
2021-05-12 15:20:04 +02:00
< pre > < code class = "language-python" > > > > chuck
< __main__.People object at 0x03C12820> < / code > < / pre >
< p > Nous allons donc utiliser un représentateur pour mettre en forme l'objet.< / p >
< p > Cette méthode se définit “ __repr__ ”.< / p >
2021-05-12 15:21:01 +02:00
< pre > < code class = "language-python" > class People:
def __init__(self,firstname,lastname,age):
self.firstname = firstname
self.lastname = lastname
self.age = age
def __repr__(self):
return "Nom : %s , Prenom : %s , Age : %s" % (self.lastname, self.firstname, self.age)< / code > < / pre >
2021-05-14 16:53:03 +02:00
< p > < / p >
2021-05-12 15:20:04 +02:00
< pre > < code class = "language-python" > > > > repr(chuck)
2021-05-14 16:53:03 +02:00
'Nom : Norris , Prenom : Chuck , Age : 81'< / code > < / pre >
< h2 > Le décorateur< / h2 >
< p > Le décorateur est une fonction permettant de modifier le comportement d'autres fonctions, évitant la répétition de code. Il est appelé par “ @nom_décoraeur ”.< / p >
< pre > < code class = "language-python" > def title_decorator(function):
def wrapper(*args, **kwargs):
print("*"*30)
print("-"*30)
function(*args, **kwargs)
print("-"*30)
print("*"*30)
return wrapper
@title_decorator
def title(titre):
print(titre)
2021-05-14 17:07:55 +02:00
> > > titre = "Ceci est mon texte décoré"
> > > title(titre)
******************************
------------------------------
Ceci est mon texte décoré
------------------------------
******************************< / code > < / pre >
< p > Ce décorateur permet simplement de mettre en forme un titre. Mais le décorateur, critiqué pour son nom ne définissant pas assez clairement sa fonction, peut avoir bien d'autres usages.< / p >
2021-05-14 17:08:28 +02:00
< p > Par exemple, dans le cadre du < u > développement web< / u > , les décorateurs sont très utilisés. Typiquement, pour les pages nécessitant une authentification, le décorateur “ @login_required ” du framework Django est très utile.< / p >
2021-05-14 17:07:55 +02:00
< pre > < code class = "language-python" > from django.contrib.auth.decorators import login_required
@login_required
def my_page(request):
...< / code > < / pre >
< p > Tout comme “ @login_required ”, beaucoup de décorateurs sont déjà développés, nécessitant un simple import.< / p >