[Python] : variable locale, “nonlocal” et globale

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à.

notebook with dollar sign outline

Photo by rawpixel.com on Pexels.com

Découvrez  [Python] : fpdf, générer un pdf