Document rĂ©alisĂ© par SĂ©bastien HERLANT pour lâoption SIN I1 2023
Démarrer avec Python
AprĂšs avoir installĂ© Python sur lâordinateur, il est maintenant temps de dĂ©couvrir lâinterprĂ©teur de commandes de ce langage. Les petits tests qui suivent, mĂȘme sâils paraissent anodins vont permettre de dĂ©couvrir les premiers rudiments de syntaxe de ce langage. En effet, comme tout langage (de programmation ou pas), Python possĂšde une syntaxe claire quâil convient de respecter rigoureusement pour ĂȘtre compris.
Pour commencer il faut ouvrir lâinterprĂ©teur de commande (ou shell).

A lâouverture de lâinterprĂ©teur de commandes, un message dâaccueil apparaĂźt donnant quelques informations concernant la version de Python mise en route, lâarchitecture de lâordinateur utilisĂ©e ainsi que les commandes Ă saisir pour obtenir davantage dâinformations.
On retrouve Ă©galement les triples chevrons »> qui indiquent que Python est prĂȘt Ă recevoir votre premiĂšre instruction.
Cet interprĂ©teur de commande va permettre de tester directement du code. On saisit une ligne dâinstruction puis on appuie sur la touche ENTRĂE du clavier et Python nous rĂ©pond. Puis on en saisit une deuxiĂšme, puis une troisiĂšmeâŠ
Cet interprĂ©teur de commandes est trĂšs utile pour comprendre les bases de Python et rĂ©aliser nos premiers petits programmes. Mais le principal inconvĂ©nient rĂ©side dans le fait ce qui est saisi nâest pas sauvegardĂ©.
Nous verrons plus tard comment sauvegarder son script mais pour lâheure, commençons par nous familiariser avec les commandes Ă©lĂ©mentaires de Python.
Pour bien communiquer avec Python
1 - Saisir la commande
premier test Python
avec Python et taper ENTRĂE.
Python nous renvoie une erreur de syntaxe car il ne comprend pas cette instruction.

2 - Saisir la commande
"premier test Python"
avec Python et taper ENTRĂE
Python nous renvoie le texte ce qui signifie que lâinstruction est comprise.

3 - Saisir la commande
type(\_)**
et taper ENTRĂE. Python nous renvoie
class 'str'

De la mĂȘme maniĂšre que les mots dâune langue ont une nature (nom, adjectif, verbe, prĂ©position âŠ), Python a besoin de connaĂźtre la nature de lâinstruction ou de lâexpression qui lui est donnĂ©e pour la comprendre et Ă©ventuellement la rĂ©utiliser. En langage informatique on appelle cela le type.
Ainsi dans cet exemple, nous lui avons fourni une expression de type chaĂźne de caractĂšres ou string en anglais. DâoĂč la rĂ©ponse donnĂ©e par Python lorsque nous lui demandons le type : str.
Python connaĂźt une multitude de types. Il convient donc de respecter rigoureusement les symboles associĂ©s afin quâil les reconnaisse. Par exemple, les symboles guillemets â ⊠â permettent de crĂ©er une chaĂźne de caractĂšres.
Seuls les nombres (entier et dĂ©cimaux) sont reconnus sans ĂȘtre encadrĂ©s par des symboles.
4 - Saisir un nombre entier, taper ENTRĂE puis saisir type(_) et taper de nouveau ENTRĂE.
7
type(\_)
Python nous renvoie le nombre 7 et le type int pour integer, nombre entier.

5 - Saisir un nombre dĂ©cimal, taper ENTRĂE puis saisir type(_) et taper de nouveau ENTRĂE (le sĂ©parateur dĂ©cimal est le point et non la virgule).
5\.2
type(\_)
Python nous renvoie le nombre 5,2 et le type âfloatâ pour flottant, nombre Ă virgule flottante.

Opérations courantes
1 - Saisir dans la console dâinterprĂ©tation 5+3, taper ENTRĂE puis saisir type(_) et taper de nouveau ENTRĂE.
5 + 3
type(\_)

Python calcule le rĂ©sultat de la somme. Sâagissant de la somme de deux nombres entiers, le rĂ©sultat appartient au type âintâ.
LâopĂ©ration + fonctionne Ă©videmment aussi avec les nombres entiers nĂ©gatifs. Lâutilisation de parenthĂšses pour sĂ©parer lâopĂ©rateur + du signe â nâest pas nĂ©cessaire pour Python mĂȘme sâil est recommandĂ© de lâutiliser pour plus de lisibilitĂ©.
-5+-7
type(\_)
-5+(-7)
type(\_)

2 - Saisir dans la console dâinterprĂ©tation 3.11+2.09, taper ENTRĂE puis saisir type(_) et taper de nouveau ENTRĂE.
3\.11+2.09
type(\_)

RĂ©sultat surprenant ! Python calcule avec des nombres de type âfloatâ ce qui conduit Ă un rĂ©sultat approximatif (on sâattendait normalement Ă obtenir 5,2).
Il convient donc, dĂšs quâon le peut, de travailler avec des nombres entiers plutĂŽt quâavec des nombres dĂ©cimaux dans un programme.
3 - Les rĂ©sultats restent les mĂȘmes lorsquâil sâagit dâune multiplication qui nâest autre quâune addition rĂ©-itĂ©rĂ©e :
8\*7
4\.7\*2.1
type(\_)

Câest le symbole * qui reprĂ©sente la multiplication.
4 - Saisir dans la console dâinterprĂ©tation
3\*\*2
3\*\*3
3\*\*4

Le symbole ** reprĂ©sente est lâopĂ©rateur de puissance.
5 - Saisir dans la console dâinterprĂ©tation
5+2\*3
(5+2)\*3

On constate que la priorité des opérations est respectée.
6 - Saisir dans la console dâinterprĂ©tation
24/8
24/5
27/7

Le symbole / reprĂ©sente la division dĂ©cimale. Si le quotient est entier, Python renvoie 0 comme chiffre des dixiĂšmes. Si le quotient est dĂ©cimal, Python renvoie le nombre de dĂ©cimales nĂ©cessaire pour obtenir sa valeur exacte. Si le quotient est non dĂ©cimal, Python renverra une valeur approchĂ©e dĂ©cimale contenant 16 chiffres. Quelle que soit le quotient demandĂ©, Python renverra toujours une type âfloatâ (mĂȘme pour 24/8 qui est entier).
7 - Saisir dans la console dâinterprĂ©tation
47//9
47%9

LâopĂ©rateur // renvoie le quotient de la division euclidienne.
LâopĂ©rateur % renvoie le reste de la division euclidienne.
Ces deux opĂ©rateurs renvoient des nombres de type âintâ.
8 - Saisir dans la console dâinterprĂ©tation a=4 (on affecte la valeur 4 Ă la variable a) puis a, puis id(a), puis type(a).
a=4
a
id(a)
type(a)

Une fois la valeur 4 affectĂ©e Ă la variable a, cette affectation reste valable jusquâau redĂ©marrage de la console sauf si lâaffectation dâune autre valeur Ă cette mĂȘme variable a vient Ă©craser la prĂ©cĂ©dente.
Une variable possĂšde un identifiant (fonction id()) correspondant Ă un nombre entier Ă 10 chiffres indiquant lâadresse mĂ©moire avec laquelle la variable est stockĂ©e.
Une variable possÚde également un type : celui de la valeur qui lui est affectée.
Pour connaĂźtre davantage de dĂ©tails sur la fonction id() (resp. toute autre fonction), saisir help(âidâ) (resp. help(ânom_de_la_fonctionâ)).
help("id")
9 - Saisir dans la console dâinterprĂ©tation
a,b=11,12
a
b

Cette syntaxe permet lâaffectation simultanĂ©e de plusieurs valeurs sur plusieurs variables. On appelle cela lâaffectation parallĂšle.
10 - Saisir dans la console dâinterprĂ©tation
sin(0)
On sâattendait Ă autre chose quâun message dâerreur de la part de Python.
En rĂ©alitĂ©, Python ne connaĂźt pas par dĂ©faut les fonctions mathĂ©matiques. Il a donc besoins de lâimport prĂ©alable dâun paquet additionnel de fonctions appelĂ© module.
Pour importer la fonction sinus, il faut saisir préalablement from math import sin.
from math import sin
Il est Ă©videmment possible dâimporter lâensemble des fonctions mathĂ©matiques incluses dans le paquet maths. Pour cela il faut saisir from math import * (lâĂ©toile signifie « universel »).
from math import \*
Pour connaĂźtre toutes les fonctions incluses dans le paquet math, saisir help(âmathâ).

11 - Le symbole diĂšse (#) permet de commencer un commentaire dans le script câest-Ă -dire une succession de caractĂšres qui ne seront pas interprĂ©tĂ©s par Python.
from math import \*
sqrt(2) #La fonction sqrt donne une valeur approchée de la racine carrée positive.
Le commentaire apparaĂźt en rouge dĂšs lors que le symbole # est inscrit.

12 - Pour terminer, écrivons notre premier petit programme.
Nous ne dĂ©rogerons pas Ă la tradition informatique qui consiste Ă commencer lâapprentissage dâun langage par lâaffichage dâune salutation.
En python, ce sera trĂšs simple :
print("Hello world !") #Ceci est mon premier programme !

Est-il possible de modifier la ligne prĂ©cĂ©dente et de lâexĂ©cuter Ă nouveau, pour obtenir lâafïŹchage âBonjour tout le mondeâ ?
Câest le problĂšme de la console : on devrait procĂ©der par copier/coller, car dans cette fenĂȘtre, seule la derniĂšre ligne est interprĂ©tĂ©e par Python. On peut toutefois rĂ©cupĂ©rer et modifier les lignes dĂ©jĂ entrĂ©es par les raccourcis Alt+P (prĂ©cĂ©dent) et Alt+N (suivant) permettant de naviguer dans lâhistorique des commandes. Mais cette mĂ©thode sâavĂšre trĂšs peu pratique, dĂšs que lâon souhaite Ă©crire un script de plus de deux ou trois lignes.
On prĂ©fĂšre alors utiliser un Ă©diteur de texte Ă lâintĂ©rieur duquel on peut naviguer et faire toutes les modifications souhaitĂ©es.
LâĂ©diteur IDLE
Ouvrir lâinterprĂ©teur de commande (ou shell).
Cliquer ensuite sur File puis sur New File. Une fenĂȘtre vierge sâouvre.
saisir la commande print(''Hello world !'') et enregistrer ce fichier dans un rĂ©pertoire Ă lâaide du menu File â Save asâŠ

Nommer ce fichier salutation.py (il faut ajouter manuellement lâextension .py) et lâexĂ©cuter avec la commande Run Module du menu Run. On peut Ă©galement appuyer sur la touche F5. Le rĂ©sultat apparaĂźt Ă lâĂ©cran dans la fenĂȘtre de la console. Si on clique dans la fenĂȘtre de lâĂ©diteur et si on appuie Ă nouveau sur F5, la console fait un Restart et exĂ©cute Ă nouveau le programme.

Fermer toutes les fenĂȘtres Python et Ă lâaide de lâexplorateur, retrouver le ïŹchier salutation.py, puis, Ă lâaide dâun clic droit, faire Edit with IDLE. Seule la fenĂȘtre de lâĂ©diteur intĂ©grĂ© sâouvre, avec le contenu du script sauvegardĂ©. En faisant Run Module, la fenĂȘtre de la console sâouvre et le script sâexĂ©cute.
Ce quâil faut retenir
-
Il existe deux maniÚre de travailler avec Python :
a. en Ă©crivant les instructions sur lâinterprĂ©teur de commande (ou shell). LâinconvĂ©nient rĂ©side dans le fait que les lignes de commandes ne sont pas enregistrĂ©es et donc non modifiables dans le temps. Seule la derniĂšre instruction est exĂ©cutĂ©e.
b. en Ă©crivant dans un environnement de dĂ©veloppement intĂ©grĂ©. Le script peut alors ĂȘtre sauvegardĂ© au format .py. Il est alors modifiable et exĂ©cutable Ă souhait.
- Python a besoin de connaĂźtre la nature de lâinstruction ou de lâexpression qui lui est donnĂ©e pour la comprendre et Ă©ventuellement la rĂ©utiliser. En langage informatique on appelle cela le type. Chaque commande est dont liĂ©e Ă un ou plusieurs types donnĂ©s quâil convient de bien respecter (int pour nombre entier ; float pour nombre dĂ©cimal ; str pour chaĂźne de caractĂšres âŠ)
- Python connaßt par défaut la plupart des opérateurs courants utilisés en mathématiques. En voici une liste :
| Symbole | Effet | Instruction | Résultat |
|---|---|---|---|
| + | Addition | 2+2 | 4 |
| - | Soustraction | 8-5 | 3 |
| * | Multiplication | 7*5 | 35 |
| / | Division décimale | 34/8 | 4,25 |
| ** | Puissance | 3**4 | 81 |
| // | Quotion de la division euclidienne | 13//4 | 3 |
| % | Reste de la division euclidienne | 13%4 | 1 |
4 - Pour des fonctions mathĂ©matiques plus complexes, il est nĂ©cessaire dâimporter un paquet additionnel de fonctions en saisissant :
from math import \*
5 - Le principe reste le mĂȘme lorsquâon a besoin dâutiliser des fonctions spĂ©cialisĂ©es : importer un module faisant ou non partie intĂ©grante de Python (le module math fait partie intĂ©grante de Python).