Maison  >  Article  >  développement back-end  >  Introduction Python base zéro à sept variables et fonctions intégrées

Introduction Python base zéro à sept variables et fonctions intégrées

黄舟
黄舟original
2017-01-16 14:10:451468parcourir

1. Variables globales et variables locales
Ces deux variables sont les mêmes que les variables dans d'autres langages. Les variables globales sont simplement des variables qui peuvent être utilisées dans tout le code, et leur portée est la fonction entière, et les variables locales ont un. portée limitée, souvent dans une zone de code.
Il est à noter que si vous appelez simplement la valeur de la variable globale dans la fonction sans changer sa valeur, il n'y a aucun problème, mais si vous souhaitez changer la valeur de la variable globale dans la fonction sans particularité traitement, le langage Python gère cette situation en générant automatiquement une variable locale avec le même nom que la variable globale appelée, ce qui signifie que la variable globale est protégée et que les opérations sur la variable n'affecteront pas la valeur de la variable globale. (Même si cela semble avoir changé)
Par exemple, dans le programme suivant, bien que la valeur de count soit modifiée dans la fonction, la valeur de count imprimée en dehors de la fonction est toujours 5.

count=5def Myfun():
     count=10
     print(count)
Myfun()
print(count)

Introduction Python base zéro à sept variables et fonctions intégrées

Si vous devez modifier la valeur d'une variable globale à l'intérieur de la fonction, vous pouvez utiliser le mot-clé global pour modifier la variable à l'intérieur de la fonction. Cela signifie que l'opération est une opération sur le. variable globale, plutôt que de générer une variable locale identique à la variable globale.

print("======使用global之后的变量======")
count=5def Myfun():
     global count#声明与赋值不能一块进行
     count=10
     print(count)
Myfun()
print(count)

2. Fonctions intégrées (internes)
En bref, une fonction intégrée est une fonction définie à l'intérieur d'une fonction
Il est à noter que : les fonctions internes ne peuvent être appelées qu'au sein d'une fonction externe. appelle, mais ne peut pas être appelé de l’extérieur. En d’autres termes, qui a le droit de l’utiliser et qui en est propriétaire.

print("======内部函数的使用======")def fun1():
     print("fun1()正在被调用")     def fun2():
          print("fun2()正在被调用")
     fun2()
fun1()

3. Fermeture
Une fermeture est le paramètre utilisé par une fonction intégrée pour appeler sa fonction externe.
Ce genre de fonction nécessite une attention particulière lors de son appel.

def funX(x):
     def funY(y):
          return x*y     return funY
print(funX(5)(8))

4. Problèmes de variables dans les fermetures
Le code suivant signalera une erreur lors de son exécution. Étant donné que les paramètres de la fonction externe sont appelés à l'intérieur de la fonction intégrée et que le paramètre x est une variable globale pour la fonction Fun2(), en raison de l'effet de blindage, une erreur de fonction se produit.

def Fun1():
     x=5
     def Fun2():
          x*=x          return x     return Fun2()#Fun1()

Introduction Python base zéro à sept variables et fonctions intégrées

Il existe deux façons de résoudre le problème ci-dessus :
L'une consiste à utiliser une structure de données non-pile pour résoudre le problème
L'autre est pour utiliser le mot-clé nonlocal Pour résoudre

#一种解决办法就是使用非栈存储,使用序列等来存储def Fun1():
     x=[5]     def Fun2():
          x[0]*=x[0]          return x[0]     return Fun2()
print(Fun1(),"\n")#在一种解决办法就是使用nonlocal关键字def Fun3():
     x=5
     def Fun4():
          nonlocal x
          x*=x          return x     return Fun4()
print(Fun3())

Introduction Python base zéro à sept variables et fonctions intégrées

, vous devez réfléchir attentivement aux variables de la fonction. Après tout, il existe certaines différences par rapport à ce que vous avez appris auparavant.

Ce qui précède est le contenu des sept variables et fonctions intégrées de l'introduction de base zéro de Python. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


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