Licence CC BY-NC-ND, Thierry Parmentelat & Arnaud Legout
from IPython.display import HTML
HTML(filename="_static/style.html")
syntaxe#
l’indentation, base de la syntaxe#
la fin d’une ligne est significative
→ pas de;nécessaire à la fin de la ligneun bloc d’instructions doit avoir la même indentation en partant de la gauche
→ pas besoin de{}pour délimiter un blocindentation recommandée : 4 espaces
def foo():
print('début')
a = 10*20
print('fin, a=', a)
foo()
début
fin, a= 200
les pièges à éviter
les principaux pièges pour les débutants:
évitez d’utiliser des
Tab(le plus simple: ne jamais mettre deTab)et attention aux copier/coller qui peuvent décaler des lignes
commentaires#
tout ce qui se trouve à droite d’un # est considéré comme un commentaire
(sauf dans les chaines de caractères, évidemment)
# un commentaire
def foo():
x = 12 # on peut commenter ici
# mais c'est préférable de garder
# les commentaires sur une ligne sans code
y = 12
# mais pas dans les chaines
return "une chaine # avec un diese"
print(foo())
une chaine # avec un diese
expressions vs instructions#
dans tous les langages on distingue entre
instruction: une construction qui fait un effet de bord, qui change l’environnement
mais qui ne renvoie rienexpression: une construction qui renvoie quelque chose
du coup, les expressions peuvent être combinées à l’infini
quelques exemples parmi ce qu’on a déjà vu:
expressions#
construction |
exemple |
commentaire |
|---|---|---|
opérateur |
|
ici binaire |
appel de fonction |
|
|
idem |
|
les expressions se combinent |
indexation |
|
|
attribut |
|
attribut ou méthode |
instructions#
construction |
exemple |
commentaire |
|---|---|---|
|
|
contrôle du code |
|
|
contrôle du code |
affectation |
a = 10 |
nouvelle variable |
nouvelle fonction |
|
nouvelle variable |
nouvelle classe |
|
nouvelle variable |
parfois les deux
on verra que certaines constructions (affectation, if) peuvent exister sous les deux formes, (avec des syntaxes légèrement différentes du coup)
mots clés#
pour référence: les mots suivants ne peuvent pas être utilisés comme un nom de variable
False |
await |
else |
import |
pass |
None |
break |
except |
in |
raise |
True |
class |
finally |
is |
return |
and |
continue |
for |
lambda |
try |
as |
def |
from |
nonlocal |
while |
assert |
del |
global |
not |
with |
async |
elif |
if |
or |
yield |