"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment accéder aux variables non locales dans Python 2.x ?

Comment accéder aux variables non locales dans Python 2.x ?

Publié le 2024-11-03
Parcourir:137

How to Access Nonlocal Variables in Python 2.x?

Accès aux variables non locales dans Python 2.x

Dans les versions Python 2.x, le mot-clé "nonlocal" n'est pas disponible, ce qui le rend difficile d'implémenter des fermetures qui accèdent à des variables non locales. Cependant, certaines techniques peuvent être utilisées pour gérer de tels scénarios.

Accès en lecture seule aux variables non locales

Les fonctions internes de Python 2.x peuvent lire et accéder variables non locales. Cela signifie que vous pouvez référencer des variables non locales dans des fonctions internes, mais vous ne pouvez pas réaffecter leurs valeurs.

Solution de contournement à l'aide d'un dictionnaire

Une solution de contournement consiste à utiliser un dictionnaire pour stocker variables non locales. Les fonctions internes peuvent alors accéder à ces variables en référençant les éléments du dictionnaire. Cela garantit que les variables non locales sont accessibles aux fonctions internes tout en respectant la restriction en lecture seule.

Exemple de code

Voici un exemple de la façon d'implémenter une fermeture qui accède à une variable non locale utilisant un dictionnaire :

def outer():
    d = {'y': 0}  # Dictionary to store the nonlocal variable

    def inner():
        d['y']  = 1  # Increment the 'y' value in the dictionary
        return d['y']  # Return the updated value

    return inner

f = outer()  # Outer function call returns the inner function
print(f(), f(), f())  # Prints 1 2 3

Dans cet exemple, la fonction interne inner peut accéder à la variable non locale y stockée dans le dictionnaire d. La fonction interne peut incrémenter et renvoyer la valeur de y, ce qui nous permet de simuler l'accès aux variables non locales dans Python 2.x.

En tirant parti de cette technique, vous pouvez implémenter efficacement des fermetures qui accèdent aux variables non locales dans Python 2.x. versions, offrant une plus grande flexibilité et un plus grand contrôle sur votre code.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729557438. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3