1 Variables en python

publicité
Informatique
Cours S1.2
Stockage des données en python
1 Variables en python
1.1 Différentes classes ou types de variables
Les variables en python sont des mémoires dans lesquels sont stockées des données.
Les variables sont initialisées à chaque session de python.
Ces variables peuvent être de 5 types. Pour faciliter la lecture des programmes, on utilise de préférence les
noms couramment rencontrés ou des noms qui traduisent bien leur contenu.
Type de variable
Type en
Exemple de
Exemple d'affectation Lettre couramment
python
valeur
utilisée
entier (integer)
1
i=1
compteur :i,j,k
int
2
n=2
nombre: n ou N
décimal ou flottant
float
0.001
100.0
mini=10e-3
maxi=100.0
booléen
bool
True
False
test=True
test=False
chaine de caractère (string)
str
liste (liste de nombre, de chaine
de caractères, de booléen et
même de listes)
list
'Lettres'
'Une phrase'
"Une phrase"
[0,1,2,2,3]
['a','b','c']
['a',1,False]
mot='Lettres'
phrase='Une phrase'
phrase="Une phrase"
L1=[0,1,2,2,3]
chaines=['a','b','c']
liste=['a',1,False]
L
La variable prend le type de ce qui lui est affecté. Le type d'une variable peut évoluer au cours d'un
programme. Pour des raisons de compréhension et pour éviter les conflits, il est préférable de ne pas
utiliser le même nom de variable pour stocker deux données différentes.
Lorsque l'on souhaite connaitre le type d'une variable on utilise la fonction type.
>>> i=1
>>> type(i)
<class 'int'>
>>> type('abcd')
<class 'str'>
1.2 Conversion de type
La conversion d'un type en un autre type est envisageable.
Elle peut permettre de récupérer un nombre à partir d'une chaine de caractères par exemple.
Pour convertir en un type donné, on utilise le nom
du type comme une fonction.
>>> a='120'
>>> int(a)
120
>>> float(120)
120.0
Lycée Jules Ferry Cannes
Page 1 sur 4
TSI1
Informatique
Cours S1.2
Stockage des données en python
>>> str(120)
'120'
Si la conversion n'est pas possible, par exemple int("abcd"), python indique une erreur.
Une autre solution pour convertir un texte en variable est la fonction exec, utile notamment lors de la
lecture de fichiers. Cette fonction permet d'exécuter les instructions qui sont inscrites dans la chaine de
caractère.
>>> exec("a=20")
>>> a
20
1.3 Effet du type sur les opérations de base
Les opérations de base se comportent différemment selon le type des variables.
Pour l'addition, par exemple :
• pour les nombres, pas de surprises :
- 1+1
2
- 1.0+1.0
2.0
- 1+1.0
2.0
• pour les chaines de caractères, les caractères sont concaténés (ajouter les uns derrière les autres) :
- 'a'+'b'
'ab'
- 'a'+'1'
'a1'
• pour les listes, les éléments de la liste sont regroupés dans une liste commune :
- [1,2]+[2]
[1,2,2]
- ['a','b']+['c',1]
['a','b','c',1]
2 Fonctions d'interface homme-machine
2.1 Saisie par l'utilisateur au cours d'un programme
La fonction input permet de demander une saisie à l'utilisateur :
•
entrées :
-
la chaine de caractère inscrite entre les parenthèses (voire rien entre les parenthèses),
les caractères frappés par l'utilisateur lorsque la fonction input est en cours d'exécution.
La saisie se termine grâce à la touche Entrée du clavier,
La chaine de caractère de la fonction input est inscrite dans la console où s'exécute le programme.
Ce message est appelé l'invite de la fonction input.
La saisie de l'utilisateur est inscrite dans la console à la suite de l'invite.
•
sortie : une chaine de caractère qui contient toutes les frappes de l'utilisateur.
Il est nécessaire de stocker cette sortie dans une variable pour pouvoir la traiter dans la suite du
programme.
>>> a=input('Entrer la valeur de a :')
Entrer la valeur de a :1
>>> a
'1'
Lycée Jules Ferry Cannes
Page 2 sur 4
TSI1
Informatique
Cours S1.2
Stockage des données en python
Si on souhaite récupérer l'entier saisi, on utilisera l'instruction int(a) :
>>> a=int(a)
>>> a
1
2.2 Affichage dans la console au cours d'un programme
La fonction print permet d'afficher du texte ou le contenu des variables dans la console python où
s'exécute le programme :
•
•
entrées : du
texte ou le nom des variables séparés par des virgules.
sortie : aucune , la fonction affiche du texte dans la console mais elle ne renvoie rien. Si on
stocke ce qu'elle renvoie dans une variable on obtient None (rien en anglais).
>>> print("abc")
abc
>>> a=120
>>> print(a)
120
>>> print('La valeur de a est :' , a , ',sans unité.')
La valeur de a est : 120 ,sans unité.
3 Stockage sur disque dur
Les variables dans la console python sont initialisée à chaque nouvelle session.
Le moyen pour stocker des données dans la durée est un fichier (enregistré sur le disque dur à priori).
Les fichiers que l'on va utiliser sont des fichiers texte dont le contenu est une chaine de caractères à
plusieurs lignes.
Chaque caractère (lettre, chiffre, espace, retour à la ligne…) occupe un
octet en mémoire.
3.1 Ouverture (voire création) d'un fichier
Pour ouvrir le fichier on utilise la commande suivante :
>>> monfichier=open("nom","mode")
où :
• monfichier est un nom qui sera ensuite utilisé pour désigner le fichier lors des opérations de
traitement.
• nom est le nom du fichier à ouvrir. Par défaut, le répertoire courant de chargement est celui
d’exécution du programme.
• mode est le mode d’ouverture du fichier (d’autres mode sont disponibles nous ne citons que
ceux que nous utiliserons ) :
- "r" mode lecture (On ne peut pas écrire dans le fichier)
- "w" mode écriture. Le fichier est créé s’il n’existe pas. Si le fichier existe déjà son contenu est
détruit.
- "a" mode ajout. On peut écrire des lignes à partir de la fin du fichier.
exemples :
ouverture du fichier notes.txt en lecture :
>>>fichierNotes =open("notes.txt","r")
ouverture du fichier notes.txt en écriture (création ou écrasement du fichier initial):
>>> fichierNotes
=open("notes.txt","w")
Lycée Jules Ferry Cannes
Page 3 sur 4
TSI1
Informatique
Cours S1.2
Stockage des données en python
3.2 Fermeture d'un fichier
Si on a ouvert un fichier (avec la commande open) dont le nom est file1.
Pour la fermeture du fichier file1:
>>> file1.close()
3.3 Lecture des données contenues dans le fichier
On ne s'intéresse dans ce paragraphe qu'à la lecture complète du fichier file1.
Lecture du fichier en une seule chaine de caractère :
>>> file= file1.read()
# la chaine de caractère du fichier est lue puis stockée dans la variable texte
Obtention de la liste des lignes d’un fichier
>>> lignes=file1.readlines()
# la liste lignes contient chaque ligne sous forme de chaine de caractères
3.4 Ecriture des données contenues dans le fichier
Ecriture dans le fichier à partir de la position courante en mode "w",
>>> file1.write("écriture de ce contenu")
Références :
http://general.developpez.com/cours/
https://docs.python.org/3/
Lycée Jules Ferry Cannes
Page 4 sur 4
TSI1
Téléchargement