Table des matières

Quelques notes sur le langage PYTHON

Rédigé à partir de différentes sources :
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.

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

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
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)

Déclaration d'une liste (ou tableau)

SYNTAXES d'une liste

NomListe = ['Valeur 1', 'Valeur 2', 'Valeur x', ...]

Exemple :

mois = [ 'Jan', 'Fev', 'Mars', 'Avril', 'Mai', 'Juin', 'Juil', 'Aout', 'Sep', 'Oct', 'Nov', 'Dec' ]
print mois[2]

Exemple :

list("Que donne cette ensemble de caractères dans une liste")


On peut remplacer l'élément d'une liste.
Exemple :

mois[3] = "En avril fait ce qu'il te plaît"
print(mois)


On peut afficher un ensemble d'éléments, en exprimant une plage (de x à y-1).
Exemple :

print(mois[2:8])


On peut afficher un ensemble d'éléments, tout ou partie d'une plage, dit le slicing.
Exemple 01 :

print(mois[:2])


Exemple 02 :

print(mois[2:])


On peut imbriquer plusieurs listes dans une variable liste.
Exemple 01 :

MesListes = [Liste1, Liste2]


Exemple 02 :

MesListes = Liste1 + Liste2


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 :

"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 :

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 :

Exemples :

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' }
print(sports_favoris['Hector Berlioz'])
del sports_favoris['Ludwig van Beethoven']
sports_favoris['Frédéric Chopin'] = 'Hockey sur glace'
sports_favoris['Frédéric Chopin'] = 'Hockey sur glace', 'Footsal'
VOIR FICHIER : 20231218_page46pkids-dict.py
"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.

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.
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 :

for elements in sports_favoris.items():
  print(elements[0])
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 :

chaîne = ”Dis s’il te plaît”

Mais pour afficher : Elle a dit ”Ne t’inquiète pas”

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 :

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 :

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 >

LES FONCTIONS

Dès lors que l'on a besoin du même ensemble de lignes de code, la fonction permet de le réutiliser sans avoir à le réécrire.
Elle s'utilise au sein d'un même fichier “.py”.

INTERROGATION : Peut-elle être appelée dans un autre fichier “py” ? Oui, avec le principe de “module”, voir précédent.

Déclarer une fonction

SYNTAXES

NomDeLaFonction(Argument1,Argument2,..)

Exemple à voir :

EXERCICE SUR LES MODULES
../Culture%20personnel/Lecture/FullCircleMagazine/NS_PythonFullfr.pdf, PAGE 14,
Sur la base de ce qui a été vue précédemment,
Objectif
Création d'un programme qui affiche une liste d'achat, mise en forme.
Afficher :

Personnalisation :

Création de 3 fonctions :

  1. Affichage des lignes du haut et du bas, > “HautOuBas”,
  2. Affichage du détails des objets et le total général, > “PartieCentrale”
  3. Affichage de la ligne de séparation. > “LigneIntermediaire”

Espaces de travail ;

NOTE “HautOuBas” est un premier essai de compréhension, “LigneIntermediaire” est devenu utiles à point 1. et point 3.