Maison >développement back-end >Tutoriel Python >Portée des variables Python

Portée des variables Python

silencement
silencementoriginal
2019-06-10 15:51:452919parcourir

Portée des variables Python

Portée de la variable :

Généralement, les variables définies en dehors de la fonction deviennent des variables globales, et les variables définies à l'intérieur de la fonction sont appelées variables locales.

Les variables globales sont lisibles dans toutes les portées, les variables locales ne peuvent être lues que dans cette fonction

Lorsque la fonction lit des variables, elle lit d'abord les variables locales de la fonction elle-même, puis passe à Lire les variables globales

Variables globales

lire, toutes peuvent lire

affectation, global

dictionnaire, la liste peut être modifiée

Les variables globales sont en majuscules

Par exemple,

name = 'Tim' #全局变量

def f1():
    age = 18 #局部变量
    print(age,name)

def f2():
    age=19 #局部变量
    print(age,name)

f1()
f2()
>>>
18 Tim
19 Tim

Les variables globales peuvent également être définies à l'intérieur d'une fonction :

name = 'Tim' #全局变量

def f1():
    age = 18 #局部变量
    global name #定义全局变量
    name = 'Eric'
    print(age,name)
f1()
print(name)

Variables globales sont lisibles par défaut et peuvent être modifiés si nécessaire La valeur d'une variable globale doit être définie en utilisant global à l'intérieur de la fonction

Spécial : liste, dictionnaire, peuvent être modifiés, mais ne peuvent pas être réaffectés si nécessaire. être réaffectée, la variable globale doit être définie en utilisant global à l'intérieur de la fonction

NAME = ['Tim','mike'] #全局变量
NAME1 = ['Eric','Jeson'] #全局变量
NAME3 = ['Tom','jane'] #全局变量

def f1():
    NAME.append('Eric') #列表的append方法可改变外部全局变量的值
    print('函数内NAME: %s'%NAME)
    NAME1 = '123' #重新赋值不可改变外部全局变量的值
    print('函数内NAME1: %s'%NAME1)
    global NAME3 #如果需要重新给列表赋值,需要使用global定义全局变量
    NAME3 = '123'
    print('函数内NAME3: %s'%NAME3)
f1()
print('函数外NAME: %s'%NAME)
print('函数外NAME1: %s'%NAME1)
print('函数外NAME3: %s'%NAME3)
>>>
函数内NAME: ['Tim', 'mike', 'Eric']
函数内NAME1: 123
函数内NAME3: 123
函数外NAME: ['Tim', 'mike', 'Eric']
函数外NAME1: ['Eric', 'Jeson']
函数外NAME3: 123

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