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

Portée des variables Python

silencement
Libérer: 2019-06-10 15:51:45
original
2920 Les gens l'ont consulté

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

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

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
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