Ceci est une ancienne révision du document !
Table des matières
Quelques notes sur le langage PYTHON
Rédigé à partir de différentes sources :
- Recherches en ligne,
- Livres..
Travaillé sous environnement Linux.
ECRIRE UN PROGRAMME
Avec le Shell (ou interpréteur) PYTHON
Pour entrer dans le “Shell Python”, saisissez python ou bien python3 dans le terminal (ou 3 est le numéro de version).
Pour sortir du “Shell Python”, saisissez Quit() ou bien exit() dans le terminal.
- Utile pour tester directement des lignes de codes.
A SAVOIR : si plusieurs version de Python sont installés, on peut choisir d'en utiliser une à l'aide de la commande :
py -lenumérodeversion
Avec un éditeur de texte
..choisir son éditeur de texte préféré..
NOTE : UTF8 permet de s'assurer de pouvoir utiliser les caractères spéciaux (accents, cedille..).
Mon premier programme PYTHON
Créer un nouveau fichier dans son éditeur de texte préféré..
#!/usr/bin/env python
print("Bonjour, je suis un programme ecrit en Python.")
ChampNom = input("Quel est votre prénom ? ")
print("Salut, " + ChampNom + "!")
Ici, s'affiche“Salut prénom !”
La dernière ligne de code précédente peut aussi s'écrire ;
print("Salut, ", ChampNom, " !")
A SAVOIR : une autre manière d'afficher le contenu d'une variable ;
print(f"Bien le bonjour {ChampNom} :) prêt à étudier le langage Python ??")
A SAVOIR : Entre les accolades peut figurer une variable ou une expression
Enregistrer le fichier sous.. “MonProgramme.py”
Exécution du programme depuis la ligne de commande
- à l’emplacement du fichier..
- ou avec le chemin complet..
Pour exécuter le programme sous environnement Linux.
Il faut d’abord rendre le fichier exécutable en saisissant la ligne ci-dessous, dans le répertoire ou est stocké le fichier :
chmod +x MonProgramme.py
REMARQUE :
- Pour exécuter le programme, si l’on n’est pas positionné dans le répertoire, il faut saisir intégralement le chemin..
- On peut aussi exécuter le programme avec la syntaxe :
python3 MonProgramme.py
LA CASSE
Dans Python, la casse est importante.
Ainsi :
print(2+2)
affiche bien le résultat, soit 4,
Print(2+2)
“print” avec “P” majuscule, génère une erreur.
NOTION D'OBJET
..compréhension à revoir..
Un objet est une information à traiter..
Un objet, est tout autre qui n'est pas un “mot clé”, “une fonction”, “une variable”.
Pour manipuler un objet avec Python, on peut le stocker/mémoriser dans une variable.
LES VARIABLES
SYNTAXES - Affectation d'une variable
NomDeLaVariable = Valeur
- Comparaison ou contrôle de contenu
NomDeLaVariable == 'contenu'
Type de données
Il n'est pas nécessaire de définir le type d'une variable. Elle prend le type du contenu qu'on lui donne.
Assigner une valeur s'écrit :
mois = 'Janvier’
Connaître le type d'une variable s'écrit :
print(type(NomDeLaVariable))
Modifier le type d'une variable s'écrit :
print LibelléDuType(NomDeLaVariable)
Exemple :
print int(s)
- dans l'Exemple “s” étant une variable de type caractère,
- avec “int” elle devient une variable de type numérique (integer).
Déclaration d'une liste (ou tableau)
SYNTAXES d'une liste
NomListe = ['Valeur 1', 'Valeur 2', 'Valeur x', ...]
Exemple :
- La liste des mois peut s'écrire :
mois = [ 'Jan', 'Fev', 'Mars', 'Avril', 'Mai', 'Juin', 'Juil', 'Aout', 'Sep', 'Oct', 'Nov', 'Dec' ]
- Pour afficher “Mars”, cela peut s'écrire :
print mois[2]
Exemple :
- Créé une liste à partir d'une chaine, peut s'écrire :
list("Que donne cette ensemble de caractères dans une liste")
- A pour effet de mettre chaque caractère et espace dans une “case”..
On peut remplacer l'élément d'une liste.
Exemple :
mois[3] = "En avril fait ce qu'il te plaît"
- Pour le vérifier, on peut afficher la liste, cela s'écrit :
print(mois)
On peut afficher un ensemble d'éléments, en exprimant une plage (de x à y-1).
Exemple :
print(mois[2:8])
- A pour effet d'afficher les éléments 2, 3, 4, 5, 6 et 7.
On peut afficher un ensemble d'éléments, tout ou partie d'une plage, dit le slicing.
Exemple 01 :
print(mois[:2])
- A pour effet d'afficher les valeurs dans les index inférieur à 2.
Exemple 02 :
print(mois[2:])
- A pour effet d'afficher les valeurs dans les index supérieur à 2.
On peut imbriquer plusieurs listes dans une variable liste.
Exemple 01 :
MesListes = [Liste1, Liste2]
- Les listes sont ici distinctes, il y a bien 2 listes.
Exemple 02 :
MesListes = Liste1 + Liste2
- A pour effet de concaténer les listes, il n'y a plus qu'une seule liste.
On peut ajouter des éléments à une liste.
Exemple :
mois.append("Bonne année !!!")
On peut supprimer un éléments d'une liste.
Exemple :
del mois[6]
On peut supprimer le dernier élément ajouté.
Exemple :
mois.pop()
CURIOSITE
Inverser les informations/les caractères.
Exemple :
- Inverser les lettres d'une phrase, peut s'écrire :
"Bonjour tout le monde"[::-1]
Déclaration d'un tuple
SYNTAXES d'un tuple
NomTuple = ('Valeur 1', 'Valeur 2', 'Valeur x', ...)
Un tuple ou n-uplet est une liste non modifiable.
Exemple :
- La liste des jours, peut s'écrire :
ListeJours = (Lun, Ma, Me, Je, Ve, Sam, Dim)
Déclaration d'un dictionnaire
SYNTAXES d'un dictionnaire
NomDictionnaire = {'Clé 1' : ('Valeur 1', 'Valeur 2', 'Valeur x'), 'Clé 2' : 'Valeur 1', 'Clé 3' : 'Valeur 1', ...}
Un “dictionnaire” est :
- Une “liste particulière”, il est constitué d'ensemble de “clés” et “valeurs”, il peut y avoir plusieurs valeurs elles sont alors mises entre parenthèses et séparées par des virgules,
- Une collection non ordonnées.
Exemples :
- Pour créer une liste des sports préférés de personnes/personnages :
sports_favoris = { 'Frédéric Chopin' : ('Football', 'Ping-Pong'), 'Ludwig van Beethoven' : 'Basket-ball', 'Wolfgang Amadeus Mozart' : 'Base-ball', 'Antonio Vivaldi' : 'Volley ball', 'Jean-Sébastien Bach' : 'Badminton', 'Hector Berlioz' : 'Rugby' }
- Pour afficher le sport favoris de Hector Berlioz :
print(sports_favoris['Hector Berlioz'])
- Pour supprimer une clé et sa/ses valeur(s) :
del sports_favoris['Ludwig van Beethoven']
- Pour remplacer la ou les valeur(s) :
sports_favoris['Frédéric Chopin'] = 'Hockey sur glace'
- Pour ajouter “Footsal” à l'existant :
sports_favoris['Frédéric Chopin'] = 'Hockey sur glace', 'Footsal'
VOIR FICHIER : 20231218_page46pkids-dict.py
- Pour savoir si une clé existe, on peut écrire :
"terme-recherché" in sports_favoris
Il est alors retourné la valeur TRUE ou FALSE.
A SAVOIR : Il ne doit pas y avoir de doublons de clé, soit de libellé identique.
- Pour lister toutes les clés et les valeurs. On utilise la méthode “items”.
Exemple :
sports_favoris.items()
A pour effet d'afficher en une ligne (soit l'équivalent d'une “liste” de “tuples”), l'ensemble de clés/valeurs du dictionnaire.
- Pour parcourir toutes les clés et valeurs, on peut l'écrire :
for elements in sports_favoris.items(): print(elements)
Le résultat de l'affichage permet de voir que chaque ligne est un tuple, cela peut donc s'écrire aussi :
for elements in sports_favoris.items(): print(type(elements))
Aussi, on peut énumérer les clés ou les valeurs à l'aide de l'indexation :
- Soit pour les clés ;
for elements in sports_favoris.items(): print(elements[0])
- Soit pour les valeurs ;
for elements in sports_favoris.items(): print(elements[1])
Ou bien l'on peut, énumérer les clés et les valeurs à l'aide de variables, respectivement ici “personnage” et “sport”, ce qui peut s'écrire ;
for personnage, sport in sports_favoris.items(): print(personnage)
for personnage, sport in sports_favoris.items(): print(sport)
A SAVOIR : Les éléments d'un dictionnaire ne sont pas ordonnés (classés par ordre alphabétique ou alphanumérique par Exemple) ainsi ils ne peuvent être lu/parcouru dans l'ordre alphabétique ou alphanumérique.
Imbriquer les listes, les tuples et les dictionnaires
SYNTAXES
UNE LISTE
NomListe = ['Valeur 1', 'Valeur 2', 'Valeur x', ...]
UN TUPLE
NomTuple = ('Valeur 1', 'Valeur 2', 'Valeur x', ...)
UN DICTIONNAIRE
NomDictionnaire = {'Clé 1' : ('Valeur 1', 'Valeur 2', 'Valeur x'), 'Clé 2' : 'Valeur 1', 'Clé 3' : 'Valeur 1', ...}
Un tuple dans une liste.
Exemple ;
L = ['a', 'b', ('2', '4', '6')]
Les listes et les tuples étant indexés, on peut interroger chaque éléments. Cela peut s'écrire :
L[0] affiche 'a',
L[1] affiche 'b',
L[2][0] affiche '2',
L[2][1] affiche '4',
L[2][2] affiche '6',
Exemple, pour illustrer :
VOIR FICHIER : < 20240225_elephorm_test-liste.py >
Substitution
%s : pour substituer une variable de type caractère, soit “string”,
%d : pour substituer une variable de type numérique, soit “integer”.
Exemple :
Mois = ['Jan','Fév','Mars','Avr','Mai','Juin','Juil','Août','Sept','Oct','Nov','Déc']
JoursDansMois = [31,28,31,30,31,30,31,31,30,31,30,31]
for cmptr in range(0,12):
print('%s a %d jours.' % (Mois[cmptr],JoursDansMois[cmptr]))
Le résultat de ce code est :
Jan a 31 jours.
Fév a 28 jours.
Mars a 31 jours.
Avr a 30 jours.
Mai a 31 jours.
Juin a 30 jours.
Juil a 31 jours.
Août a 31 jours.
Sept a 30 jours.
Oct a 31 jours.
Nov a 30 jours.
Déc a 31 jours.
LES BOUCLES
..en construction..
LES CARACTÈRES D’ÉCHAPPEMENTS
Exemple :
chaine = ’La syntaxe est importante en Python’
chaine = ”La syntaxe est importante en Python”
Produit le même résultat à l’affichage.
Au sein d’une chaîne si l’on veut intégrer le guillemet simple ou le guillemet double, il faut entourer la chaîne du guillemet qui n’a pas besoin d’être affiché.
Exemple :
- Pour afficher le guillemet simple, on l'entoure du guillemet double.
chaîne = ”Dis s’il te plaît”
Mais pour afficher : Elle a dit ”Ne t’inquiète pas”
- Il faudra utiliser le caractère dit d’échappement, soit l’anti-slash ”\”
chaîne = ’Elle a dit ”Ne t\'inquiète pas”’
A SAVOIR : il existe d’autres caractères d’échappements utiles, par Exemple le retour à la ligne et aussi la tabulation. On peut aussi encadrer une chaîne de caractère avec trois guillemets simple, ce qui a pour effet de traiter tous ce qui est encadrés comme du “texte brut”.
LES OPÉRATEURS
| Opérateur | Signe |
|---|---|
| Égalité | == |
| Supérieur à | > |
| Supérieur ou égal à | >= |
| Inférieur à | < |
| Inférieur ou égal à | ⇐ |
| Différent de | != |
LES MODULES
Un module, contient un ensemble de fonctions. Ils correspondent en général à une thématique précise.
Ils peuvent être réutiliser, on dit “être appeler”.
Exemples de modules :
- “random”, qui permet de générer des nombres aléatoirement.
- “SQLite”, pour le traitement de base de données.
Créer un module
C'est écrire un ensemble de fonctions. Enregistrées dans un fichier “.py”.
Déclarer un module
SYNTAXES
import NomDuFichierPython
sans l'extension, à condition d'être dans le même répertoire que le fichier appelant.
Exemple à voir :
- VM linux mint /home/temujin/Documents/exercices-python/20231111_FONCTIONtest04.py
REMARQUE : l'usage de l'underscore dans le nom d'un fichier est déconseillé, cela peut faire bugger le code..Sinon il faudra éditer la variable d'environnement PYTHONPATH pour faire figurer un chemin dans lequel trouver les fichiers py créer pour être des modules. Soit saisir dans le shell linux :
export PYTHONPATH=$PYTHONPATH: /chemin/vers/mes/modules
Pour vérifier, saisir :
echo $PYTHONPATH
INTERROGATION : Comment lister les modules par défaut, fournis avec l'installation de python ???Pour avoir une idée des modules présent, lire sommaire < D:\hdd-hvm\Documents\Gestion personnel\Culture SIC\Dossiers PRO\FAE\DOCINFO\Coding\Programmation Python - Tarek Ziadé - Eyrolles (2ème Ed.) 2009.pdf >
Pour tâcher de mieux comprendre “les modules”, lire (autour de la page 47..) < D:\hdd-hvm\Documents\Gestion personnel\Culture SIC\Dossiers PRO\FAE\DOCINFO\Coding\tuto python.pdf >
