Chapitre I : les variables
Introduction
Le langage de programmation Python a été créé en 1989 par Guidovan Rossum, aux Pays-Bas.Le nom Python vient d’un hommage à la série télévisée Monty Python’s Flying Circus dont G. van Rossum est fan. La Python Software Foundation1 est l’association qui organise le développement de Python et anime la communauté de développeurs et d’utilisateurs. Ce langage de programmation présente de nombreuses caractéristiques intéressantes : - Il est multiplateforme. C’est-à-dire qu’il fonctionne sur de nombreux systèmes d’exploitation : Windows, Mac OS X, Linux, Android, iOS, depuis les mini-ordinateurs Raspberry Pi jusqu’aux supercalculateurs ; - Il est gratuit. Vous pouvez l’installer sur autant d’ordinateurs que vous voulez (même sur votre téléphone!) ; - C’est un langage de haut niveau. Il demande relativement peu de connaissance sur le fonctionnement d’un ordinateur pour être utilisé ; - C’est un langage interprété. Un script Python n’a pas besoin d’être compilé pour être exécuté, contrairement à des langages comme le C ou le C++ ; - Il est orienté objet. C’est-à-dire qu’il est possible de concevoir en Python des entités qui miment celles du monde réel (une cellule, une protéine, un atome, etc.) avec un certain nombre de règles de fonctionnement et d’interactions ; - Il est relativement simple à prendre en main2 ; - Enfin , il est très utilisé en bio-informatique et plus généralement en analyse de données. Toutes ces caractéristiques font que Python est désormais enseigné dans de nombreuses formations, depuis l’enseignement secondaire jusqu’à l’enseignement supérieur.
Préparation de l'environnement de travail
a- Créer un dossier sur votre bureau et nommez le formation_python ; b- Ouvrez le avec Visual Studio Code ; c- Cliquez sur file, ensuite sur new file ; d- Cliquez sur file ensuite save as ; e- Renommez en varables.py f- Validez. Le (.py) est l’extension des fichiers python, n’oubliez pas le point surtoutVariables
Définition
Une variable est une zone de la mémoire de l’ordinateur dans laquelle une valeur est stockée. Aux yeux du programmeur, cette variable est définie par un nom, alors que pour l’ordinateur, il s’agit en fait d’une adresse, c’est-à-dire d’une zone particulière de la mémoire. En Python, la déclaration d’une variable et son initialisation (c’est-à-dire la première valeur que l’on va stocker dedans) se font en même temps.
I/ Principe clés
Pour vous en convaincre, testez les instructions suivantes en commençant par la ligne 1 après avoir lancé l’interpréteur (cliquez sur la bouton play en haut à droite de l’écran) : ligne 1: x=2 ligne 2: print(x) Dans cet exemple, nous avons déclaré, puis initialisé la variable x avec la valeur 2.
Messages de la boite de dialogue Terminal
c:/Users/Surface/Desktop/formation_python/variables.py 2
Notez bien qu’en réalité, il s’est passé plusieurs choses tout en vous disant où il a lu vu le fichier : — Python a « deviné » que la variable était un entier. On dit que Python est un langage au typage dynamique. — Python a alloué (réservé) l’espace en mémoire pour y accueillir un entier. Chaque type de variable prend plus ou moins d’espace en mémoire. Python a aussi fait en sorte qu’on puisse retrouver la variable sous le nom x. — Enfin, Python a assigné la valeur 2 à la variable x. Dans d’autres langages (en C par exemple), il faut coder ces différentes étapes une par une. Python étant un langage dit de haut niveau, la simple instruction x = 2 à suffi à réaliser les 3 étapes en une fois! Lignes 2 et 3. L’interpréteur nous a permis de connaître le contenu de la variable juste en tapant son nom. Retenez ceci car c’est une spécificité de l’interpréteur Python, très pratique pour chasser (debugger) les erreurs dans un programme. Par contre, la ligne d’un Script Python qui contient seulement le nom d’une variable (sans aucune autre indication) n’affichera pas la valeur de la variable à l’écran lors de l’exécution (pour autant, cette instruction reste valide et ne générera pas d’erreur). Sachez par ailleurs que l’opérateur d’affectation=s’utilise dans un certain sens. Par exemple, l’instruction x = 2 signifie qu’on attribue la valeur située à droite de l’opérateur = (ici, 2) à la variable située à gauche (ici, x). D’autres langages de programmation comme R utilisent les symboles <- pour rendre l’affectation d’une variable plus explicite, par exemple x <2. Enfin, dans l’instruction x = y - 3, l’opération y - 3 est d’abord évaluée et ensuite le résultat de cette opération est affecté à la variable x.
Python est un langage fortement typé c’est-à-dire qu’on attribue un seul type à votre variable. Si votre variable est de type chaine de caractère("str en python" ou "string dans d'autres langages "), vous pouvez plus tard remplacer sa valeur par une autre chaine de caractère mais pas par un nombre. Vous pouvez donner le nom que vous souhaitez à votre variable, par convention c’est-à-dire par habitude on va utiliser des noms en minuscule qui sont séparés par un trait d’union (c’est la touche 8 en haut de votre clavier) si vous avez plusieurs mots. Vous n’utiliserai pas d’accent dans vos variables, ni des caractères spéciaux et d’espace. Par contre il est possible d’utiliser des majuscules mais nous vous déconseillons fortement car les variables en minuscule et majuscule sont pris en compte différemment.
a/ Quelques commandes de base
a.1/ La fonction print (affiché ou imprimer)
Print( ) : la commande « print() » sert à afficher sur l’écran aussi bien des valeurs que des phrases. Il est obligatoirement précédé de parenthèses pour lui indiquer quoi écrire. NB : tous traitement obéit au schéma suivant : d’abord les Données (ex : les éléments d’une facture prix, quantité), ensuite traitement (programme ex : facturation) enfin Résultats (ex : facture). Attention aux symboles ( "" c'est la touche 3 en haut de votre clavier) et les parenthèses (touche 5 en haut de votre clavier) syntaxes importantes en python.
a.2/ La fonction input
input( ) : précédemment nous avons vu comment déclarer des variables, maintenant, nous allons voir comment récupérer une variable demandée à l’utilisateur.
a.3/ La fonction import
Il est possible d'utiliser des fonctions déjà existantes dans Python, pour cela, il faut les importer ! Au début du programme, il faut rentrer l'instruction : « from math import * » Elle permet dans le programme d'utiliser l'instruction « sqrt( ) » pour calculer la racine carrée mais aussi l'instruction « pi » pour , « floor » pour partie entière, « cos » pour le π cosinus d'un angle. On peut aussi utiliser « from random import * » qui permet d'utiliser l'instruction « random() » qui permet de générer un nombre aléatoire. Voici un essai ici, on peut remarquer aussi comment écrire noté R**2=R au carré
a.4/ Les fonctions : if(si), else(sinon), elif(sinon si):
A la suite de l'instruction « if », il faut écrire le test voulu et faire suivre cela par « : » Une fois validée la ligne, le programme va faire un décalage et celui marque les lignes d'instruction qui seront effectuées si la condition est vérifiée. « == » permet de vérifier si deux valeurs sont égales et «!= » permet de vérifier si elles sont différentes. On peut rajouter une instruction si la condition n'est pas vérifiée avec « else : ». Enfin, l'instruction « elif » permet de rajouter une condition si la première n'est pas vérifiée.
Méthodologies de la formation
Pour chaque exemple vous aurez la description des programmes et le message qui apparaitra dans la boite de dialogue de votre terminal si vous la structure de votre programme est correct.
NB : la présentation des programmes sont confondu si le vous utilisez un téléphone Android pour suivre ce cours compte tenue de la taille de l’écran. Par contre la disposition est claire pour les tablettes et ordinateur.Remarque : attention au bloc de code dans les fonctions. Pour ceux qui n’ont pas suivi nos conseils sur l’installation de l’extension french pour avoir une interface en français. Vous verrez que le terminal de Visual Studio Code vous parle en anglais. C’est l’occasion d’apprendre au passage quelque mot en anglais qui vous seront très utile dans le monde de la programmation. Les vrai documents sont affichés ou imprimé en anglais (DOCSTRING). Nous vous donnerons à chaque fois l’interprétation du terminal en français.
a/ Les types de variables
Une variable peut être simple ou matricielle (tableau indicé), la déclaration des variables se formule en ressemblant toutes les variables ayant le même type. Les types de variables courant sont ceux que l’on rencontre lors de la définition des champs dans les systèmes de gestion de bases de données : entier, décimal, réel, booléen, date, texte… A = "salut" chaine de caractère : str en python et string des les autres langages ; B = 20 nombre entier : int ; C = 2.5 nombre à virgule : float ; D = true (true ou false) vrai ou faux : bool ;
Exemple
La terme input est bloquant ; elle retourne toujours une valeur, nous devons obligatoirement saisir une information avant de continué l’exécution de programme. Ex : nom = input ("Quel est votre nom ?") Print("vous vous appelez"+ nom) Cliquez sur Play , entré votre nom et valider avec la touche entrer pour voir le résultat s’affiché. NB : ce que nous venons de faire avec l’opérateur + s’appelle la concaténation c’est-à-dire coller des chaines de caractère entre elle. Essayer de manipuler l’espaces entre les griffes, les chaines de caractères et la variables pour comprendre comment créer des espaces dans une phrase.
II/ Méthode
Excercices d'applications
Excercice 1
Créer une variable nom « Jean » et affiché ces commandes : je m’appelle jean. Mon nom c’est bien jean
Correction
programme
nom = "Jean" print("je m'appelle " + nom + ".") print("Mon nom c'est bien " + nom)
Message du terminal
PS C:\Users\Surface\Desktop\python formation> & C:/Users/Surface/AppData/Local/Programs/Python/Python310/python.exe "c:/Users/Surface/Desktop/python formation/variables.py" je m'appelle Jean. Mon nom c'est bien Jean PS C:\Users\Surface\Desktop\python formation>
faite attention à l'espace entre les chaines de caractère.
Excercice 2 : Demander des données à l'utilisateur
demander le nom de « Jean » et exploité la réponse pour dire vous vous appelez jean.
Correction
programme
ligne 1 nom = input ("Quel est votre nom ? ") ligne 2 print("vous vous appelez " + nom + ".")
Message du terminal
PS C:\Users\Surface\Desktop\python formation> & C:/Users/Surface/AppData/Local/Programs/Python/Python310/python.exe "c:/Users/Surface/Desktop/python formation/variables.py" Quel est votre nom ? jean vous vous appelez jean. PS C:\Users\Surface\Desktop\python formation>
Rappelez-vous que la fonction input est bloquante entrée un caractère dans ce cas « Jean » et valider par la touche entrer pour continuer l’exécution du programme.
C'est le moment de pratiquer avec des exercices nous vous donnons les corrections en fin du cours par un autre lien pour voir toute les corrections et démonstrations avec un IDE intégré. C’est important de pratiquer de votre coté.
Cas pratique 1
Vous allez utilisé input pour demander le nom et l’âge d’une personne et faire en sorte d’affiché cette commande.
print("vous vous appelez Jean, vous avez 40 ans")
C/ La convertion des variables
En programmation, on est souvent amené à convertir les types, c’est-à-dire passer d’un type numérique à une chaîne de caractères ou vice-versa. En Python, rien de plus simple avec les fonctions int(), float() et str().
a.1/Convertir un nombre(int) en chaine de caractère(str)
programme
ligne 1 nom ="Paul" ligne 2 age = 60 ligne 3 print(" Vous vous appelez " +nom + ", vous avez " + age + ",ans")
Message du terminal
PS C:\Users\Surface\Desktop\python formation> & C:/Users/Surface/AppData/Local/Programs/Python/Python310/python.exe "c:/Users/Surface/Desktop/python formation/variables.py"
Traceback (most recent call last):
File "c:\Users\Surface\Desktop\python formation\variables.py", line 3, in
Il nous dit qu'il ne peut concaténé que les chaines de caractère pas les nombres. Pour lui dire de faire cela, nous devons convertir le nombre en chaine de caractère c’est-à-dire les « int » en « str ». Cette conversion permettra de récupérer alors str(60) devient "60" en chaine de caractère.
Essayons donc maintenant avec cette correction d’erreur en mettant str(age): ligne 1 nom ="Paul" ligne 2 age = 60 ligne 3 print(" Vous vous appelez " + nom + ", vous avez " + str(age) + ", ans")
Message du terminal
C:/Users/Surface/AppData/Local/Programs/Python/Python310/python.exe c:/Users/Surface/Desktop/formation_python/variables.py Vous vous appelez Paul, vous avez 60, ans
L’intérêt d’avoir fait cela est de pouvoir créer une autre variable à la suite qui dépend de la variable principale de manière automatique car dans le code , on ne s’amuse pas à faire des changements à plusieurs niveaux.
Exemple : ligne 1 nom ="Paul" ligne 2 age = 60 ligne 3 age_prochain = age + 1 ligne 4 print(" Vous vous appelez " + nom + ", vous avez " + str(age) + ", ans") ligne 5 print(" l'an prochain vous aurez " + str(age_prochain) + ", ans")
Message du terminal
C:/Users/Surface/AppData/Local/Programs/Python/Python310/python.exe c:/Users/Surface/Desktop/formation_python/variables.py Vous vous appelez Paul, vous avez 60, ans l'an prochain vous aurez 61, ans
ce résutat vous donne 61 pour age_prochain de manière automatique. essayez avec une autre valeur dans la variable age.
a.2/Convertir une chaine de caractère(str) en nombre(int)
Veuillez exécuter ce programme en mettant TOTO pour le nom et 22 pour l'age et observer le résultat
ligne 1 nom = input ("Quel est votre nom ?") ligne 2 age = input ("Quel est votre age ?") ligne 3 age_prochain = age + 1 ligne 4 print(" Vous vous appelez " + nom + ", vous avez " + str(age)+ ",ans") ligne 5 print(" l'an prochain vous aurez " + str(age_prochain) + ",ans")
Message du terminal
C:/Users/Surface/AppData/Local/Programs/Python/Python310/python.exe c:/Users/Surface/Desktop/formation_python/variables.py
Quel est votre nom ? TOTO
Quel est votre age ? 22
Traceback (most recent call last):
File "c:\Users\Surface\Desktop\formation_python\variables.py", line 3, in
En exécutant ce programme, il vous dit qu’il existe une erreur dans le numéro de la ligne de la fonction print. La fonction input retourne toujours une chaine de caractère même si on rentre un nombre peu importe pour lui c’est une chaine de caractère donc un « str » mais pas un nombre « int » . C’est à nous de convertie le « str » en « int »
Essayons donc maintenant avec cette correction d’erreur en mettant age_prochain = int(age) + 1 :
ligne 1 nom = input ("Quel est votre nom ?") ligne 2 age = input ("Quel est votre age ?") ligne 3 age_prochain = int(age) + 1 ligne 4 print(" Vous vous appelez " + nom + ", vous avez " + str(age) + ", ans") ligne 5 print(" l'an prochain vous aurez " + str(age_prochain) + ",ans")
Message du Terminal
C:/Users/Surface/AppData/Local/Programs/Python/Python310/python.exe c:/Users/Surface/Desktop/formation_python/variables.py Quel est votre nom ? TOTO Quel est votre age ? 22 Vous vous appelez TOTO, vous avez 22, ans l'an prochain vous aurez 23, ans
Veuillez exécuter ce programme en mettant kaboré pour le nom et paul pour l'age et observer le résultat :
ligne 1 nom = input ("Quel est votre nom ?") ligne 2 age = input ("Quel est votre age ?") ligne 3 age_prochain = int(age) + 1 ligne 4 print(" Vous vous appelez " + nom + ", vous avez " + str(age) + ",ans") ligne 5 print(" l'an prochain vous avez " + str(age_prochain) + ",ans")
Message du Terminal
C:/Users/Surface/AppData/Local/Programs/Python/Python310/python.exe c:/Users/Surface/Desktop/formation_python/variables.py
Quel est votre nom ? Kaboré
Quel est votre age ? Paul
Traceback (most recent call last):
File "c:\Users\Surface\Desktop\formation_python\variables.py", line 3, in