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
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 | a + 12 | ici binaire |
| appel de fonction | foo(12) | |
| idem | foo(a + 12) | les expressions se combinent |
| indexation | L[12] | |
| attribut | S.upper() | attribut ou méthode |
instructions¶
| construction | exemple | commentaire |
|---|---|---|
if | if 10 <= x <= 20: ... | contrôle du code |
while | while L: ... | contrôle du code |
| affectation | a = 10 | nouvelle variable |
| nouvelle fonction | def foo(): ... | nouvelle variable |
| nouvelle classe | class Foo: ... | nouvelle variable |
mots clés¶
pour référence: les mots suivants ne peuvent pas être utilisés comme un nom de variable
mots réservé / keywords
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 |