![How Does Python's LEGB Rule Determine Variable Scope?](https://img.php.cn/upload/article/000/000/000/173491059395202.jpg)
Règle LEGB de Python : Démystifier les règles de portée
Les règles de portée de Python, souvent source de confusion, peuvent être facilement appréhendées grâce à la règle LEGB.
LEGB See More Règle
La règle LEGB fournit un algorithme clair pour déterminer la disponibilité des variables dans une portée donnée :
-
L (Local): Variables définies dans une fonction ou une expression lambda.
-
E (Enclosing-function): Variables définies dans englobant des fonctions, de l'intérieur vers l'extérieur.
-
G (Global) : Variables définies au niveau du module ou déclarées globales au sein d'une fonction.
-
B (Construit -in): Variables pré-attribuées à partir des noms intégrés de Python module.
Exemple
Considérons le code suivant :
class Foo:
def spam():
for var in []:
x()
En utilisant la règle LEGB, nous pouvons déterminer la portée du variable x :
-
L : Aucun. x n'est pas défini localement dans la fonction spam.
-
E : Aucun. La fonction spam n'est pas imbriquée dans une autre fonction.
-
G : Oui. Si x est défini au niveau du module, il sera disponible au sein de la fonction spam.
-
B : Oui. Si x est une variable intégrée (par exemple, une fonction Python), elle sera accessible.
Dans cet exemple, x serait trouvé s'il était défini au niveau du module ou s'il s'agissait d'un Python intégré.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn