Les variables avec Python

Initiation aux variables avec Python

Si vous avez atterri sur cette page c’est que vous débutez avec Python. Mais vous ne savez pas encore si vous abandonnerez ce langage dès que possible ou s’il sera votre outil de travail durant des décennies.

Il se peut que vous soyez en classe de seconde. Vous trouverez là de bonnes bases à propos des variables mais vous pouvez zapper la dernière section sur les dates.

 

Nommage

On ne peut pas donner n’importe quel nom à une variable.

Par exemple il ne faut pas d’espace. Exemple : nommez votre variable prix_unitaire et non prix unitaire.

Aucun caractère spécial n’est autorisé. Exemple : chiffre_d’affaire ne fonctionne pas à cause de l’apostrophe. À l’usage, vous comprendrez vite quels caractères sont interdits. L’underscore (tiret du 8) est non seulement autorisé mais vivement recommandé pour remplacer les espaces.

On évite également les caractères accentués.

Le nom ne doit pas commencer par un chiffre.

Il est impossible d’utiliser un mot déjà reconnu par Python. Exemple : else fait partie de la structure conditionnelle. Il est donc impossible de nommer une variable else.

En outre, il existe des conventions de nommage. Ce sont de bonnes pratiques admises par les développeurs. Si vous passez outre, votre programme ne plantera pas mais il sera plus simple pour tout le monde de s’y retrouver (soit une personne qui devra reprendre votre programme, soit vous-même !). Le nom doit être parlant et en minuscules. Certaines organisations peuvent imposer des règles, par exemple des noms en anglais.

 

Affectation

L’affectation d’une variable repose sur le symbole \(=.\) Donc attention, il y a deux différences par rapport aux maths. Premièrement, ce n'est pas un symbole d'égalité mais d'affectation et deuxièmement, vous ne pouvez pas permuter entre la gauche et la droite. Le nom de la variable se trouve à gauche.

>>> var = 3

On peut en affecter plusieurs d’un seul coup :

>>> quantite,prix = 1000, 5

Notez que la déclaration et l’initialisation de la variable sont réalisées simultanément. En écrivant seulement var = 3, on crée la variable var, on lui affecte la valeur 3 et Python comprend que son type est numérique.

 

Types de variables

Une variable littérale ou variable texte contient une chaîne de caractères. Lors de l’affectation, celle-ci doit être écrite entre guillemets.

Exemple :

>>> mois = "janvier"

Si un nombre est placé entre guillemets, Python comprend que c’est du texte. Il ne sera pas possible d’effectuer des calculs.

Exemple :

>>> prix = "2"
>>> prix = prix + 1
>>> print (prix)

Le résultat est sans appel :

TypeError: can only concatenate str (not "int") to str

La fonction str (string pour « chaîne de caractères ») indique que la variable contient du texte. Si notre première ligne de code avait été prix = str(2) le message d’erreur aurait été le même.

Lorsqu’une variable contient un nombre (déclaré sans guillemets, cela va sans dire), il peut être entier ou avec décimales (flottant).

Si un entier n’est pas déclaré comme tel, il est entier par défaut mais peut devenir flottant à la faveur d’une opération :

Exemple :

>>> prix = 2
>>> print(type(prix))
>>> prix = prix + 0.6
>>> print (type(prix))
>>> print (prix)

Nous obtenons les sorties suivantes :

<class 'int'>
<class 'float'>
2.6

Remarquez que le séparateur décimal est un point.

On déclare un entier avec int et un flottant avec float, comme vous l’aviez deviné avec l’exemple ci-dessus où la classe « entier » est devenue « flottant » à partir du moment où l’on a ajouté un nombre décimal à la valeur entière prise par la variable.

En revanche, si l’on spécifie que la variable reçoit un entier :

>>> prix = int(2.9)
>>> print (prix)
2

Supposons à présent que c’est l’utilisateur qui doive affecter une valeur à la variable. Dans cet exemple, cette ligne de code lui demande son âge (voir l'instruction input) :

>>> age = int(input("âge : "))

La réponse est forcée pour que la variable reçoive un entier. Si l’utilisateur répond 20.5 ou "je sais pas" un message d’erreur s’affiche.

Il existe d’autres types de variables, notamment les booléennes qui n’acceptent que deux valeurs, True et False. Instruction associée : bool (exemple d'utilisation en page de fonction avec Python). Vous verrez aussi les listes.

 

Format date

Python ne reconnaît pas les formats de date à moins d’importer une bibliothèque spécifique. Ainsi, pour connaître la date et l’heure avec une précision de l’ordre de la microseconde :

>>> import datetime
>>> maintenant = datetime.datetime.now()
>>> print (maintenant)

Supposons qu’une date soit affectée à la variable temps. Voyons comment extraire l’année, le mois et le jour séparément. Cette date est le 2 mai 2023. Ci-dessous, nous ne réécrirons pas l’instruction d’importation pour chaque exemple.

>>> temps = datetime.datetime(2023, 5, 2)
>>>  print (temps.year)
>>> print (temps.month)
>>> print (temps.day)

Python nous restitue…

2023
5
2

Pour l’obtenir en toutes lettres, mais en anglais, utilisez la méthode strftime. Amusons-nous :

>>> temps = datetime.datetime(2023, 5, 2)
>>> print (temps.strftime("%A")
Tuesday

Avec "%a" le jour aurait été abrégé en Tue.

Pour le mois et le mois en abrégé, employez respectivement "%B" et "%b". Pour le numéro de la semaine, "%V".

Note : sur ce site, vous trouverez aussi une page sur les formats de dates avec tableurs.

 

nommage de variable