Python

Demarrer avec python

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

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

  2. 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 
)
  3. 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).