Table des matières

Première utilisation de Python, Hello World !

Version imprimable

Hello world ! est un classique des tutoriels de programmation. Il s'agit d'un programme très simple qui se contente d'afficher le message “Hello World !” et qui sert à vérifier que l'environnement de travail est prêt.

Algorithme, fichier programme, exécutable

Algorithme

L'algorithme est une procédure étape par étape, décrite sans ambiguïté. On pourrait l'écrire de bien des façons, comme dans les travaux de Al-Kwarizmi.

Quand on veut l'écrire, on utilise souvent du pseudo-code comme ci-dessous.

DÉBUT
  initialiser t à 0
  initialiser i à 1
  TANT QUE i < 10 RÉPÉTER
      ajouter i à t
      ajouter 1 à i
  FIN
FIN

Ce pseudo-code est déjà une forme de programme mais écrit dans un langage naturel.

Programme

Une fois l'algorithme formulé comme pseudo-code, le passage à un langage de programmation est souvent rapide :

t = 0
i = 0
while i < 10:
    t += i
    i += 1

Ceci est un programme en Python.

Un fichier programme est un simple fichier texte qui est la traduction de l'algorithme dans un certain langage de programmation, par exemple Python.

Exécutable

Le langage de programmation n'est pas le langage de la machine. On ne veut pas programmer dans le langage de la machine car (quelques arguments) :

Le programme n'est donc pas exécutable en l'état. Il doit être traduit dans le langage machine.

Interprété / Compilé

On a un programme qui se présente comme une suite de lignes dans un certain langage de programmation. On veut l'exécuter, alors il faut le traduire dans le langage machine.

Nous avons deux choix pour le moment de la traduction :

Cas interprété

Le programme est traduit au fur et à mesure au moment de l'exécution. Chaque fois que l'on exécutera, il faudra traduire.

Vous pouvez le voir comme un interprète qui traduit à la volée la réaction d'un sportif à la fin d'un match.

Cas compilé

Le programme est traduit entièrement et on obtient un fichier exécutable. On utilise ce fichier pour l'exécution. Inutile de traduire à nouveau à chaque exécution.

En revanche, si on veut modifier le programme, il faut refaire la traduction.

Python est un langage interprété.

Interpréteur Python

Versions de l'interpréteur

Comme Python est un langage interprété, on dispose d'un interpréteur python.exe qui est un exécutable. Il peut en exister plusieurs version simultanément sur une même machine.

  • La version 3.4 est la plus vieille version présente sur les machine du lycée. Elle suffit pour l'essentiel mais peut avoir quelques limitations gênantes. On évitera si possible.
  • La version 3.7 est présente également. On l'utilisera si possible.
  • La version 3.9 est la dernière existante au moment d'écrire ces lignes (18/06/2020).

L'interpréteur en ligne de commande

Dans une ligne de commande on souhaite écrire directement python


Il s'agit d'un exécutable dont le vrai nom est python.exe. Il est cependant inutile de préciser .exe car Windows, ne trouvant pas python seul, essaie automatiquement des variantes comme python.exe.

Si la commande a fonctionné, soyez-en heureux et ne lisez pas cette encadré. Mais la commande n'a pas fonctionné…
Je vous explique le problème : Vous êtes pour l'instant dans le dossier U:\ et le fichier python.exe n'est pas dans ce dossier. Pourtant on voudrait pouvoir appeler python directement depuis n'importe où.

Pour contourner ce problème, Windows utilise le PATH. Il s'agit d'un réglage – on appelle cela une variable d'environnement – qui donne une liste de répertoire où chercher. Il faudrait donc indiquer dans le PATH un répertoire où trouver python.exe.

  • En salle 14.30, le répertoire C:\EduPython\App contient python.exe. On souhaite donc ajouter ce répertoire au PATH. On écrit alors en ligne de commande :
    set PATH=C:\EduPython\App;%PATH%

Après cela, si vous lancez la commande python, Windows saura où trouver l'exécutable et python pourra s'exécuter !

Dernière remarque : Malheureusement nous ne disposons pas des droits nécessaires pour rendre cette modification permanente, si bien que si vous redémarrer l'ordinateur, la modification sera perdue. Ce n'est pas grave, nous ne ferons pas souvent ce genre de manipulation. De plus, il est possible d'enregistrer la commande dans un petit script set_path_14_30.bat que vous pouvez recopier sur votre U:\ pour la relancer très vite.

Le mode console


En exécutant python.exe, vous utilisez Python en mode console.

En mode console, vous pouvez écrire du Python. À chaque validation, le programme écrit est interprété et exécuté aussitôt. On peut par exemple écrire de simples calculs en utilisant Python comme une calculatrice.


En mode console, comme une exécution renvoie un résultat, ce résultat est affiché. Ici >>> 3+2 renvoie le résultat 5 qui est affiché.

Dans cette console, on écrit toujours après >>>. Quand dans les documents de cours j'écrirais >>> vous comprendrez qu'il s'agit du mode console.

Le mode programme

Un programme est généralement composé d'une dizaine de lignes minimum et peut aller jusqu'à des milliers de lignes. On ne va donc pas écrire ces lignes dans la console à chaque fois. On préfère écrire les lignes de programme dans un fichier programme qui n'est rien d'autre qu'un fichier texte.

# fichier helloworld.py
print("Hello World !")

Ne surtout pas utiliser le Notepad de Windows, ou Wordpad ou, pire encore, Word. Ils ne sont pas du tout fait pour cela.

Vous pouvez remarque que, dès que le fichier est enregistré, l'éditeur ajoute des couleurs. L'extension .py lui a permis de deviner qu'il s'agissait d'un programme Python. L'éditeur assure alors la coloration syntaxique, c'est à dire qu'il met le texte automatiquement en couleur pour faciliter la lecture du code Python.

Maintenant que le fichier programme existe, on peut l'interpréter en ligne de commande. On a placé le fichier dans le répertoire U:\, c'est donc là que l'on fera l'interprétation.


Le programme est parfois appeler code ou script. Ce dernier terme est plutôt utilisé pour un programme simple répondant à un problème bien déterminé. Par exemple, on ne parlerait pas de script pour le programme d'un logiciel comme Word. On parlerait de script pour un programme qui, dans un texte, enlèverait tous les accents.

Comme nos programmes seront souvent très simples, on pourra les qualifier de scripts.

Contrairement au mode console, les résultats des calculs ou instructions ne sont pas affichés. Si on veut un affichage, il faut le demander explicitement avec print par exemple.

La raison en est simple : Un programme ordinaire fait des milliers de calculs. S'il devait les afficher tous, l'écran serait illisible. De plus, l'affichage prend du temps et on ralentirait grandement l'exécution.

Utilisation d'un environnement de développement

Un environnement de développement est une application, avec une interface graphique, qui facilite le travail du développeur. L'environnement fournit un éditeur de texte et une console, quelques boutons pour l'exécution, des documents d'aide, une aide à la gestion de gros projets, etc.

On trouve ces trois environnements au lycée

Mais il en existe beaucoup d'autres. Personnellement, je préfère tout faire avec Sublime.

En tant que spécialistes, il est important que vous ne soyez pas limités à une méthode. Vous pouvez bien sûr avoir une méthode préférée. Mais supposons que vous préfériez Pyzo et qu'un jour Pyzo ait un problème de fonctionnement, vous devez être capable de passer à une autre méthode.

Des environnements sur internet

On peut trouver des environnements Python sur internet. Par exemple celui-ci ou encore le célèbre replit.

N'hésitez pas à les utiliser en cas de besoin. Ils ont l'avantage d'être bien installés et d'être disponibles partout. Les sites comme replit peuvent être extrêmement pratique pour les projets de groupe.

Petit point technique pour information : Les navigateurs web n'exécutent pas le Python. Le langage principalement utilisé dans les pages web est Javascript (en dehors de html bien sûr).

Guido Von Rossum, inventeur de Python, a dit lui-même que Python ne serait probablement jamais exécutable dans les navigateurs parce qu'il est trop lourd.

Alors comment font les sites qui permet l'exécution de scripts Python ? Il y a deux cas :