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
def my_function():
x = 1 # x is a local variableAccé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
def outer_function():
x = "outer"
def inner_function():
nonlocal x
x = "inner"
inner_function()
print(x) # Output: innerDé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
global_var = 1 # global variable
def my_function():
global global_var
global_var += 1
print(global_var) # Output: 2Utiliser 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
x = [1, 2, 3]
print(len(x)) # Output: 3Conclusion
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 ?