Bonjour,

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
>>> a = 1
>>> def f():
...     return a
...
#La variable est accessible dans la function a
>>> f()
1
>>> def f():
...     return a + 1
...
>>> f()
2
# On peut affecter la valeur 2 à a mais à l'exterieur de la fonction a reste egal a 1
>>> def f():
...     a = 2
...     return a
...
>>> f()
2
# Ca ressemble à a = 2 mais pour ce cas Python remonte une erreur, je comprends pas la vrai différence entre a = 2 et a = a + 1
>>> def f():
...     a = a + 1
...     return a
...
>>> f()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in f
UnboundLocalError: local variable 'a' referenced before assignment
Pourriez vous m'expliquer s'il vous plait la différence dans le code entre a = 2 et a = a + 1