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

巴扎黑
Libérer: 2017-09-19 11:06:28
original
1953 Les gens l'ont consulté

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)
Copier après la connexion

Résultat de sortie :

my name is PythonTab
my name is PythonTab.com
default
Copier après la connexion

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)
Copier après la connexion
 :

PythonTab.com
PythonTab.com
Copier après la connexion
Regardons

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

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


[&#39;Python&#39;,&#39;Tab&#39;,&#39;.com&#39;]
Copier après la connexion
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)
Copier après la connexion
Résultat de sortie :

[]
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
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