⚗️ Variable⚓︎
À savoir⚓︎
Le principe
- On peut désigner des résultats par des variables pour les réutiliser plus tard.
- En maths, on n'utilise souvent qu'une lettre (quitte à la prendre dans un autre alphabet), en programmation on préfère utiliser des variables avec un nom le plus explicite possible, qu'on peut taper facilement au clavier.
Comment choisir son nom de variable ?
- Règle 1 : N'utiliser que les caractères :
a→z
,_
,A→Z
et0→9
- Règle 2 : Ne pas débuter par un chiffre.
- Recommandation :
- ✅
choisir_un_nom_de_variable_lisible
- ❌
NePaschoisirUnNomDeVariablePeuLisible
- ❌
nepaschoisirunnomdevariableillisible
- ✅
JE_SUIS_UNE_JOLIE_CONSTANTE
- ✅
- Exemples :
nb_triangles
x_0
- ces noms de variable sont valides et lisibles.
- Conseil : on limitera les abréviations à
nb
pour « nombre de ...»,i_
pour « indice de ...»,
- Mathématiques : on pourra utiliser quelques variables classiques
n
pour un entierx
pour une abscissey
pour une ordonnéeh
pour une hauteur, ...- on précisera si besoin, comme
x_min
ouh_triangle
- Cas de Python :
- Les lettres accentuées sont autorisées avec Python, mais pas avec les autres langages de programmation. Pour avoir de bonnes habitudes généralistes, il vaut mieux ne pas les utiliser.
Tiret bas et snake_case
_
est le tiret bas
Mots-clés de Python3
Il y a 35 mots-clés qui sont réservés (dont deux récents) qui ne peuvent donc pas être utilisés pour des variables.
False |
class |
finally |
is |
return |
None |
continue |
for |
lambda |
try |
True |
def |
from |
nonlocal |
while |
and |
del |
global |
not |
with |
as |
elif |
if |
or |
yield |
assert |
else |
import |
pass |
async |
break |
except |
in |
raise |
await |
Remarques
Seuls False
, None
et True
commencent ici avec une majuscule.
Faut-il connaitre ces 35 noms par chœur ? Non, seulement 3.
- Si on essaie de s'en servir comme un identifiant une erreur est levée.
- En codant en français usuel, peu de mots sont en commun avec cette liste.
- Certains mots-clé sont très utilisés, comme
if
,or
etimport
- Il n'y a donc que 3 mots-clé à retenir et ne pas utiliser en identifiant :
as
continue
global
Exemples⚓︎
>>> prix_unitaire = 125 # en €
>>> quantité = 12
>>> prix_total = quantité * prix_unitaire
>>> prix_total
1500
Pourquoi un seul résultat affiché ?
Dans la console Python, une affectation ne produit pas d'affichage.
La dernière instruction est un calcul simple évalué, et
- la console affiche le résultat d'une évaluation, pas d'une affectation.
>>> platine = 32_005 # € / kg
Les commentaires avec #
On place un commentaire au moins deux espaces après le code,
Il sera ignoré par Python, mais il pourra être utile au lecteur.
Il est préférable que le code soit lisible sans.
Pour les unités, c'est une bonne pratique.
On évite de faire de longues lignes ; 79 caractères au maximum, c'est mieux.
On peut placer un commentaire seul sur une ligne avant le code qu'il détaille.
>>> or = 47_300 # € / kg
File "<stdin>", line 1
or = 47_300 # € / kg
^
SyntaxError: invalid syntax
SyntaxError
or
est un mot-clé, on ne peut pas l'utiliser comme identifiant.
SyntaxError
signifie « erreur de syntaxe », et la flèche indique l'origine.
attention, parfois l'origine de l'erreur est sur la ligne précédente,
par exemple, quand il manque une parenthèse.
En savoir plus⚓︎
Nous allons bientôt découvrir
def
pour définir une fonction.return
pour une valeur que la fonction renvoie.if
,elif
,else
: pour les structures conditionnelles.for
,in
,while
: pour créer des boucles.and
,or
,not
: opérateurs sur les booléens : et, ou, non.import
etfrom
: pour importer à partir d'un module.None
: pour une donnée sans valeur ; zéro étant un entier possédant une valeur.assert
: pour le débogage facile ; on vérifie un état.raise
: pour provoquer volontairement une erreur contrôlée.
Utilisation avancée
On ne recommande pas leur utilisation aux grands débutants.
pass
: une instruction qui ne fait rien.in
: pour un test d'appartenance.is
: aussi pour test d'identité entre objets.del
: pour détruire (delete) une variable.lambda
: pour définir une fonction anonyme.break
,continue
: pour les boucles plus complexes.try
,except
: pour la gestion des erreurs.with
,as
: pour la lecture de module ou de fichier.class
: pour la programmation orientée objet (POO).global
,nonlocal
: pour modifier la portée d'une variable.yield
: pour la construction d'itérateur.
-
Le titer bas a de nombreuses utilisations en informatique. ↩
-
Le snake_case est utilisé avec Python pour les noms de variable. On utilise le CamelCase pour d'autres usages. ↩
-
Le croisillon
#
n'est pas un dièse♯
. ↩