% Programmation avec Python (chapitre 1) % Dimitri Merejkowsky
\center \huge La ligne de commande
On tape un commande, on appuie sur entrée, l’ordinateur interprète ce qui a été tapé et affiche un message:
cd
ls
(ou dir
sous Windows)pwd
\center \huge Python
1.3, 1.4, 3.2.5
. etc3.2.5 -> 3.2.6
: pas grand-chose1.5.1 -> 4.3
: beaucoup de changementsLa plupart des langages continuent à être compatibles d’une version à l’autre.
Ce n’est pas le cas pour Python3, et ça a causé beaucoup de confusion et de débats.
Heureusement, 10 ans plus tard, la situation s’est arrangée, et Python2 cessera d'être maintenu le premier janvier 2020.
Ce cours fonctionne donc uniquement avec Python3.
N’utilisez pas Python2, sinon certaines choses expliquées ici ne marcheront pas :/
Aussi appelé “langage de script”, glue language
Bon partout, excellent nulle part
Exemples d’utilisation:
Python 3.7.1 (default, Oct 22 2018, 10:41:28)
[GCC 8.2.1 20180831] on linux
Type "help", "credits" or "license" for more information.
À partir de maintenant, recopiez les entrées sur les slides dans votre propre interpréteur.
Vous devez taper la même chose après l’invite de commande (‘»>’) et vous devez voir les mêmes réponses.
Si ce n’est pas le cas, prévenez moi!
>>> 1
1
>>> 2
2
>>> 1 + 2
3
>>> 2 * 3
6
C’est le .
qui fait le flottant
>>> 0.5
0.5
>>> 0.5 + 0.2
0.7
>>> 10 / 3
3.3333333333333335
Note: les flottants sont imprécis
>>> 14 // 3
4
>>> 14 % 3
2
Le %
n’a rien à voir avec un pourcentage!
>>> 1 + 2 * 3
7
>>> (1 + 2) * 3
9
Les parenthèses permettent de grouper les expressions
>>> a = 2
>>> a
2
>>> b = 3
>>> a + b
5
>>> a = 2
>>> a
2
>>> a = 3
>>> a
3
Préférez des noms longs et descriptifs
Toujours en minuscules
Séparez les “mots” par des tirets bas (underscore)
>>> score = 42
>>> age_moyen = 22
Aussi appelées “string”.
Avec des simple quotes ('
)
>>> 'Bonjour monde!'
'Bonjour monde'
Marche aussi avec des double quotes ("
)
>>> "Bonjour, monde!"
'Bonjour monde'
On peut mettre des simples quotes dans des double quotes et vice-versa.
>>> "Il a dit: 'bonjour' ce matin."
"Il a dit: 'bonjour' ce matin."
>>> 'Il a dit: "bonjour" ce matin'
'Il a dit: "bonjour" ce matin!'
Avec la barre oblique inversée “backslash”
>>> 'Il a dit: "bonjour". C\'est sympa!'
'Il a dit: "bonjour". C\'est sympa!'
>>> name = "John"
>>> message = "Bonjour " + name + " !"
>>> message
"Bonjour John !"
>>> a = 42
>>> message = "La réponse est: " + a
TypeError: can only concatenate str (not "int") to str
Notre premier message d’erreur !
On ne mélange pas les torchons et les serviettes!
>>> a = 42
>>> message = "La réponse est: " + str(a)
>>> message
'La réponse est 42'
>>> answer = int("42")
>>> answer
42
Notez les parenthèses autour des valeurs.
True et False
En Python, elle sont en majuscules!
On peut assigner des variables aux valeurs True et False
>>> la_terre_est_plate = False
...
>>> python_c_est_genial = True
>>> a = 2
>>> b = 3
>>> a > b
False
>>> 2 + 2 == 4
True
Note: ==
pour la comparaison, =
pour l’assignation
>>> a = 2
>>> b = 3
>>> a != b
True
>>> 2 + 2 >= 4
True
>>> a = 2
>>> a < 2
False
>>> 1 < a < 3
True
>>> a = 2
>>> quit()
>>> a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
Aussi appelé: “code source”, ou “source”.
L’essence du logiciel libre :)
gedit
, kate
, ...CotEditor
Notepad++
J’insiste sur simple. Inutile d’installer un IDE pour le moment.
Insérez le code suivant dans votre éditeur de texte
# Affiche un message
print("Bonjour, monde")
Sauvegardez dans un fichier bonjour.py
dans Documents/e2l/python
par exemple
kate
C’est l'éditeur que nous utiliserons pour nos ateliers.
$ cd Documents/e2l/python/
$ python3 bonjour.py
Bonjour, monde
#
) ont été ignorées - ce sont des commentaires.print()
affiche la valeur, comme dans le REPL.Vous avez juste besoin:
Pas la peine d’installer quoique ce soit de plus pour le moment
À partir de maintenant, s’il y a marqué # à recopier
en haut d’un exemple
C’est le meilleur moyen d’apprendre. Si vous restez passifs vous retiendrez beaucoup moins de choses et ne pourrez pas coder par vous-même.
Profitez qu’on soit là pour vous aider si vous avez des erreurs que vous ne comprenez pas!
L’essence de la programmation!
Répéter tant qu’une condition est vraie
print("Bonjour, monde")
while True:
print("spam!")
Notes:
$ python bonjour.py
Bonjour, monde
spam!
spam!
spam!
....
CTRL-C pour interrompre
a = 3
b = 4
if a == b:
print("a et b sont égaux")
else:
print("a et be sont différents")
Rappel:
Interrompt la boucle quand une condition devient vraie:
i = 0
while True:
i = i + 1
if i > 3:
print("i est plus grand que 3, on arrête")
break
print("i =" + str(i))
print("i est plus petit que 3, on continue")
i = 1
i est plus petit que 3, on continue
i = 2
i est plus petit que 3, on continue
i = 3
i est plus petit que 3, on continue
i est plus grand que 3, on arrête
input()
(encore des parenthèses ...)
On fait deviner un nombre à l’utilisateur, en affichant ‘trop grand’, ‘trop petit’ jusqu'à ce qu’il trouve la valeur exacte.