L’univers des variables est impitoyable. On peut s’y perdre surtout en reprennant le code d’un autre développeur. En effet, Python comme beaucoup d’autres languages permet de disposer de variables :
- local : spécifique à une fonction (et n’en sors pas)
- nonlocal : peut sortir mais n’est pas globale (donc reste interne à la fonction mère)
- global : là c’est disponible pour tout votre script ou code.
Petite démo :
#!/usr/bin/python3 x=0 def externe(): x = 1 def interne(): nonlocal x x=2 print("interne:",x) interne() print("externe:",x) externe() print("globale:",x)
Rien de très compliqué donc :
interne: 2 externe: 2 globale: 0
Amusez-vous vous aussi à faire des tests de manière à bien assimiler le concept si vous ne le connaissez pas déjà.