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

Comprendre les variables globales et les variables locales de Python

PHP中文网
Libérer: 2017-06-20 15:52:01
original
1577 Les gens l'ont consulté

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
Copier après la connexion
# _*_ coding: utf-8 _*_
num = 110
def func():
    num += 1
    print(num)
func()
输出结果:
Copier après la connexion

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

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
Copier après la connexion
输出结果:
Copier après la connexion

301<br>300

de:

<br>
Copier après la connexion

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