Maison > développement back-end > Tutoriel Python > Explication détaillée de l'analyse des exemples d'utilisation de la portée Python

Explication détaillée de l'analyse des exemples d'utilisation de la portée Python

高洛峰
Libérer: 2017-03-07 15:53:58
original
1330 Les gens l'ont consulté

Cet article analyse l'utilisation de la portée Python avec des exemples. Partagez-le avec tout le monde pour référence, comme suit :

Chaque langage de programmation a le concept de portée variable, et Python ne fait pas exception. Ce qui suit est une démonstration de code de la portée Python :

<.>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

def scope_test():

  def do_local():

    spam = "local spam"

  def do_nonlocal():

    nonlocal spam

    spam = "nonlocal spam"

  def do_global():

    global spam

    spam = "global spam"

  spam = "test spam"

  do_local()

  print("After local assignment:", spam)

  do_nonlocal()

  print("After nonlocal assignment:", spam)

  do_global()

  print("After global assignment:", spam)

scope_test()

print("In global scope:", spam)

Copier après la connexion

Résultat de sortie du programme :

1

2

3

4

After local assignment: test spam

After nonlocal assignment: nonlocal spam

After global assignment: nonlocal spam

In global scope: global spam

Copier après la connexion

Remarque : la déclaration d'affectation locale est pas possible Modifiez la liaison anti-spam de scope_test. L'instruction d'affectation non locale modifie la liaison anti-spam de scope_test, et l'instruction d'affectation globale modifie la liaison anti-spam au niveau du module.

Parmi eux, nonlocal est un nouveau mot-clé dans Python 3.

Vous pouvez également voir que le spam n'est pas pré-lié avant la déclaration d'affectation globale.

Résumé :

Lorsque vous rencontrez la situation d'accéder à des variables globales dans le programme et que vous souhaitez modifier la valeur de la variable globale, vous pouvez utiliser : mot-clé global, déclarer cette variable dans la fonction Est une variable globale

Le mot-clé nonlocal est utilisé pour utiliser des variables externes (non globales) dans des fonctions ou d'autres portées.

Le mot-clé global est facile à comprendre, et il en va généralement de même pour les autres langues. Voici un autre exemple non local :

1

2

3

4

5

6

7

8

9

10

11

12

def make_counter():

  count = 0

  def counter():

    nonlocal count

    count += 1

    return count

  return counter

def make_counter_test():

 mc = make_counter()

 print(mc())

 print(mc())

 print(mc())

Copier après la connexion

Résultats en cours d'exécution :

1

2

3

1

2

3

Copier après la connexion

Pour des explications plus détaillées sur les exemples d'utilisation de la portée Python et les articles connexes, veuillez prêter attention au site Web PHP chinois !

Étiquettes associées:
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal