II) Affichage, entrées et fichiers
1) Chaînes de caractères
a) Notion de chaîne de caractères
On peut aussi associer des noms à des séries de caractères que l'on appelle "chaîne de caractères".
Le contenu de la variable ma_chaine est de type string et donc écrire type(ma_chaine) dans la console donnera un str (abréviation de string en Python).
b) Le signe + et les chaînes de caractères
L'utilisation du signe + ne se limite pas à l'addition. Il est aussi utilisé pour la concaténation.
D'après Wikipédia :
«Concaténation : Terme féminin, du latin cum («avec») et catena(«chaîne, liaison»), désignant l'action de mettre bout à bout au moins deux chaînes. »
Si on considère le programme suivant :
Après l'exécution de ce programme, la variablemon_expression aura pour valeur HelloWorld.
Il est aussi possible de concaténer une chaîne de caractères et une ou plusieurs variables :
Après l'exécution de ce programme, la variableres aura pour valeur Bonjour le monde!.
Les 2 noms ma_chaine_1 et ma_chaine_2 sont associés à 2 chaînes de caractères, nous avons donc bien ici une concaténation.
Que se passe-t-il si nous avons ce cas de figure ?
a est de type str alors que b est de type int. Le signe plus représente une addition ou une concaténation ? Ni l'un, ni l'autre, puisque Python vous renverra une erreur : il ne peut pas concaténer un entier et une chaîne de caractère.La solution : transformer le nombre 4 en caractère 4 à l'aide du mot clé str :
str(4) est de type string.
c) Les fstrings
Autre solution pour faire cohabiter des variables de type int ou float avec des variables de type str : les fstrings (attention les fstrings sont uniquement disponible à partir de Python 3.5).
Il est possible d'écrire :
Après l'exécution du programme ci-dessus, la variablec aura pour valeur "Nombre de pommes : 4".
Dans la chaîne de caractère, {a} sera remplacé par la valeur de la variable a, c'est à dire Nombre de pommes :.
De même, {b} sera remplacé par la valeur de b, c'est à dire 4.
Autre exemple d'utilisation des fstrings :
Après l'exécution du programme ci-dessus, la variable c aura pour valeur "Le train n°4232 à destination de Paris entre en gare"
Notez la présence du "f" juste avant le guillemet et des accolades qui encadrent le nom de la variable. Il est nécessaire d'ajouter ce "f" pour avoir une fstring.
2) Les entrées
a) La command input
La commande input est le plus souvent utilisé pour demander à l'utilisateur de choisir une entrée.
b) Une entrée est une chaîne de caractère
Cette entrée est une chaîne de caractères, y compris si on tape un nombre. Il faut alors la convertir au besoin, comme ici avec la commande int.
3) Les fichiers
a) Présentation
Lorsque l'on veut récupérer un texte important, il est préférable de se servir d'un fichier contenant ce texte.
- Il est recommandé d'utiliser les fichiers avec l'instruction
withpour éviter les problèmes de fermetures. - On obtient un itérateur ne servant donc qu'une fois.
- L'itérateur renvoie des lignes. Elles se terminent par "\n".
ligne.strip()permet d'enlever les "\n".- Il y a plusieurs modes d'accès :
- "r" : lecture
- "w" : écriture
- "a" : ajout
b) Exemple de lecture dans un fichier
Dans l'exemple suivant, on ouvre un fichier "pasteur.txt" en lecture (r) et on peut ensuite l'utiliser ligne par ligne :
c) Exemple d'écriture dans un fichier
Dans l'exemple suivant, on va créer et écrire dans un fichier "carres.txt" :