Maison >développement back-end >Tutoriel Python >Explication détaillée des difficultés liées à l'utilisation de variables locales et de variables globales en Python
Variables locales : variables définies dans une fonction, leur portée est la fonction actuelle, et elles ne fonctionnent que sur la fonction actuelle.
Variables globales : variables définies au début du code, la portée est l'ensemble du code, et cela affecte l'ensemble du code.
Regardez d'abord les exemples suivants, et enfin donnez une conclusion.
name = 'PythonTab' def func1(): print('my name is %s' %(name)) name = 'PythonTab.com' print('my name is %s' %(name)) func1() print(name)
Résultat de sortie :
my name is PythonTab my name is PythonTab.com default
Conclusion : lorsque les variables globales et les variables locales sont identiques, les variables locales sont utilisées en premier dans la fonction s'il n'y en a pas. variables, des variables globales sont utilisées.
Si nous voulons que les variables locales aient un effet sur les variables globales à l'intérieur de la fonction, nous pouvons utiliser gloobl dans la fonction. Regardons le résultat de sortie de
<.>name = 'default' def func2(): global name name = 'PythonTab.com' print(name) func2() print(name):
PythonTab.com PythonTab.comRegardons
nameList =['Python','Tab','.com'] def func3(): nameList[0] = 'python' func3() print(nameList)Résultats de sortie :
['python','Tab','.com']
nameList =['Python','Tab','.com'] def func4(): nameList = [] func4() print(nameList)Résultats de sortie :
['python','Tab','.com']Ici, vous pouvez voir que la variable globale nameList a changé, global n'est pas appelé à l'intérieur de la fonction, mais la variable globale est modifiée. Car en python, si vous modifiez uniquement la valeur des éléments d'une liste, d'un dictionnaire, etc., vous n'avez pas besoin de glob. Si vous souhaitez modifier la liste entière, vous devez avoir glob.
nameList =['Python','Tab','.com'] def func5(): gloabl nameList nameList = [] func5() print(nameList)Résultat de sortie :
[]Résumé : Les fonctions locales n'agissent qu'au sein de cette fonction, et les fonctions globales agissent sur l'ensemble du code si vous souhaitez modifier la valeur des variables globales. dans la fonction, , en utilisant glob. Si vous modifiez uniquement une certaine valeur dans une liste, un dictionnaire, etc., vous pouvez modifier les variables globales sans global.
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!