Introduction à Python

Python est un langage de programmation populaire. Il a été créé par un scientifique néerlandais, Guido van Rossum, en 1991. Le nom fait référence au fameux groupe d’humoristes anglais, les Monty Python.

Monty phyton
John Cleese des Monty Python dans le sketch Ministery of Silly Walks

Un langage de programmation permet à un humain de décrire ce que doit faire un ordinateur. Tous les ordinateurs, smartphones et sites web fonctionnent grâce à des programmes.

Le langage Python, comme la plupart des langages de programmation, est basé sur l’anglais.

Pourquoi choisir ici Python?

  • Python est multiplateforme (Windows, Mac, Linux)

  • Python a une syntaxe simple et visuelle

  • Python est interprété et donne un résultat immédiat

Objectifs

  • être capable de créer un programme dans un but précis

  • connaître les concepts transversaux des langages de programmation

  • pouvoir utiliser la programmation au service d’autres cours

Qu’est un programme ?

Un programme est une séquence d’instructions pour faire quelque chose par un ordinateur. Par exemple:

  • faire un calcul mathématique

  • trier une liste de mots

  • résoudre une équation

En général, un langage de programmation comporte ces 5 composants:

  • une entrée (clavier, fichier)

  • une sortie (écran, fichier)

  • des opérations mathématiques

  • des exécutions conditionnelles (if-else)

  • des répétitions (boucles)

Le premier programme

Nous allons nous lancer de toute suite dans la programmation, avec un programme minimaliste d’une seule ligne.

print('bonjour')
bonjour

Ce premier programme afficher le mot bonjour sur console.

Le programme consiste:

  • d’une fonction print qui affiche son argument

  • des parenthèses () qui entourent l’argument

  • des guillemets '...' qui délimitent une chaîne de texte

  • du texte, bonjour, qui est délimité par des guillemets

L’éditeur (IDE)

Pour éditer et exécuter du code Python, il vous faut un éditeur. L’éditeur Thonny est un outil idéal pour débuter. C’est un IDE, un environnement de développement intégré. Cela signifie qu’il contient

  • Un éditeur de script

  • Un interprétateur Python

Les IDE présentent souvent trois régions dans leur fenêtre:

  • Une barre d’outils (Nouveau, Ouvrir, Exécuter)

  • L’editeur de script

  • La console

Thonny

Dans l’éditeur de script vous pouvez écrire des programmes complexes contenant des centaines de lignes. Après avoir été sauvegardé, le script sera exécuté avec un clic sur le bouton vert Exécuter.

La console permet de rapidement exécuter et tester des expressions de façon interactive. Vous écrivez la commande Python sur la ligne avec l’invite >>> et vous exécutez avec la touche Retour.

Le résultat apparaît sur la ligne suivante, et une nouvelle invite >>> est affichée.

Opérations arithmétiques

123 + 456
579

Voici une multiplication:

123 * 456
56088

La division utilise l’opérateur / et retourne un nombre à virgule flottante comme résultat.

NOTE: En Python, les virgules pour les nombre doivent prendre la forme du point

123 / 456
0.26973684210526316

Dans une expression complexe, vous pouvez indiquer l’ordre d’exécution avec des parenthèses. Ici la multiplication est effectuée en premier.

2 + 3 * 4
14

Ici, l’addition est effectuée en premier grâce aux parenthèses.

(2 + 3) * 4
20

La mise à la puissance (aussi appelée exponentiation) utilise l’opérateur **. Cet exemple calcule donc \(123^{456}\).

123 ** 456
99250068772098856700831462057469632637295940819886900519816298881382867104749399077921128661426144638055424236936271872492800352741649902118143819672601569998100120790496759517636465445895625741609866209900500198407153244604778968016963028050310261417615914468729918240685487878617645976939063464357986165711730976399478507649228686341466967167910126653342134942744851463899927487092486610977146112763567101672645953132196481439339873017088140414661271198500333255713096142335151414630651683065518784081203678487703002802082091236603519026256880624499681781387227574035484831271515683123742149095569260463609655977700938844580611931246495166208695540313698140011638027322566252689780838136351828795314272162111222231170901715612355701347552371530013693855379834865667060014643302459100429783653966913783002290784283455628283355470529932956051484477129333881159930212758687602795088579230431661696010232187390436601614145603241902386663442520160735566561

Ceci montre que les résultats des calculs en nombres entiers en Python ne sont pas limités en termes de nombres de chiffres nécessaires à la représentation de ces entiers: le nombre ci-dessus, par exemple, s’écrit avec 953 chiffres.

La fonction print()

La fonction print() affiche sur la sortie («imprime») ce qui se trouve entre les parenthèses. Cette fois, tous les résultats sont affichés.

print(12 + 34)
print(12 / 34)
print(12 * 34)
46
0.35294117647058826
408

La fonction print() peut aussi afficher du texte.

print('bonjour')
bonjour
print("au revoir")
au revoir

En programmation, un tel morceau de texte s’appelle chaîne de caractères. En Python, on peut indiquer une chaîne de caractères aussi bien avec les guillemets anglais simples ('...', aussi appelés apostrophes) que les guillemets anglais doubles ("...").

On utilise les guillemets simples quand la chaîne contient des guillemets doubles.

print('le langage "Python" est puissant')
le langage "Python" est puissant

On utilise les guillemets doubles quand la chaîne contient des guillemets simples ou des apostrophes.

print("c'est intéressant")
c'est intéressant

Que faire si une chaîne contient à la fois des apostrophes et des guillemets doubles?

Si la chaîne est délimité par des guillemets simples, il faut utiliser le symbole d’échappement \ (la barre oblique inversée, aussi appelée backslash) devant une apostrophe qui apparait à l’intérieur.

print('c\'est "très" cool')
c'est "très" cool

Si une sous-partie du texte est délimité par des guillemets doubles, il faut utiliser le symbole d’échappement \ devant ces guillemets.

print("c'est \"très\" cool")
c'est "très" cool

Lorsque utilisé avec du texte, l’opérateur + crée une nouvelle chaîne de caractères formée à partir des deux chaînes indiquées — une opération appelée concaténation.

'bon' + 'jour'
'bonjour'

L’opérateur * permet de répéter une chaîne.

'ha' * 10
'hahahahahahahahahaha'
'*' * 30
'******************************'

Les nombres peuvent être représentés comme chaîne de caractères:

'123'
'123'

Une opération mathématique représentée comme chaine n’est pas exécutée. Elle est retournée telle quelle: en effet, le caractère + est inclus à l’intérieur des guillemets et il est considéré comme faisant partie de ce texte plutôt que comme étant l’opérateur + représentant l’addition en Python.

'123 + 123'
'123 + 123'

Ces deux nombres (représenté sous forme de chaîne) sont concaténés et non pas additionnés.

'123' + '123'
'123123'

Ce nombre (représenté sous forme de chaîne) est répété et non pas multiplié.

'123' * 12
'123123123123123123123123123123123123'

La comparaison

Python connait 6 types de comparaison:

  • plus petit (<)

  • plus petit ou égal (<=)

  • égal (==)

  • différent (!=)

  • plus grand (<)

  • plus grand ou égal (>=)

Le résultat d’une comparaison est une valeur qui est soit vraie, soit fausse. C’est une valeur dite booléene. En Python, ces deux valeurs sont représentées avec les mots clés True et False.

Voici quelques exemples:

2 > 3
False
2 < 3
True
2 != 3
True

On peut aussi comparer des chaînes de caractères. C’est l’ordre alphabétique qui détermine le résultat.

'antilope' < 'zèbre'
True

L’ordre est des mots est celui utilisé dans les dictionnaires.

'art' < 'artiste'
True

Commentaire

Un commentaire commence par un dièse (#) et se termine naturellement à la fin d’une ligne. Il permet de documenter un programme et n’est pas interprété comme du code.

# ceci est un commentaire
print('bonjour')
bonjour

Le symbole # peut être utilisé pour signaler à la machine une instruction à ne pas exécuter.

# print('bonjour')
print('bonsoir')
bonsoir

Un commentaire peut aussi être placé après une instruction pour donner une explication supplémentaire.

print('bonjour') # utilisé le matin
print('bonsoir') # utilisé le soir
bonjour
bonsoir

Exercices

Faites les exercices suivants dans la console.

Ex 1

Trouvez une instruction qui affiche votre âge.

Ex 2

Écrivez un programme qui affiche les phrases suivantes:

Le soleil brille à nouveau sur townsville.
Toi t'es vraiment sympa!
C'est un type "chelou", disait-il.

Ex 3

Trouvez l’expression qui affiche le résultat de 4321 multiplié par 1234.

Ex 4

Trouvez une expression qui calcule la moyenne des 5 notes suivantes: 4.5, 3.5, 6, 5 et 4.

Ex 5

Trouvez une expression qui calcule la surface d’un carré de 9 cm de côté sans utiliser 9 * 9.

Ex 6

Trouvez une instruction qui renvoie la longueur de la chaîne "anticonstitutionnellement".