[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

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s