% 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 chemin/vers/fichier
ls
(ou dir
sous Windows)
pwd
Le premier mot est une ‘commande’, les autres mots sont des ‘arguments’
\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:
Il se lance depuis l’invite de commande du système d’exploitation:
$ python3
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.
>>>
Notez les trois chevrons: >>>
. Cela vous permet de différencier l’invite
de commandes du système d’exploitation de celle de Python.
python3
(sans arguments)quit()
À 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!
\center \huge Conversions
>>> 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
$ python3
>>> a = 2
>>> quit()
$ python3
>>> 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!
a = 3
b = 4
if a == b:
print("a et b sont égaux")
print("on continue")
Notes:
Notez qu’on peut mettre uniquement une variable ou une valeur après le if. Ceci ne fonctionne pas:
if a = 3:
print("a égale 3")
et fait une erreur de syntaxe
a = 3
b = 4
if a == b:
print("a et b sont égaux")
else:
print("a et b sont différent")
if age < 10:
print("inférieur à dix")
elif 10 <= age < 20:
print("âge entre 10 et 20")
elif 20 <= age < 40:
print("âge entre 20 et 40")
else:
print("âge supérieur à 40")
On peut mettre autont de elif
qu’on veut!
Le derier else
s'éxécute en dernier
Répéter tant qu’une condition est vraie
i = 0
while i < 3:
print(i)
i = i + 1
0
1
2
while True:
print("spam!")
CTRL-C pour interrompre
On peut “sortir” de la boucle while
avec break
i = 0
while True:
i = i + 1
print(i)
if i > 3:
break
1
2
3
4
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.