Aller au contenu

⚗️ 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 et 0→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 entier
    • x pour une abscisse
    • y pour une ordonnée
    • h pour une hauteur, ...
    • on précisera si besoin, comme x_min ou h_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

  • Il ne faut pas dire « tiret du 8 », car cela dépend du clavier...
  • Il a de nombreuses utilisations 1 en informatique. Il est idéal pour séparer des mots dans un nom de variable élaboré. Très utile. On parle de snake_case 2

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.

  1. Si on essaie de s'en servir comme un identifiant une erreur est levée.
  2. En codant en français usuel, peu de mots sont en commun avec cette liste.
  3. Certains mots-clé sont très utilisés, comme if, or et import
  4. Il n'y a donc que 3 mots-clé à retenir et ne pas utiliser en identifiant :
    • as
    • continue
    • global

Exemples⚓︎

🐍 Console Python
>>> 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.
🐍 Console Python
>>> platine = 32_005         # € / kg

Les commentaires avec #

On place un commentaire au moins deux espaces après le code,

  • ensuite un croisillon3 # et une espace4,
  • enfin son court commentaire.

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.

🐍 Console Python
>>> 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 et from : 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.

  1. Le titer bas a de nombreuses utilisations en informatique. 

  2. Le snake_case est utilisé avec Python pour les noms de variable. On utilise le CamelCase pour d'autres usages. 

  3. Le croisillon # n'est pas un dièse

  4. L'espace est féminin en typographie.