Aller au contenu

Portée Python

Comprendre la portée en Python

La portée en Python désigne les règles qui régissent l'accès aux variables et aux fonctions au sein d'un programme Python. La portée d'une variable ou d'une fonction détermine où elle peut être accédée et pendant combien de temps elle reste disponible. Python possède quatre niveaux de portée : locale, englobante, globale et intégrée. Comprendre ces niveaux est essentiel pour écrire des programmes Python efficaces, maintenables et faciles à comprendre.

Portée locale

La portée locale désigne les variables définies à l'intérieur d'une fonction. Ces variables ne peuvent être accédées qu'à l'intérieur de cette fonction et sont détruites lorsque la fonction se termine. La portée locale est importante car elle vous permet de réutiliser des noms de variables sans vous soucier des conflits avec d'autres parties de votre programme.


Portée englobante

La portée englobante désigne les variables définies dans une fonction englobante. Ces variables peuvent être accédées par les fonctions imbriquées à l'intérieur de la fonction englobante. La portée englobante est utile pour créer des fermetures (closures), qui sont des fonctions se souvenant des valeurs des variables de leurs fonctions englobantes.


Portée globale

La portée globale désigne les variables définies en dehors de toute fonction. Ces variables peuvent être accédées depuis n'importe quelle partie de votre programme, y compris les fonctions. La portée globale est utile pour définir des constantes ou des variables utilisées tout au long de votre programme.


Portée intégrée

La portée intégrée désigne les variables et fonctions intégrées à Python. Ces variables et fonctions sont accessibles depuis n'importe où dans votre programme. La portée intégrée comprend des fonctions comme print() et len().


Utiliser la portée en Python

Maintenant que vous comprenez les différents niveaux de portée en Python, examinons comment les utiliser dans vos programmes.

Définir des variables locales

Pour définir une variable locale en Python, il vous suffit de lui attribuer une valeur à l'intérieur d'une fonction :

Définir une variable locale à l'intérieur d'une fonction en Python

python
def my_function():
    x = 1  # x is a local variable

Accéder aux variables englobantes

Pour accéder à une variable d'une fonction englobante, vous pouvez utiliser le mot-clé nonlocal :

Accéder à une variable d'une fonction englobante en Python

python
def outer_function():
    x = "outer"

    def inner_function():
        nonlocal x
        x = "inner"

    inner_function()
    print(x)  # Output: inner

Définir des variables globales

Pour définir une variable globale en Python, vous pouvez utiliser le mot-clé global :

Accéder aux variables globales à l'intérieur d'une fonction Python

python
global_var = 1  # global variable

def my_function():
    global global_var
    global_var += 1
    print(global_var)  # Output: 2

Utiliser les fonctions intégrées

Les fonctions intégrées peuvent être utilisées n'importe où dans votre programme :

Utiliser des fonctions intégrées en Python partout

python
x = [1, 2, 3]
print(len(x))  # Output: 3

Conclusion

La portée en Python est un concept important que tous les programmeurs Python devraient comprendre. En utilisant efficacement les portées locale, englobante, globale et intégrée, vous pouvez écrire des programmes efficaces, maintenables et faciles à comprendre. Dans cet article, nous avons fourni un aperçu complet et détaillé de la portée en Python, couvrant ses différents niveaux et la manière de les utiliser efficacement dans vos programmes.

Pratique

En Python, quels sont les quatre types de portées dans l'ordre de vérification ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.