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

Explication détaillée des difficultés liées à l'utilisation de variables locales et de variables globales en Python

巴扎黑
巴扎黑original
2017-09-19 11:06:281915parcourir

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 = &#39;default&#39;
def func2():
    global name
    name = &#39;PythonTab.com&#39;
    print(name)
func2()
print(name)
 :

PythonTab.com
PythonTab.com
Regardons

nameList =[&#39;Python&#39;,&#39;Tab&#39;,&#39;.com&#39;]
def func3():
    nameList[0] = &#39;python&#39;
func3()
print(nameList)
Résultats de sortie :

[&#39;python&#39;,&#39;Tab&#39;,&#39;.com&#39;]
nameList =[&#39;Python&#39;,&#39;Tab&#39;,&#39;.com&#39;]
def func4():
    nameList = []
func4()
print(nameList)
Résultats de sortie :


[&#39;python&#39;,&#39;Tab&#39;,&#39;.com&#39;]
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 =[&#39;Python&#39;,&#39;Tab&#39;,&#39;.com&#39;]
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!

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