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

Print Friendly, PDF & Email

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 - Créer un socket d'exploration