Maison  >  Article  >  développement back-end  >  Comprendre les variables globales et les variables locales de Python

Comprendre les variables globales et les variables locales de Python

PHP中文网
PHP中文网original
2017-06-20 15:52:011505parcourir

Comprendre les variables globales et les variables locales de Python

1. Si le nom de la variable à l'intérieur de la fonction définie apparaît pour la première fois et précède le symbole =, il peut être considéré comme défini comme une variable locale. Dans ce cas, que le nom de la variable soit utilisé ou non dans la variable globale, la variable locale est utilisée dans la fonction. Par exemple :

# _*_ coding: utf-8 _*_
num = 110
def func():
    num = 1
    print(num)
func()
输出结果:1
# _*_ coding: utf-8 _*_
num = 110
def func():
    num += 1
    print(num)
func()
输出结果:

UnboundLocalError : variable locale 'num' référencée avant l'affectation

Message d'erreur : La variable locale num est appliquée avant l'affectation, c'est-à-dire qu'elle est utilisée sans définition de la variable Cela prouve une fois de plus qu'une variable locale est définie ici au lieu du numéro global utilisé.

Résumé : Si le nom de la variable à l'intérieur de la fonction apparaît pour la première fois et apparaît avant =, il est considéré comme définissant une variable locale .

2. Si le nom de la variable à l'intérieur de la fonction apparaît pour la première fois et apparaît après =, et que la variable a été définie dans le domaine global, la variable globale sera référencée ici si la variable n'existe pas. dans la définition du domaine global, il y aura bien sûr une erreur "la variable n'est pas définie". Par exemple :

# _*_ coding: utf-8 _*_
num = 110
def func():
    num1 = num +  1
    print(num1)
func()
输出结果:
111

3、函数中使用某个变量时,该变量名既有全局变量也有同名的局部变量,则会使用局部变量,例如:
# _*_ coding: utf-8 _*_
num = 110
def func():
    num = 200
    num1 = num +  1
    print(num1)
func()
输出结果:
201
4、在函数中,如果想给全局变量赋值,则需要用关键字global声明,例如:
# _*_ coding: utf-8 _*_
num = 100
def func():
    num = 300
    num1 = num +  1
    print(num1)
func()
print num
输出结果:

301<br>100

déclarer num :

# _*_ coding: utf-8 _*_
num = 100
def func():
    global  num
    num = 300
    num1 = num +  1
    print(num1)
func()
print num
输出结果:

301<br>300

de:

<br>

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