Maison > développement back-end > Tutoriel Python > Variables et portée en Python

Variables et portée en Python

高洛峰
Libérer: 2017-02-28 17:00:15
original
1298 Les gens l'ont consulté

Introduction à la portée

Il existe 4 types de portée en python : L : local, portée locale, c'est-à-dire les variables définies dans la fonction

E : englobant, Le ; la portée locale de la fonction parent imbriquée est la portée locale de la fonction supérieure qui contient cette fonction, mais elle n'est pas globale

G : variables globales, qui sont des variables définies au niveau du module ; in, variables dans les modules fixes du système, tels que int, bytearray, etc. L'ordre de priorité des variables de recherche est : portée locale > portée externe > globale dans le module actuel > portée intégrée Python, qui est LEGB.


x = int(2.9) # int built-in
g_count = 0 # global
def outer():
o_count = 1 # enclosing
def inner():
i_count = 2 # local
Copier après la connexion


Bien sûr, local et englobant sont relatifs, et les variables englobantes sont également locales par rapport à la couche supérieure.


#定义变量a
>>> a = 0
>>> print a
0
#定义函数p()
>>> def p():
... print a
... 
>>> p()
0
#定义函数p2()
>>> def p2():
... print a
... a = 3
... print a
... 
>>> p2() # 运行出错,外部变量a先被引用,不能重新赋值
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "<interactive input>", line 2, in p2
UnboundLocalError: local variable 'a' referenced before assignment
#定义函数p3()
>>> def p3():
... a = 3 # 不引用直接赋值
... print a
... 
>>> p3()
3
>>> print a
0 # 外部变量a并未改变
Copier après la connexion


Ce qui précède est l'explication détaillée des variables et des portées en Python introduites par l'éditeur Si vous en avez. Si vous avez des questions, laissez-moi un message et je vous répondrai à temps. Je voudrais également vous remercier tous pour votre soutien au site Web PHP chinois !

Pour plus d'articles liés aux variables et à la portée en Python, veuillez faire attention au site Web PHP 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